26 IRSSMT_RegisterClient = 1,
30 IRSSMT_UnregisterClient = 2,
35 IRSSMT_RegisterRepeater = 3,
39 IRSSMT_UnregisterRepeater = 4,
58 IRSSMT_ServerShutdown = 8,
62 IRSSMT_ServerSuspend = 9,
66 IRSSMT_ServerResume = 10,
71 IRSSMT_RemoteEvent = 11,
75 IRSSMT_KeyboardEvent = 12,
79 IRSSMT_MouseEvent = 13,
84 IRSSMT_ForwardRemoteEvent = 14,
88 IRSSMT_ForwardKeyboardEvent = 15,
92 IRSSMT_ForwardMouseEvent = 16,
97 IRSSMT_AvailableReceivers = 17,
101 IRSSMT_AvailableBlasters = 18,
105 IRSSMT_ActiveReceivers = 19,
109 IRSSMT_ActiveBlasters = 20,
113 IRSSMT_DetectedReceivers = 21,
117 IRSSMT_DetectedBlasters = 22,
123 enum IRSS_MessageFlags
128 IRSSMF_None = 0x0000,
133 IRSSMF_Request = 0x0001,
137 IRSSMF_Response = 0x0002,
141 IRSSMF_Notify = 0x0004,
146 IRSSMF_Success = 0x0008,
150 IRSSMF_Failure = 0x0010,
154 IRSSMF_Timeout = 0x0020,
166 IRSSMF_ForceNotRespond = 0x0400,
174 CIrssMessage(IRSS_MessageType type, uint32_t flags,
char* data,
int size);
175 CIrssMessage(IRSS_MessageType type, uint32_t flags,
const std::string& data);
178 void SetDataAsBytes(
char* data,
int size);
179 void SetDataAsString(
const std::string& data);
180 char* ToBytes(
int& size);
181 void SetType(IRSS_MessageType type);
182 void SetFlags(uint32_t flags);
183 IRSS_MessageType GetType() {
return m_type;}
184 uint32_t GetFlags() {
return m_flags;}
185 char* GetData() {
return m_data;}
186 uint32_t GetDataSize() {
return m_dataSize;}
187 static bool FromBytes(
char* from,
int size,
CIrssMessage& message);
190 IRSS_MessageType m_type;