zdk.net
ConferenceProvider.h
1 //
2 // ConferenceProvider.h
3 // ZDK
4 //
5 
6 #ifndef ZDK_NET_ConferenceProvider_h
7 #define ZDK_NET_ConferenceProvider_h
8 
9 #include "native_shared_ptr.h"
10 #include "PublicInterfaces.h"
11 #include "Conference.h"
12 #include "BrandingInfo.h"
13 #include "Call.h"
14 #include "ConferenceProviderEventsHandler.h"
15 #include "ZHandle.h"
16 
17 using namespace System::Collections::Generic;
18 
19 namespace ZDK_NET
20 {
21  ref class BrandingInfo;
22  ref class Call;
23  ref class ConferenceProviderEventsHandler;
24  ref class Conference;
25 
28  public ref class ConferenceProvider : ZHandle
29  {
30  private:
31  //LISTENERS:
32  static GeneralStatusEventListener *ConferenceProviderEventsHandler_Listener = nullptr;
33 
34  static bool RegisterEventListeners()
35  {
36  std::shared_ptr<GeneralStatusEventListener> ConferenceProviderEventsHandler_Listener_tmp = std::make_shared<GeneralStatusEventListener>();
37  ConferenceProviderEventsHandler_Listener = ConferenceProviderEventsHandler_Listener_tmp.get();
38  listenersMap->try_emplace(reinterpret_cast<intptr_t>(ConferenceProviderEventsHandler_Listener), std::move(ConferenceProviderEventsHandler_Listener_tmp));
39  return true;
40  }
41 
42  static bool RegisteredEventListeners = RegisterEventListeners();
43  public:
44  ZDK::IConferenceProvider* cppRef = nullptr;
45 
46  ConferenceProvider(ZDK::Shared::ConferenceProvider src);
49 
56  property List<Conference^>^ ListConferences
57  {
58  List<Conference^>^ get();
59  }
60 
65  property int ConferencesCount
66  {
67  int get();
68  }
69 
74  property int CallsInConferences
75  {
76  int get();
77  }
78 
85  property ZDK_NET::BrandingInfo^ BrandingInfo
86  {
87  ZDK_NET::BrandingInfo^ get();
88  }
89 
106  ZDK_NET::Conference^ CreateConference(List<Call^>^ calls);
107 
117 
130  bool IsCallInConference(long long hCall);
131 
143 
153 
163 
164  virtual long long Handle() override;
165 
166  virtual void Initialize() override;
167 
168  virtual void ReleaseReference() override;
169 
170  };
171 }
172 
173 #endif
ZDK_NET::BrandingInfo
Definition: BrandingInfo.h:19
ZDK_NET::ConferenceProviderEventsHandler
Definition: ConferenceProviderEventsHandler.h:50
ZDK_NET::ConferenceProvider::AddConferenceProviderListener
void AddConferenceProviderListener(ZDK_NET::ConferenceProviderEventsHandler^ value)
Adds a new conference provider event listener.
ZDK_NET::ConferenceProvider::IsCallInConference
bool IsCallInConference(long long hCall)
Checks whether the call with the provided ID is part of any conference.
ZDK_NET::Conference
Definition: Conference.h:43
ZDK_NET::ConferenceProvider::CreateConference
ZDK_NET::Conference ^ CreateConference(List< Call^>^ calls)
Creates a new conferene with the provided calls.
ZDK_NET::ConferenceProvider::ConferenceContainingCall
ZDK_NET::Conference ^ ConferenceContainingCall(ZDK_NET::Call^ call)
Gets the conference in which the provided call is part of.
ZDK_NET::ConferenceProvider::GetConference
ZDK_NET::Conference ^ GetConference(long long hConf)
Gets the conference with the specified ID.
GeneralStatusEventListener
Definition: GeneralStatusEventListener.h:90
ZDK_NET::Call
Definition: Call.h:40
ZDK_NET::ConferenceProvider
Conference controlling helper.
Definition: ConferenceProvider.h:29
ZDK_NET::ConferenceProvider::DropConferenceProviderListener
void DropConferenceProviderListener(ZDK_NET::ConferenceProviderEventsHandler^ value)
Removes a specific already added conference provider event listener.
ZDK_NET::ZHandle
Definition: ZHandle.h:18