zdk.net
DNSRequest.h
1 //
2 // DNSRequest.h
3 // ZDK
4 //
5 
6 #ifndef ZDK_NET_DNSRequest_h
7 #define ZDK_NET_DNSRequest_h
8 
9 #include "native_shared_ptr.h"
10 #include "PublicInterfaces.h"
11 #include "DNSRequestEventsHandler.h"
12 #include "Result.h"
13 #include "ZHandle.h"
14 
15 using namespace System::Collections::Generic;
16 
17 namespace ZDK_NET
18 {
19  ref class DNSRequestEventsHandler;
20  ref class Result;
21 
22  public ref class DNSRequest : ZHandle
23  {
24  private:
25  //LISTENERS:
26  static GeneralStatusEventListener *DNSRequestEventsHandler_Listener = nullptr;
27 
28  static bool RegisterEventListeners()
29  {
30  std::shared_ptr<GeneralStatusEventListener> DNSRequestEventsHandler_Listener_tmp = std::make_shared<GeneralStatusEventListener>();
31  DNSRequestEventsHandler_Listener = DNSRequestEventsHandler_Listener_tmp.get();
32  listenersMap->try_emplace(reinterpret_cast<intptr_t>(DNSRequestEventsHandler_Listener), std::move(DNSRequestEventsHandler_Listener_tmp));
33  return true;
34  }
35 
36  static bool RegisteredEventListeners = RegisterEventListeners();
37  public:
38  ZDK::IDNSRequest* cppRef = nullptr;
39 
40  DNSRequest(ZDK::Shared::DNSRequest src);
41  ~DNSRequest();
43 
48  property long long DNSRequestHandle
49  {
50  long long get();
51  }
52 
57  property System::String^ Query
58  {
59  System::String^ get();
60  }
61 
70  ZDK_NET::Result^ Start(System::String^ query);
71 
79 
87 
88  virtual long long Handle() override;
89 
90  virtual void Initialize() override;
91 
92  virtual void ReleaseReference() override;
93 
94  };
95 }
96 
97 #endif
ZDK_NET::Result
API invocation status result.
Definition: Result.h:24
ZDK_NET::DNSRequest::SetStatusEventListener
void SetStatusEventListener(ZDK_NET::DNSRequestEventsHandler^ value)
Set dns request events listener.
ZDK_NET::DNSRequest::DropStatusEventListener
void DropStatusEventListener(ZDK_NET::DNSRequestEventsHandler^ value)
Drop dns request events listener.
GeneralStatusEventListener
Definition: GeneralStatusEventListener.h:90
ZDK_NET::DNSRequest
Definition: DNSRequest.h:23
ZDK_NET::DNSRequest::Start
ZDK_NET::Result ^ Start(System::String^ query)
Start a DNS request.
ZDK_NET::DNSRequestEventsHandler
Definition: DNSRequestEventsHandler.h:39
ZDK_NET::ZHandle
Definition: ZHandle.h:18