TDME2  1.9.200
ServerRequest.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
5 #include <tdme/tdme.h>
9 
10 using std::string;
11 
13 
14 namespace tdme {
15 namespace network {
16 namespace udpserver {
17 
18 class ServerClient;
19 
20 /**
21  * @brief Server request bean
22  * @author Andreas Drewke
23  */
24 class ServerRequest final {
25 
26 public:
27  enum RequestType {
35  };
36  static const uint32_t MESSAGE_ID_UNSUPPORTED = 0;
37  static const uint8_t MESSAGE_RETRIES_NONE = 0;
38  static const string EVENT_CUSTOM_NONE;
39 
40  // forbid class copy
42 
43  /**
44  * @brief Public constructor
45  * @param requestType request type
46  * @param object object
47  * @param custom custom event type if any
48  * @param messagePacket request message packet
49  * @param messageId message id (udp server only)
50  * @param messageRetries message retries (udp server only)
51  */
52  inline ServerRequest(const RequestType requestType, void* object, const string& custom = EVENT_CUSTOM_NONE, const UDPPacket* messagePacket = nullptr, const uint32_t messageId = MESSAGE_ID_UNSUPPORTED, const uint8_t messageRetries = MESSAGE_RETRIES_NONE) :
54  //
55  }
56 
57  /**
58  * @brief Public destructor
59  */
60  inline ~ServerRequest() {
61  }
62 
63  /**
64  * @brief Returns the request type
65  * @return request type
66  */
67  inline const RequestType getRequestType() {
68  return requestType;
69  }
70 
71  /**
72  * @brief Returns the associated object
73  * @return client
74  */
75  inline void* getObject() {
76  return object;
77  }
78 
79  /**
80  * @return custom event name
81  */
82  inline const string& getCustomEvent() {
83  return customEvent;
84  }
85 
86  /**
87  * @brief Returns the associated request message packet
88  * @return UDP server packet
89  */
90  inline const UDPPacket* getMessagePacket() {
91  return messagePacket;
92  }
93 
94  /**
95  * @brief Returns associated message id (udp server only)
96  * @return message id
97  */
98  inline const uint32_t getMessageId() {
99  return messageId;
100  }
101 
102  /**
103  * @brief Returns number of message retries (udp server only)
104  * @return retries
105  */
106  inline const uint8_t getMessageRetries() {
107  return messageRetries;
108  }
109 
110 private:
112  void* object;
113  string customEvent;
115  uint32_t messageId;
116  uint8_t messageRetries;
117 };
118 
119 };
120 };
121 };
const uint32_t getMessageId()
Returns associated message id (udp server only)
Definition: ServerRequest.h:98
const RequestType getRequestType()
Returns the request type.
Definition: ServerRequest.h:67
static const uint32_t MESSAGE_ID_UNSUPPORTED
Definition: ServerRequest.h:36
static const uint8_t MESSAGE_RETRIES_NONE
Definition: ServerRequest.h:37
const UDPPacket * getMessagePacket()
Returns the associated request message packet.
Definition: ServerRequest.h:90
void * getObject()
Returns the associated object.
Definition: ServerRequest.h:75
const uint8_t getMessageRetries()
Returns number of message retries (udp server only)
Definition: fwd-tdme.h:4
#define FORBID_CLASS_COPY(CLASS)
Definition: tdme.h:6