zdk.net
Message.h
1 //
2 // Message.h
3 // ZDK
4 //
5 
6 #ifndef ZDK_NET_Message_h
7 #define ZDK_NET_Message_h
8 
9 #include "native_shared_ptr.h"
10 #include "PublicInterfaces.h"
11 #include "MessageType.h"
12 #include "MessageEventsHandler.h"
13 #include "Result.h"
14 #include "ZHandle.h"
15 
16 using namespace System::Collections::Generic;
17 
18 namespace ZDK_NET
19 {
20  ref class MessageEventsHandler;
21  ref class Result;
22 
23  public ref class Message : ZHandle
24  {
25  private:
26  //LISTENERS:
27  static GeneralStatusEventListener *MessageEventsHandler_Listener = nullptr;
28 
29  static bool RegisterEventListeners()
30  {
31  std::shared_ptr<GeneralStatusEventListener> MessageEventsHandler_Listener_tmp = std::make_shared<GeneralStatusEventListener>();
32  MessageEventsHandler_Listener = MessageEventsHandler_Listener_tmp.get();
33  listenersMap->try_emplace(reinterpret_cast<intptr_t>(MessageEventsHandler_Listener), std::move(MessageEventsHandler_Listener_tmp));
34  return true;
35  }
36 
37  static bool RegisteredEventListeners = RegisterEventListeners();
38  public:
39  ZDK::IMessage* cppRef = nullptr;
40 
41  Message(ZDK::Shared::Message src);
42  ~Message();
43  !Message();
44 
50  property long long MessageHandle
51  {
52  long long get();
53  }
54 
62  property ZDK_NET::MessageType Type
63  {
64  ZDK_NET::MessageType get();
65  }
66 
72  property System::String^ Peer
73  {
74  System::String^ get();
75  void set(System::String^ value);
76  }
77 
83  property System::String^ Content
84  {
85  System::String^ get();
86  void set(System::String^ value);
87  }
88 
95 
102 
109 
110  virtual long long Handle() override;
111 
112  virtual void Initialize() override;
113 
114  virtual void ReleaseReference() override;
115 
116  };
117 }
118 
119 #endif
ZDK_NET::Result
API invocation status result.
Definition: Result.h:24
ZDK_NET::Message::SetMessageEventListener
void SetMessageEventListener(ZDK_NET::MessageEventsHandler^ value)
Sets a message event listener.
ZDK_NET::Message
Definition: Message.h:24
GeneralStatusEventListener
Definition: GeneralStatusEventListener.h:90
ZDK_NET::Message::DropMessageEventListener
void DropMessageEventListener(ZDK_NET::MessageEventsHandler^ value)
Drops a message event listener.
ZDK_NET::Message::SendMessage
ZDK_NET::Result ^ SendMessage()
Sends the message.
ZDK_NET::MessageEventsHandler
Definition: MessageEventsHandler.h:47
ZDK_NET::ZHandle
Definition: ZHandle.h:18