zdk.net
CallsProvider.h
1 //
2 // CallsProvider.h
3 // ZDK
4 //
5 
6 #ifndef ZDK_NET_CallsProvider_h
7 #define ZDK_NET_CallsProvider_h
8 
9 #include "native_shared_ptr.h"
10 #include "PublicInterfaces.h"
11 #include "Call.h"
12 #include "ActiveCallChange.h"
13 #include "CallsProviderEventsHandler.h"
14 #include "ZHandle.h"
15 
16 using namespace System::Collections::Generic;
17 
18 namespace ZDK_NET
19 {
20  ref class Call;
21  ref class CallsProviderEventsHandler;
22 
25  public ref class CallsProvider : ZHandle
26  {
27  private:
28  //LISTENERS:
29  static GeneralStatusEventListener *CallsProviderEventsHandler_Listener = nullptr;
30 
31  static bool RegisterEventListeners()
32  {
33  std::shared_ptr<GeneralStatusEventListener> CallsProviderEventsHandler_Listener_tmp = std::make_shared<GeneralStatusEventListener>();
34  CallsProviderEventsHandler_Listener = CallsProviderEventsHandler_Listener_tmp.get();
35  listenersMap->try_emplace(reinterpret_cast<intptr_t>(CallsProviderEventsHandler_Listener), std::move(CallsProviderEventsHandler_Listener_tmp));
36  return true;
37  }
38 
39  static bool RegisteredEventListeners = RegisterEventListeners();
40  public:
41  ZDK::ICallsProvider* cppRef = nullptr;
42 
43  CallsProvider(ZDK::Shared::CallsProvider src);
44  ~CallsProvider();
46 
53  property ZDK_NET::Call^ ActiveCall
54  {
55  ZDK_NET::Call^ get();
56  }
57 
64  property List<Call^>^ Calls
65  {
66  List<Call^>^ get();
67  }
68 
73  property int CallsCount
74  {
75  int get();
76  }
77 
87  void SetActiveCall(ZDK_NET::Call^ call, ZDK_NET::ActiveCallChange callChange);
88 
100  ZDK_NET::Call^ CreateCallWithDefaultAccount(System::String^ calleeNumber, bool video);
101 
111 
121 
122  virtual long long Handle() override;
123 
124  virtual void Initialize() override;
125 
126  virtual void ReleaseReference() override;
127 
128  };
129 }
130 
131 #endif
ZDK_NET::CallsProviderEventsHandler
Definition: CallsProviderEventsHandler.h:51
ZDK_NET::CallsProvider::AddActiveCallListener
void AddActiveCallListener(ZDK_NET::CallsProviderEventsHandler^ value)
Adds a new calls provider event listener.
GeneralStatusEventListener
Definition: GeneralStatusEventListener.h:90
ZDK_NET::CallsProvider::DropActiveCallListener
void DropActiveCallListener(ZDK_NET::CallsProviderEventsHandler^ value)
Removes a specific already added calls provider event listener.
ZDK_NET::Call
Definition: Call.h:40
ZDK_NET::CallsProvider
Active calls information provider.
Definition: CallsProvider.h:26
ZDK_NET::CallsProvider::SetActiveCall
void SetActiveCall(ZDK_NET::Call^ call, ZDK_NET::ActiveCallChange callChange)
Sets the currently active call and specifies what to happen with all the rest calls (if any)
ZDK_NET::ZHandle
Definition: ZHandle.h:18
ZDK_NET::CallsProvider::CreateCallWithDefaultAccount
ZDK_NET::Call ^ CreateCallWithDefaultAccount(System::String^ calleeNumber, bool video)
Creates a call with the default account.