1 #pragma once 2 #include "types.h" 3 4 /* Message boolean macros */ 5 #define SUCCESS 1 6 #define FAILURE 0 7 8 /* Defined context values */ 9 const uint32_t STATESERVER_CONTEXT_WAKE_CHILDREN = 1001; 10 11 /* Msgtype limits enum */ 12 enum MsgtypeRanges { 13 // Control range 14 CONTROL_MSGTYPE_MIN = 9000, 15 CONTROL_MSGTYPE_MAX = 9999, 16 // ClientAgent range 17 CLIENTAGENT_MSGTYPE_MIN = 1000, 18 CLIENTAGENT_MSGTYPE_MAX = 1999, 19 // StateServer range 20 STATESERVER_MSGTYPE_MIN = 2000, 21 STATESERVER_MSGTYPE_MAX = 2999, 22 // DatabaseServer range 23 DBSERVER_MSGTYPE_MIN = 3000, 24 DBSERVER_MSGTYPE_MAX = 3999, 25 }; 26 27 /* Message type definitions */ 28 enum MessageTypes { 29 // Reserved 30 RESERVED_MSG_TYPE = 0, 31 32 // Control messages 33 CONTROL_ADD_CHANNEL = 9000, 34 CONTROL_REMOVE_CHANNEL = 9001, 35 CONTROL_ADD_RANGE = 9002, 36 CONTROL_REMOVE_RANGE = 9003, 37 CONTROL_ADD_POST_REMOVE = 9010, 38 CONTROL_CLEAR_POST_REMOVES = 9011, 39 CONTROL_SET_CON_NAME = 9012, 40 CONTROL_SET_CON_URL = 9013, 41 CONTROL_LOG_MESSAGE = 9014, 42 43 // ClientAgent messages 44 CLIENTAGENT_SET_STATE = 1000, 45 CLIENTAGENT_SET_CLIENT_ID = 1001, 46 CLIENTAGENT_SEND_DATAGRAM = 1002, 47 CLIENTAGENT_EJECT = 1004, 48 CLIENTAGENT_DROP = 1005, 49 CLIENTAGENT_GET_NETWORK_ADDRESS = 1006, 50 CLIENTAGENT_GET_NETWORK_ADDRESS_RESP = 1007, 51 CLIENTAGENT_DECLARE_OBJECT = 1010, 52 CLIENTAGENT_UNDECLARE_OBJECT = 1011, 53 CLIENTAGENT_ADD_SESSION_OBJECT = 1012, 54 CLIENTAGENT_REMOVE_SESSION_OBJECT = 1013, 55 CLIENTAGENT_SET_FIELDS_SENDABLE = 1014, 56 CLIENTAGENT_GET_TLVS = 1015, 57 CLIENTAGENT_GET_TLVS_RESP = 1016, 58 CLIENTAGENT_OPEN_CHANNEL = 1100, 59 CLIENTAGENT_CLOSE_CHANNEL = 1101, 60 CLIENTAGENT_ADD_POST_REMOVE = 1110, 61 CLIENTAGENT_CLEAR_POST_REMOVES = 1111, 62 CLIENTAGENT_ADD_INTEREST = 1200, 63 CLIENTAGENT_ADD_INTEREST_MULTIPLE = 1201, 64 CLIENTAGENT_REMOVE_INTEREST = 1203, 65 CLIENTAGENT_DONE_INTEREST_RESP = 1204, 66 67 // StateServer control messages 68 STATESERVER_CREATE_OBJECT_WITH_REQUIRED = 2000, 69 STATESERVER_CREATE_OBJECT_WITH_REQUIRED_OTHER = 2001, 70 STATESERVER_DELETE_AI_OBJECTS = 2009, 71 // StateServer object messages 72 STATESERVER_OBJECT_GET_FIELD = 2010, 73 STATESERVER_OBJECT_GET_FIELD_RESP = 2011, 74 STATESERVER_OBJECT_GET_FIELDS = 2012, 75 STATESERVER_OBJECT_GET_FIELDS_RESP = 2013, 76 STATESERVER_OBJECT_GET_ALL = 2014, 77 STATESERVER_OBJECT_GET_ALL_RESP = 2015, 78 STATESERVER_OBJECT_SET_FIELD = 2020, 79 STATESERVER_OBJECT_SET_FIELDS = 2021, 80 STATESERVER_OBJECT_DELETE_FIELD_RAM = 2030, 81 STATESERVER_OBJECT_DELETE_FIELDS_RAM = 2031, 82 STATESERVER_OBJECT_DELETE_RAM = 2032, 83 // StateServer visibility messages 84 STATESERVER_OBJECT_SET_LOCATION = 2040, 85 STATESERVER_OBJECT_CHANGING_LOCATION = 2041, 86 STATESERVER_OBJECT_ENTER_LOCATION_WITH_REQUIRED = 2042, 87 STATESERVER_OBJECT_ENTER_LOCATION_WITH_REQUIRED_OTHER = 2043, 88 STATESERVER_OBJECT_GET_LOCATION = 2044, 89 STATESERVER_OBJECT_GET_LOCATION_RESP = 2045, 90 STATESERVER_OBJECT_LOCATION_ACK = 2046, 91 STATESERVER_OBJECT_SET_AI = 2050, 92 STATESERVER_OBJECT_CHANGING_AI = 2051, 93 STATESERVER_OBJECT_ENTER_AI_WITH_REQUIRED = 2052, 94 STATESERVER_OBJECT_ENTER_AI_WITH_REQUIRED_OTHER = 2053, 95 STATESERVER_OBJECT_GET_AI = 2054, 96 STATESERVER_OBJECT_GET_AI_RESP = 2055, 97 STATESERVER_OBJECT_SET_OWNER = 2060, 98 STATESERVER_OBJECT_CHANGING_OWNER = 2061, 99 STATESERVER_OBJECT_ENTER_OWNER_WITH_REQUIRED = 2062, 100 STATESERVER_OBJECT_ENTER_OWNER_WITH_REQUIRED_OTHER = 2063, 101 STATESERVER_OBJECT_GET_OWNER = 2064, 102 STATESERVER_OBJECT_GET_OWNER_RESP = 2065, 103 STATESERVER_OBJECT_ENTER_INTEREST_WITH_REQUIRED = 2066, 104 STATESERVER_OBJECT_ENTER_INTEREST_WITH_REQUIRED_OTHER = 2067, 105 // StateServer parent-method messages 106 STATESERVER_OBJECT_GET_ZONE_OBJECTS = 2100, 107 STATESERVER_OBJECT_GET_ZONES_OBJECTS = 2102, 108 STATESERVER_OBJECT_GET_CHILDREN = 2104, 109 STATESERVER_OBJECT_GET_ZONE_COUNT = 2110, 110 STATESERVER_OBJECT_GET_ZONE_COUNT_RESP = 2111, 111 STATESERVER_OBJECT_GET_ZONES_COUNT = 2112, 112 STATESERVER_OBJECT_GET_ZONES_COUNT_RESP = 2113, 113 STATESERVER_OBJECT_GET_CHILD_COUNT = 2114, 114 STATESERVER_OBJECT_GET_CHILD_COUNT_RESP = 2115, 115 STATESERVER_OBJECT_DELETE_ZONE = 2120, 116 STATESERVER_OBJECT_DELETE_ZONES = 2122, 117 STATESERVER_OBJECT_DELETE_CHILDREN = 2124, 118 STATESERVER_GET_ACTIVE_ZONES = 2125, 119 STATESERVER_GET_ACTIVE_ZONES_RESP = 2126, 120 // DBSS object messages 121 DBSS_OBJECT_ACTIVATE_WITH_DEFAULTS = 2200, 122 DBSS_OBJECT_ACTIVATE_WITH_DEFAULTS_OTHER = 2201, 123 DBSS_OBJECT_GET_ACTIVATED = 2207, 124 DBSS_OBJECT_GET_ACTIVATED_RESP = 2208, 125 DBSS_OBJECT_DELETE_FIELD_RAM = 2230, 126 DBSS_OBJECT_DELETE_FIELDS_RAM = 2231, 127 DBSS_OBJECT_DELETE_DISK = 2232, 128 129 // DatabaseServer messages 130 DBSERVER_CREATE_OBJECT = 3000, 131 DBSERVER_CREATE_OBJECT_RESP = 3001, 132 DBSERVER_OBJECT_GET_FIELD = 3010, 133 DBSERVER_OBJECT_GET_FIELD_RESP = 3011, 134 DBSERVER_OBJECT_GET_FIELDS = 3012, 135 DBSERVER_OBJECT_GET_FIELDS_RESP = 3013, 136 DBSERVER_OBJECT_GET_ALL = 3014, 137 DBSERVER_OBJECT_GET_ALL_RESP = 3015, 138 DBSERVER_OBJECT_SET_FIELD = 3020, 139 DBSERVER_OBJECT_SET_FIELDS = 3021, 140 DBSERVER_OBJECT_SET_FIELD_IF_EQUALS = 3022, 141 DBSERVER_OBJECT_SET_FIELD_IF_EQUALS_RESP = 3023, 142 DBSERVER_OBJECT_SET_FIELDS_IF_EQUALS = 3024, 143 DBSERVER_OBJECT_SET_FIELDS_IF_EQUALS_RESP = 3025, 144 DBSERVER_OBJECT_SET_FIELD_IF_EMPTY = 3026, 145 DBSERVER_OBJECT_SET_FIELD_IF_EMPTY_RESP = 3027, 146 DBSERVER_OBJECT_DELETE_FIELD = 3030, 147 DBSERVER_OBJECT_DELETE_FIELDS = 3031, 148 DBSERVER_OBJECT_DELETE = 3032, 149 }; 150