2#pragma make_public(BaseCommunication)
4#include "WBaseSettings.h"
5#include "BaseCommunication.h"
6#include "WCommunicationStatus.h"
8using namespace System::Threading;
10using namespace System::Runtime::InteropServices;
18 public ref class WBaseCommunication
abstract
44 return _communication->IsConnected();
48 property WBaseSettings^ Settings {
49 WBaseSettings^ get() {
53 void set(WBaseSettings^ pSettings) {
54 _settings = pSettings;
58 property BaseCommunication* __nativeCommunication {
59 BaseCommunication* get() {
60 return _communication;
64 event CommunicationEventHandler^ CommunicationEvent {
65 void add(CommunicationEventHandler^ handler) {
66 if (!_callbackAssigned) {
67 IntPtr ptr = this->GetFunctionPointer();
68 MarshallingConnectionCheckerCallback nativeFunc =
reinterpret_cast<MarshallingConnectionCheckerCallback
>(ptr.ToPointer());
69 _communication->SetCommunicationCallback(nativeFunc);
70 _callbackAssigned =
true;
73 _communicationEvent += handler;
75 void remove(CommunicationEventHandler^ handler) {
76 _communicationEvent -= handler;
81 ManagedDelegate^ del = gcnew ManagedDelegate(
this, &WBaseCommunication::CommunicationCallback);
83 return Marshal::GetFunctionPointerForDelegate(del);
88 for (
int i = 0; i < status->
Channels.size(); i++) {
93 eventDataToFire->
Channels->Add(toAdd);
102 _communicationEvent(
this, eventDataToFire);
106 bool _monitoringExit =
false;
109 bool _callbackAssigned =
false;
110 event CommunicationEventHandler^ _communicationEvent;
111 WBaseSettings^ _settings;
112 Thread^ _monitoringWorker;
Definition WBaseCommunication.h:16
DataAvailabilityEnum
Definition WEnums.h:28
ChannelTypeEnum
Definition WEnums.h:27
ConnectionStatusEnum
Definition WEnums.h:26
std::string ErrorMeaning
Definition CommunicationStructures.h:16
int ErrorCode
Definition CommunicationStructures.h:15
Definition CommunicationStructures.h:24
ConnectionState Status
Definition CommunicationStructures.h:26
vector< Channel > Channels
Definition CommunicationStructures.h:25
CommErrorCode ErrorCode
Definition CommunicationStructures.h:27
bool IsConnected()
Indicates, based on the 'GetConnectionState' method, if the device is connected or not.
Definition WBaseCommunication.h:43
WBaseCommunication()
Definition WBaseCommunication.h:22
IntPtr GetFunctionPointer()
Definition WBaseCommunication.h:82
virtual WUtils::WCommunicationStatus Connect()=0
Pure virtual method that will help the caller to proceed to the connection to media.
virtual void Disconnect()=0
Pure virtual method that will help the caller to proceed to media disconection.
void CommunicationCallback(CommunicationStatus *status)
Definition WBaseCommunication.h:86
~WBaseCommunication()
Definition WBaseCommunication.h:25
BaseCommunication * _communication
Definition WBaseCommunication.h:105
property ChannelTypeEnum Type
Definition WChannel.h:22
Definition WCommunicationErrorCode.h:6
Definition WCommunicationStatus.h:16
property List< WChannel^> Channels
Definition WCommunicationStatus.h:24