RoomTypes.cpp 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /*
  2. * Copyright (c) 2014, Oculus VR, Inc.
  3. * All rights reserved.
  4. *
  5. * This source code is licensed under the BSD-style license found in the
  6. * LICENSE file in the root directory of this source tree. An additional grant
  7. * of patent rights can be found in the PATENTS file in the same directory.
  8. *
  9. */
  10. #include "RoomTypes.h"
  11. const char *RoomMemberModeToEnum(RoomMemberMode e)
  12. {
  13. switch (e)
  14. {
  15. case RMM_MODERATOR:
  16. return "RMM_MODERATOR";
  17. case RMM_PUBLIC:
  18. return "RMM_PUBLIC";
  19. case RMM_RESERVED:
  20. return "RMM_RESERVED";
  21. case RMM_SPECTATOR_PUBLIC:
  22. return "RMM_SPECTATOR_PUBLIC";
  23. case RMM_SPECTATOR_RESERVED:
  24. return "RMM_SPECTATOR_RESERVED";
  25. case RMM_ANY_PLAYABLE:
  26. return "RMM_ANY_PLAYABLE";
  27. case RMM_ANY_SPECTATOR:
  28. return "RMM_ANY_SPECTATOR";
  29. }
  30. return "Error in RoomMemberModeToEnum";
  31. }
  32. static DefaultRoomColumns defaultRoomColumns[DefaultRoomColumns::TC_TABLE_COLUMNS_COUNT] =
  33. {
  34. {DefaultRoomColumns::TC_TITLE_NAME, "Title name", DataStructures::Table::STRING},
  35. {DefaultRoomColumns::TC_TITLE_ID, "Title id", DataStructures::Table::NUMERIC},
  36. {DefaultRoomColumns::TC_ROOM_NAME, "Room name", DataStructures::Table::STRING},
  37. {DefaultRoomColumns::TC_ROOM_ID, "Room id", DataStructures::Table::NUMERIC},
  38. {DefaultRoomColumns::TC_TOTAL_SLOTS, "Total slots", DataStructures::Table::NUMERIC},
  39. {DefaultRoomColumns::TC_TOTAL_PUBLIC_PLUS_RESERVED_SLOTS, "Total Public plus reserved slots", DataStructures::Table::NUMERIC},
  40. {DefaultRoomColumns::TC_USED_SLOTS, "Used slots", DataStructures::Table::NUMERIC},
  41. {DefaultRoomColumns::TC_USED_PUBLIC_PLUS_RESERVED_SLOTS, "Used public plus reserved slots", DataStructures::Table::NUMERIC},
  42. {DefaultRoomColumns::TC_REMAINING_SLOTS, "Remaining slots", DataStructures::Table::NUMERIC},
  43. {DefaultRoomColumns::TC_REMAINING_PUBLIC_PLUS_RESERVED_SLOTS, "Remaining public plus reserved slots", DataStructures::Table::NUMERIC},
  44. {DefaultRoomColumns::TC_TOTAL_PUBLIC_SLOTS, "Total public slots", DataStructures::Table::NUMERIC},
  45. {DefaultRoomColumns::TC_TOTAL_RESERVED_SLOTS, "Total reserved slots", DataStructures::Table::NUMERIC},
  46. {DefaultRoomColumns::TC_TOTAL_SPECTATOR_SLOTS, "Total spectator slots", DataStructures::Table::NUMERIC},
  47. {DefaultRoomColumns::TC_USED_PUBLIC_SLOTS, "Used public slots", DataStructures::Table::NUMERIC},
  48. {DefaultRoomColumns::TC_USED_RESERVED_SLOTS, "Used reserved slots", DataStructures::Table::NUMERIC},
  49. {DefaultRoomColumns::TC_USED_SPECTATOR_SLOTS, "Used spectator slots", DataStructures::Table::NUMERIC},
  50. {DefaultRoomColumns::TC_REMAINING_PUBLIC_SLOTS, "Remaining public slots", DataStructures::Table::NUMERIC},
  51. {DefaultRoomColumns::TC_REMAINING_RESERVED_SLOTS, "Remaining reserved slots", DataStructures::Table::NUMERIC},
  52. {DefaultRoomColumns::TC_REMAINING_SPECTATOR_SLOTS, "Remaining spectator slots", DataStructures::Table::NUMERIC},
  53. {DefaultRoomColumns::TC_CREATION_TIME, "Creation time", DataStructures::Table::NUMERIC},
  54. {DefaultRoomColumns::TC_DESTROY_ON_MODERATOR_LEAVE, "Destroy on moderator leave", DataStructures::Table::NUMERIC},
  55. {DefaultRoomColumns::TC_LOBBY_ROOM_PTR, "Lobby room ptr [Internal]", DataStructures::Table::POINTER},
  56. };
  57. const char *DefaultRoomColumns::GetColumnName(int columnId) {return defaultRoomColumns[columnId].columnName;}
  58. DataStructures::Table::ColumnType DefaultRoomColumns::GetColumnType(int columnId) {return defaultRoomColumns[columnId].columnType;}
  59. bool DefaultRoomColumns::HasColumnName(const char *columnName)
  60. {
  61. unsigned i;
  62. for (i=0; i < TC_TABLE_COLUMNS_COUNT; i++)
  63. if (strcmp(columnName,GetColumnName(i))==0)
  64. return true;
  65. return false;
  66. }
  67. int DefaultRoomColumns::GetColumnIndex(const char *columnName)
  68. {
  69. unsigned i;
  70. for (i=0; i < TC_TABLE_COLUMNS_COUNT; i++)
  71. if (strcmp(columnName,GetColumnName(i))==0)
  72. return i;
  73. return -1;
  74. }
  75. void DefaultRoomColumns::AddDefaultColumnsToTable(DataStructures::Table *table)
  76. {
  77. unsigned i;
  78. for (i=0; i < DefaultRoomColumns::TC_TABLE_COLUMNS_COUNT; i++)
  79. table->AddColumn(DefaultRoomColumns::GetColumnName(i), DefaultRoomColumns::GetColumnType(i));
  80. }
  81. bool DefaultRoomColumns::HasDefaultColumns(DataStructures::Table *table)
  82. {
  83. unsigned i;
  84. for (i=0; i < DefaultRoomColumns::TC_TABLE_COLUMNS_COUNT; i++)
  85. {
  86. if (table->ColumnIndex(DefaultRoomColumns::GetColumnName(i))!=-1)
  87. return true;
  88. }
  89. return false;
  90. }
粤ICP备19079148号