C++/CLI Sample
Demonstrates how to create a C++/CLI library using the VideoXpert SDK
CPPCli::VXSystem Class Reference

The VXSystem class represents a VideoXpert system. It is the entry point of the VideoXpert SDK and allows the user to manage the system and devices. More...

#include <VXSystem.h>

Public Types

enum  SearchStatus {
  SearchStatus::Unknown,
  SearchStatus::InProgress,
  SearchStatus::Complete
}
 Values that represent the current status of an AutoAddDevices search. More...
 

Public Member Functions

delegate void EventCallbackDelegate (VxSdk::IVxEvent *vxEvent)
 The native event callback delegate. More...
 
delegate void InternalEventCallbackDelegate (VxSdk::VxInternalEvent *vxInternalEvent)
 The native internal event callback delegate. More...
 
delegate void EventDelegate (Event^ vxEvent)
 The managed event delegate. More...
 
delegate void InternalEventDelegate (InternalEvent^ sdkEvent)
 The managed internal event delegate. More...
 
 VXSystem (System::String^ ip)
 Constructor that takes an IP as a parameter. More...
 
 VXSystem (System::String^ ip, int port, bool useSSL)
 Constructor that takes an IP as a parameter. More...
 
virtual ~VXSystem ()
 Virtual destructor. More...
 
 !VXSystem ()
 Finaliser. More...
 
Results::Value AddDataObject (NewDataObject^ newDataObject)
 Create a new data object on the VideoXpert system. More...
 
Results::Value AddDevice (NewDevice^ newDevice)
 Add a device to the VideoXpert system. More...
 
Results::Value AddDrawing (System::String^ drawingName)
 Create a new drawing on the VideoXpert system. More...
 
ManualRecordingAddManualRecording (NewManualRecording^ newManualRecording)
 Add a new manual recording to the VideoXpert system. More...
 
Results::Value AddRole (System::String^ roleName)
 Create a new role on the VideoXpert system. More...
 
Results::Value AddSchedule (NewSchedule^ newSchedule)
 Add a new schedule on the VideoXpert system. More...
 
Results::Value AddSituation (NewSituation^ newSituation)
 Add a new situation to the system. More...
 
Results::Value AddUser (NewUser^ newUser)
 Create a new user on the VideoXpert system. More...
 
Results::Value AutoAddDevices ()
 Initiates a network search on the VideoXpert system which automatically adds any new Pelco devices discovered. More...
 
Results::Value CommissionDevice (Device^ device)
 Commissions a device for use within the VideoXpert system. More...
 
Results::Value CreateBookmark (NewBookmark^ newBookmark)
 Create a new bookmark on the VideoXpert system. More...
 
ExportCreateExport (NewExport^ newExport)
 Create a new export on the VideoXpert system. More...
 
Results::Value CreateMonitor (NewMonitor^ newMonitor)
 Create a new monitor on the VideoXpert system. More...
 
NotificationCreateNotification (NewNotification^ newNotification)
 Create a new notification on the VideoXpert system. More...
 
QuickLogCreateQuickLog ()
 Create a new quick log on the VideoXpert system. More...
 
QuickReportCreateQuickReport (NewQuickReport^ newQuickReport)
 Create a new quick report on the VideoXpert system. More...
 
Results::Value CreateTag (NewTag^ newTag)
 Create a new tag on the VideoXpert system. More...
 
Results::Value DecommissionDevice (Device^ device)
 Decommissions a device on the VideoXpert system. More...
 
Results::Value DeleteBookmark (Bookmark^ bookmarkItem)
 Delete a bookmark from the VideoXpert system. More...
 
Results::Value DeleteDataObject (DataObject^ dataObject)
 Delete a data object from the VideoXpert system. More...
 
Results::Value DeleteDevice (Device^ device)
 Delete a device and its hosted data sources and data storages from the VideoXpert system. If the device is assigned to a datastorage, it shall be unassigned. More...
 
Results::Value DeleteDrawing (Drawing^ drawingItem)
 Delete a drawing from the VideoXpert system. More...
 
Results::Value DeleteExport (Export^ exportItem)
 Delete an export from the VideoXpert system. More...
 
Results::Value DeleteManualRecording (ManualRecording^ manualRecordingItem)
 Delete a manual recording from the VideoXpert system. More...
 
Results::Value DeleteNotification (Notification^ notificationItem)
 Delete a notification from the VideoXpert system. More...
 
Results::Value DeleteRole (Role^ role)
 Delete a role from the VideoXpert system. More...
 
Results::Value DeleteSchedule (Schedule^ scheduleItem)
 Delete a schedule from the VideoXpert system. More...
 
Results::Value DeleteSituation (Situation^ situationItem)
 Delete an existing situation from the system. More...
 
Results::Value DeleteTag (Tag^ tagItem)
 Delete a tag from the VideoXpert system. More...
 
Results::Value DeleteUser (User^ user)
 Delete a user from the VideoXpert system. More...
 
System::Collections::Generic::List< AlarmInput^ >^ GetAlarmInputs ()
 Get the alarm inputs from the VideoXpert system. More...
 
System::Collections::Generic::List< Bookmark^ >^ GetBookmarks ()
 Get the bookmarks from the VideoXpert system. More...
 
System::Collections::Generic::List< DataObject^ >^ GetDataObjects ()
 Get the data objects from the VideoXpert system. More...
 
System::Collections::Generic::List< DataSource^ >^ GetDataSources ()
 Get the data sources from the VideoXpert system. More...
 
System::Collections::Generic::List< DataStorage^ >^ GetDataStorages ()
 Get the data storages residing on the system. More...
 
System::Collections::Generic::List< DeviceAssignment^ >^ GetDeviceAssignments ()
 Get the device assignments residing on the system. More...
 
System::Collections::Generic::List< Device^ >^ GetDevices ()
 Get the devices from the VideoXpert system. More...
 
System::Collections::Generic::List< Drawing^ >^ GetDrawings ()
 Get the drawings from the VideoXpert system. More...
 
System::Collections::Generic::List< Export^ >^ GetExports ()
 Get the exports residing on the system. More...
 
LicenseGetLicense ()
 Get the license from the system. More...
 
System::Collections::Generic::List< ManualRecording^ >^ GetManualRecordings ()
 Gets the manual recordings residing on the system. More...
 
System::Collections::Generic::List< Monitor^ >^ GetMonitors ()
 Get the monitors residing on the system. More...
 
System::Collections::Generic::List< Notification^ >^ GetNotifications ()
 Get the notifications from the VideoXpert system. More...
 
System::Collections::Generic::List< RelayOutput^ >^ GetRelayOutputs ()
 Get the relay outputs from the VideoXpert system. More...
 
System::Collections::Generic::List< Role^ >^ GetRoles ()
 Get the roles from the VideoXpert system. More...
 
System::Collections::Generic::List< Schedule^ >^ GetSchedules ()
 Get the schedules from the VideoXpert system. More...
 
System::Collections::Generic::List< Situation^ >^ GetSituations ()
 Get the situations residing on the system. More...
 
System::Collections::Generic::List< Tag^ >^ GetTags ()
 Get the tags from the VideoXpert system. More...
 
System::Collections::Generic::List< User^ >^ GetUsers ()
 Get the users from the VideoXpert system. More...
 
Results::Value InjectEvent (NewEvent^ newEvent)
 Insert a new event into the system. More...
 
Results::Value Login (System::String^ username, System::String^ password)
 Log in to the VideoXpert system. More...
 
Results::Value Login (System::String^ authToken)
 Log in to the VideoXpert system. More...
 
Results::Value Refresh ()
 Update this instances properties. More...
 
Results::Value RemoveMonitor (Monitor^ monitorItem)
 Delete a monitor from the VideoXpert system. More...
 
System::Collections::Generic::List< Event^ >^ SearchEvents (System::String^ type, System::DateTime^ start, System::DateTime^ end, int index, int count)
 Search for events on the system. More...
 
Results::Value SubscribeToEventsByType (EventDelegate^ eventDelegate, System::Collections::Generic::List< Situation^ >^situations)
 Subscribe to system events by situation type, regardless of its notification setting. More...
 

Package Functions

Configuration::Cluster_GetClusterConfig ()
 
CPPCli::User_GetCurrentUser ()
 
CPPCli::Device_GetHostDevice ()
 

Static Package Functions

static void _FireEvent (VxSdk::IVxEvent *vxEvent)
 
static void _FireInternalEvent (VxSdk::VxInternalEvent *vxInternalEvent)
 

Package Attributes

VxSdk::IVxSystem_system
 
EventCallbackDelegate_callback
 
InternalEventCallbackDelegate_internalCallback
 
VxSdk::VxLoginInfo_loginInfo
 

Static Package Attributes

static EventDelegate_systemEvent
 
static InternalEventDelegate_sdkEvent
 

Properties

Configuration::Cluster^  ClusterConfig [get]
 Gets the cluster configuration from the VideoXpert system. More...
 
User^  Currentuser [get]
 Gets the user currently accessing the VideoXpert system. More...
 
SearchStatus DeviceSearchStatus [get]
 Gets the current SearchStatus of an AutoAddDevices search. More...
 
CPPCli::Device^  HostDevice [get]
 Gets the device that hosts this system. More...
 
System::String^  Id [get]
 Gets the unique identifier of the VideoXpert system. More...
 
System::String^  Name [get, set]
 Gets the friendly name of the VideoXpert system. More...
 

Events

EventDelegate^  SystemEvent [add, remove]
 SystemEvent is raised whenever a new event is created on the system. More...
 
InternalEventDelegate^  InternalEvent [add, remove]
 InternalEvent is raised whenever a new internal event is sent from the VxSDK. More...
 

Detailed Description

The VXSystem class represents a VideoXpert system. It is the entry point of the VideoXpert SDK and allows the user to manage the system and devices.

Definition at line 35 of file VXSystem.h.

Member Enumeration Documentation

Values that represent the current status of an AutoAddDevices search.

Enumerator
Unknown 

An error or unknown value was returned.

InProgress 

Device search is in progress.

Complete 

Device search has completed.

Definition at line 41 of file VXSystem.h.

41  {
43  Unknown,
44 
46  InProgress,
47 
49  Complete
50  };

Constructor & Destructor Documentation

CPPCli::VXSystem::VXSystem ( System::String^  ip)

Constructor that takes an IP as a parameter.

Parameters
ipThe IP address of the VideoXpert system.
CPPCli::VXSystem::VXSystem ( System::String^  ip,
int  port,
bool  useSSL 
)

Constructor that takes an IP as a parameter.

Parameters
ipThe IP address of the VideoXpert system.
portThe port used by the VideoXpert system.
useSSLWhether or not to use SSL encryption
virtual CPPCli::VXSystem::~VXSystem ( )
inlinevirtual

Virtual destructor.

Definition at line 97 of file VXSystem.h.

97  {
98  this->!VXSystem();
99  }
VXSystem(System::String^ ip)
Constructor that takes an IP as a parameter.
CPPCli::VXSystem::!VXSystem ( )

Finaliser.

Definition at line 24 of file VXSystem.cpp.

24  {
25  // Delete system object
26  if (_system != nullptr) {
27  // Unsubscribe to the system events
30  delete _callback;
31  _system->Delete();
32  _system = nullptr;
33  }
34 
35  // Delete loginInfo object
36  if (_loginInfo != nullptr) {
37  delete _loginInfo;
38  }
39 }
virtual VxResult::Value Delete() const =0
VxSdk::VxLoginInfo * _loginInfo
Definition: VXSystem.h:562
virtual VxResult::Value StopInternalNotifications() const =0
virtual VxResult::Value StopNotifications() const =0
EventCallbackDelegate^ _callback
Definition: VXSystem.h:560
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559

Member Function Documentation

void CPPCli::VXSystem::_FireEvent ( VxSdk::IVxEvent vxEvent)
staticpackage

Definition at line 1106 of file VXSystem.cpp.

1106  {
1107  // Fire the notification if there is a subscription to the system events
1108  if (_systemEvent != nullptr)
1109  return _systemEvent(gcnew Event(vxEvent));
1110 }
static EventDelegate^ _systemEvent
Definition: VXSystem.h:563
void CPPCli::VXSystem::_FireInternalEvent ( VxSdk::VxInternalEvent vxInternalEvent)
staticpackage

Definition at line 1112 of file VXSystem.cpp.

1112  {
1113  // Fire the notification if there is a subscription to the internal events
1114  if (_sdkEvent != nullptr)
1115  return _sdkEvent(gcnew CPPCli::InternalEvent(vxInternalEvent));
1116 }
static InternalEventDelegate^ _sdkEvent
Definition: VXSystem.h:564
The InternalEvent class represents an internal event generated by the VxSDK.
Definition: InternalEvent.h:12
CPPCli::Configuration::Cluster CPPCli::VXSystem::_GetClusterConfig ( )
package

Definition at line 1118 of file VXSystem.cpp.

1118  {
1119  // Get the cluster configuration
1120  VxSdk::IVxConfiguration::Cluster* cluster = nullptr;
1122 
1123  // Return the cluster configuration if GetClusterConfiguration was successful
1124  if (result == VxSdk::VxResult::kOK)
1125  return gcnew Configuration::Cluster(cluster);
1126 
1127  return nullptr;
1128 }
virtual VxResult::Value GetClusterConfiguration(IVxConfiguration::Cluster *&clusterConfig) const =0
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::User CPPCli::VXSystem::_GetCurrentUser ( )
package

Definition at line 1130 of file VXSystem.cpp.

1130  {
1131  // Get the user object
1132  VxSdk::IVxUser* user = nullptr;
1134 
1135  // Return the user if GetCurrentUser was successful
1136  if (result == VxSdk::VxResult::kOK)
1137  return gcnew CPPCli::User(user);
1138 
1139  return nullptr;
1140 }
The User class represents information about a system user.
Definition: User.h:16
virtual VxResult::Value GetCurrentUser(IVxUser *&user) const =0
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Device CPPCli::VXSystem::_GetHostDevice ( )
package

Definition at line 1142 of file VXSystem.cpp.

1142  {
1143  // Get the device which hosts this system
1144  VxSdk::IVxDevice* device = nullptr;
1145  VxSdk::VxResult::Value result = _system->GetHostDevice(device);
1146 
1147  // Return the device if GetHostDevice was successful
1148  if (result == VxSdk::VxResult::kOK)
1149  return gcnew Device(device);
1150 
1151  return nullptr;
1152 }
virtual VxResult::Value GetHostDevice(IVxDevice *&hostDevice) const =0
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::AddDataObject ( CPPCli::NewDataObject newDataObject)

Create a new data object on the VideoXpert system.

Parameters
newDataObjectThe new data object to be added to the system.
Returns
The Result of adding the data object.

Definition at line 41 of file VXSystem.cpp.

41  {
42  // Create a new data object and populate its fields using newDataObject
43  VxSdk::VxNewDataObject vxDataObject;
44  VxSdk::Utilities::StrCopySafe(vxDataObject.clientType, Utils::ConvertSysString(newDataObject->ClientType));
45  vxDataObject.data = Utils::ConvertSysStringNonConst(newDataObject->Data);
46  vxDataObject.isPrivate = newDataObject->IsPrivate;
47 
48  // Make the call to add the data object into VideoXpert
49  VxSdk::VxResult::Value result = _system->AddDataObject(vxDataObject);
50  // Unless there was an issue creating the data object the result should be VxSdk::VxResult::kOK
51  return CPPCli::Results::Value(result);
52 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
static void StrCopySafe(char(&dst)[dstSize], const char *src)
static char * ConvertSysStringNonConst(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:243
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
virtual VxResult::Value AddDataObject(VxNewDataObject &newDataObject) const =0
CPPCli::Results::Value CPPCli::VXSystem::AddDevice ( CPPCli::NewDevice newDevice)

Add a device to the VideoXpert system.

Parameters
newDeviceThe new device to be added.
Returns
The Result of the request.

Definition at line 54 of file VXSystem.cpp.

54  {
55  VxSdk::VxNewDevice vxNewDevice;
56  vxNewDevice.shouldAutoCommission = newDevice->ShouldAutoCommission;
57  VxSdk::Utilities::StrCopySafe(vxNewDevice.dataStorageId, Utils::ConvertSysString(newDevice->DataStorageId));
58  VxSdk::Utilities::StrCopySafe(vxNewDevice.driverType, Utils::ConvertSysString(newDevice->DriverType));
59  VxSdk::Utilities::StrCopySafe(vxNewDevice.ip, Utils::ConvertSysString(newDevice->Ip));
60  VxSdk::Utilities::StrCopySafe(vxNewDevice.name, Utils::ConvertSysString(newDevice->Name));
61  VxSdk::Utilities::StrCopySafe(vxNewDevice.password, Utils::ConvertSysString(newDevice->Password));
62  VxSdk::Utilities::StrCopySafe(vxNewDevice.username, Utils::ConvertSysString(newDevice->Username));
63  vxNewDevice.type = VxSdk::VxDeviceType::Value(newDevice->Type);
64 
65 
66  // Make the call to add the device into VideoXpert
67  VxSdk::VxResult::Value result = _system->AddDevice(vxNewDevice);
68  // Unless there was an issue creating the device the result should be VxSdk::VxResult::kOK
69  return CPPCli::Results::Value(result);
70 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value AddDevice(VxNewDevice &newDevice) const =0
char dataStorageId[64]
static void StrCopySafe(char(&dst)[dstSize], const char *src)
VxDeviceType::Value type
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::AddDrawing ( System::String^  drawingName)

Create a new drawing on the VideoXpert system.

Parameters
drawingNameThe name of the new drawing to be added to the system.
Returns
The Result of adding the drawing.

Definition at line 72 of file VXSystem.cpp.

72  {
73  VxSdk::VxNewDrawing vxDrawing;
75 
76  // Make the call to add the drawing into VideoXpert
77  VxSdk::VxResult::Value result = _system->AddDrawing(vxDrawing);
78  // Unless there was an issue creating the drawing the result should be VxSdk::VxResult::kOK
79  return CPPCli::Results::Value(result);
80 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
static void StrCopySafe(char(&dst)[dstSize], const char *src)
virtual VxResult::Value AddDrawing(VxNewDrawing &newDrawing) const =0
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::ManualRecording CPPCli::VXSystem::AddManualRecording ( CPPCli::NewManualRecording newManualRecording)

Add a new manual recording to the VideoXpert system.

Parameters
newManualRecordingThe new manual recording to be added.
Returns
nullptr if it fails, else the new manual recording.

Definition at line 82 of file VXSystem.cpp.

82  {
83  VxSdk::VxNewManualRecording vxNewManualRecording;
84  VxSdk::Utilities::StrCopySafe(vxNewManualRecording.dataSourceId, Utils::ConvertSysString(newManualRecording->DataSourceId));
85  vxNewManualRecording.postRecord = newManualRecording->PostRecord;
86  vxNewManualRecording.preRecord = newManualRecording->PreRecord;
87 
88  CPPCli::ManualRecording^ retManualRecording = nullptr;
89  // Make the call to add the manual recording into VideoXpert
90  VxSdk::IVxManualRecording* manualRecordingItem = nullptr;
91  VxSdk::VxResult::Value result = _system->AddManualRecording(vxNewManualRecording, manualRecordingItem);
92 
93  // Unless there was an issue adding the manual recording the result should be VxSdk::VxResult::kOK
94  if (result == VxSdk::VxResult::kOK) {
95  retManualRecording = gcnew CPPCli::ManualRecording(manualRecordingItem);
96  }
97  return retManualRecording;
98 }
The ManualRecording class represents an instance of an active manual recording (the action...
static void StrCopySafe(char(&dst)[dstSize], const char *src)
virtual VxResult::Value AddManualRecording(VxNewManualRecording &newManualRecording, IVxManualRecording *&manualRecordingItem) const =0
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::AddRole ( System::String^  roleName)

Create a new role on the VideoXpert system.

Parameters
roleNameThe new role to be added to the system.
Returns
The Result of adding the role.

Definition at line 100 of file VXSystem.cpp.

100  {
101  // Make the call to add the role into VideoXpert
103  // Unless there was an issue creating the role the result should be VxSdk::VxResult::kOK
104  return CPPCli::Results::Value(result);
105 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value AddRole(const char *roleName) const =0
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::AddSchedule ( CPPCli::NewSchedule newSchedule)

Add a new schedule on the VideoXpert system.

Parameters
newScheduleThe new schedule to be added to the system.
Returns
The Result of adding the schedule.

Definition at line 107 of file VXSystem.cpp.

107  {
108  // Create a schedule object and populate its fields using newSchedule
109  VxSdk::VxNewSchedule vxSchedule;
110  VxSdk::Utilities::StrCopySafe(vxSchedule.id, Utils::ConvertSysString(newSchedule->Id));
111  VxSdk::Utilities::StrCopySafe(vxSchedule.name, Utils::ConvertSysString(newSchedule->Name));
112  vxSchedule.action = (VxSdk::VxScheduleAction::Value)newSchedule->Action;
113  vxSchedule.useAllDataSources = newSchedule->UseAllDataSources;
114 
115  // Create new VxNewScheduleTrigger objects using the ScheduleTrigger info contained in newSchedule
116  const int triggerSize = newSchedule->ScheduleTriggers->Count;
117  VxSdk::VxNewScheduleTrigger* newTriggers = new VxSdk::VxNewScheduleTrigger[triggerSize];
118  for (int i = 0; i < triggerSize; i++) {
119  VxSdk::Utilities::StrCopySafe(newTriggers[i].dailyEndTime, Utils::ConvertDateTimeToTimeChar(newSchedule->ScheduleTriggers[i]->DailyEndTime));
120  VxSdk::Utilities::StrCopySafe(newTriggers[i].dailyStartTime, Utils::ConvertDateTimeToTimeChar(newSchedule->ScheduleTriggers[i]->DailyStartTime));
121  VxSdk::Utilities::StrCopySafe(newTriggers[i].endDate, Utils::ConvertDateTimeToChar(newSchedule->ScheduleTriggers[i]->EndDate));
122  VxSdk::Utilities::StrCopySafe(newTriggers[i].startDate, Utils::ConvertDateTimeToChar(newSchedule->ScheduleTriggers[i]->StartDate));
123  VxSdk::Utilities::StrCopySafe(newTriggers[i].id, Utils::ConvertSysString(newSchedule->ScheduleTriggers[i]->Id));
124  VxSdk::Utilities::StrCopySafe(newTriggers[i].eventSourceDevice, Utils::ConvertSysString(newSchedule->ScheduleTriggers[i]->EventSource));
125  newTriggers[i].postTrigger = newSchedule->ScheduleTriggers[i]->PostTrigger;
126  newTriggers[i].preTrigger = newSchedule->ScheduleTriggers[i]->PreTrigger;
127  newTriggers[i].timeout = newSchedule->ScheduleTriggers[i]->Timeout;
128  newTriggers[i].event = VxSdk::VxSituationType::Value(newSchedule->ScheduleTriggers[i]->Event);
129  newTriggers[i].recurrence = VxSdk::VxRecurrenceType::Value(newSchedule->ScheduleTriggers[i]->RecurrenceType);
130  newTriggers[i].framerate = VxSdk::VxRecordingFramerate::Value(newSchedule->ScheduleTriggers[i]->Framerate);
131 
132  // Add any weekly interval values to the new schedule trigger
133  int weeklySize = newSchedule->ScheduleTriggers[i]->RecurWeekly->Count;
134  int *weekIntervals = new int[weeklySize];
135  for (int iW = 0; iW < weeklySize; iW++) {
136  weekIntervals[iW] = newSchedule->ScheduleTriggers[i]->RecurWeekly[iW];
137  }
138  newTriggers[i].recurWeekly = weekIntervals;
139  newTriggers[i].recurWeeklySize = weeklySize;
140 
141  // Add any monthly interval values to the new schedule trigger
142  int monthlySize = newSchedule->ScheduleTriggers[i]->RecurMonthly->Count;
143  int *monthIntervals = new int[monthlySize];
144  for (int iM = 0; iM < monthlySize; iM++) {
145  monthIntervals[iM] = newSchedule->ScheduleTriggers[i]->RecurMonthly[iM];
146  }
147  newTriggers[i].recurMonthly = monthIntervals;
148  newTriggers[i].recurMonthlySize = monthlySize;
149 
150  // Add any yearly interval values to the new schedule trigger
151  int yearlySize = newSchedule->ScheduleTriggers[i]->RecurYearly->Count;
152  int *yearIntervals = new int[yearlySize];
153  for (int iY = 0; iY < yearlySize; iY++) {
154  yearIntervals[iY] = newSchedule->ScheduleTriggers[i]->RecurYearly[iY];
155  }
156  newTriggers[i].recurYearly = yearIntervals;
157  newTriggers[i].recurYearlySize = yearlySize;
158 
159  // Add any event properties to the new schedule trigger
160  int size = newSchedule->ScheduleTriggers[i]->EventProperties->Count;
161  VxSdk::VxKvObject *kvObj = new VxSdk::VxKvObject[size];
162  newTriggers[i].eventPropertySize = size;
163  newTriggers[i].eventProperties = kvObj;
164  for (int ii = 0; ii < size; ii++) {
165  VxSdk::Utilities::StrCopySafe(newTriggers[i].eventProperties[ii].key,
166  Utils::ConvertSysString(newSchedule->ScheduleTriggers[i]->EventProperties[ii].Key));
167  VxSdk::Utilities::StrCopySafe(newTriggers[i].eventProperties[ii].value,
168  Utils::ConvertSysString(newSchedule->ScheduleTriggers[i]->EventProperties[ii].Value));
169  }
170  }
171  // Add the schedule triggers to the new schedule
172  vxSchedule.scheduleTriggers = newTriggers;
173  vxSchedule.scheduleTriggerSize = triggerSize;
174 
175  // Make the call to add the schedule into VideoXpert
176  VxSdk::VxResult::Value result = _system->AddSchedule(vxSchedule);
177  // Unless there was an issue adding the schedule the result should be VxSdk::VxResult::kOK
178  return CPPCli::Results::Value(result);
179 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
static const char * ConvertDateTimeToTimeChar(System::DateTime dateTime)
Convert a DateTime to a char in TimeOfDay format.
Definition: Utils.h:304
VxScheduleAction::Value action
static void StrCopySafe(char(&dst)[dstSize], const char *src)
virtual VxResult::Value AddSchedule(VxNewSchedule &newSchedule) const =0
VxNewScheduleTrigger * scheduleTriggers
static const char * ConvertDateTimeToChar(System::DateTime dateTime)
Convert a DateTime to a char.
Definition: Utils.h:280
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::AddSituation ( CPPCli::NewSituation newSituation)

Add a new situation to the system.

Parameters
newSituationThe new situation to be added to the system.
Returns
The Result of adding the situation.

Definition at line 181 of file VXSystem.cpp.

181  {
182  // Create a situation object and populate its fields using newSituation
183  VxSdk::VxNewSituation vxSituation;
184  VxSdk::Utilities::StrCopySafe(vxSituation.name, Utils::ConvertSysString(newSituation->Name));
185  VxSdk::Utilities::StrCopySafe(vxSituation.sourceDeviceId, Utils::ConvertSysString(newSituation->SourceDeviceId));
186  VxSdk::Utilities::StrCopySafe(vxSituation.type, Utils::ConvertSysString(newSituation->Type));
187  vxSituation.isAckNeeded = newSituation->IsAckNeeded;
188  vxSituation.audibleLoopDelay = newSituation->AudibleLoopDelay;
189  vxSituation.shouldAudiblyNotify = newSituation->UseAudibleNotification;
190  vxSituation.audiblePlayCount = newSituation->AudiblePlayCount;
191  vxSituation.autoAcknowledge = newSituation->AutoAcknowledge;
192  vxSituation.shouldExpandBanner = newSituation->ShouldExpandBanner;
193  vxSituation.shouldLog = newSituation->ShouldLog;
194  vxSituation.shouldNotify = newSituation->ShouldNotify;
195  vxSituation.severity = newSituation->Severity;
196  int size = newSituation->SnoozeIntervals->Count;
197  int *intervals = new int[size];
198  for (int i = 0; i < size; i++) {
199  intervals[i] = newSituation->SnoozeIntervals[i];
200  }
201  vxSituation.snoozeIntervals = intervals;
202 
203  // Make the call to add the situation into VideoXpert
204  VxSdk::VxResult::Value result = _system->AddSituation(vxSituation);
205  // Unless there was an issue adding the situation the result should be VxSdk::VxResult::kOK
206  if (result == VxSdk::VxResult::kOK) {
207  // Remove the memory we previously allocated
208  delete[] vxSituation.snoozeIntervals;
209  }
210  return CPPCli::Results::Value(result);
211 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
static void StrCopySafe(char(&dst)[dstSize], const char *src)
virtual VxResult::Value AddSituation(VxNewSituation &newSituation) const =0
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::AddUser ( CPPCli::NewUser newUser)

Create a new user on the VideoXpert system.

Parameters
newUserThe new user to be added to the system.
Returns
The Result of adding the user.

Definition at line 213 of file VXSystem.cpp.

213  {
214  // Create a new user object and populate its fields using newUser
215  VxSdk::VxNewUser vxNewUser;
216  VxSdk::Utilities::StrCopySafe(vxNewUser.domain, Utils::ConvertSysString(newUser->Domain));
218  VxSdk::Utilities::StrCopySafe(vxNewUser.password, Utils::ConvertSysString(newUser->Password));
219  vxNewUser.mustChangePassword = newUser->MustChangePassword;
220 
221  // Make the call to add the user into VideoXpert
222  VxSdk::VxResult::Value result = _system->AddUser(vxNewUser);
223  // Unless there was an issue creating the user the result should be VxSdk::VxResult::kOK
224  return CPPCli::Results::Value(result);
225 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
static void StrCopySafe(char(&dst)[dstSize], const char *src)
virtual VxResult::Value AddUser(VxNewUser &newUser) const =0
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::AutoAddDevices ( )

Initiates a network search on the VideoXpert system which automatically adds any new Pelco devices discovered.

Returns
The Result of the request.

Definition at line 227 of file VXSystem.cpp.

227  {
228  // Make the call to AutoAddDevices
230  // Unless there was an issue starting the device discorvery the result should be VxSdk::VxResult::kOK
231  return CPPCli::Results::Value(result);
232 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value AutoAddDevices() const =0
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::CommissionDevice ( CPPCli::Device device)

Commissions a device for use within the VideoXpert system.

Parameters
deviceThe device to commission.
Returns
The Result of commissioning the device.

Definition at line 234 of file VXSystem.cpp.

234  {
235  // Get the license object
236  VxSdk::IVxLicense* license = nullptr;
237  VxSdk::VxResult::Value result = _system->GetLicense(license);
238  if (result != VxSdk::VxResult::kOK || license == nullptr)
239  return (CPPCli::Results::Value)result;
240 
241  return (CPPCli::Results::Value)license->CommissionDevice(*device->_device);
242 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value CommissionDevice(IVxDevice &device) const =0
virtual VxResult::Value GetLicense(IVxLicense *&license) const =0
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::CreateBookmark ( CPPCli::NewBookmark newBookmark)

Create a new bookmark on the VideoXpert system.

Parameters
newBookmarkThe new bookmark to be added to the system.
Returns
The Result of adding the bookmark.

Definition at line 244 of file VXSystem.cpp.

244  {
245  // Create a bookmark object and populate its fields using newBookmark
246  VxSdk::VxNewBookmark vxBookmark;
247  VxSdk::Utilities::StrCopySafe(vxBookmark.dataSourceId, Utils::ConvertSysString(newBookmark->DataSourceId));
248  VxSdk::Utilities::StrCopySafe(vxBookmark.description, Utils::ConvertSysString(newBookmark->Description));
249  VxSdk::Utilities::StrCopySafe(vxBookmark.name, Utils::ConvertSysString(newBookmark->Name));
250  VxSdk::Utilities::StrCopySafe(vxBookmark.time, Utils::ConvertDateTimeToChar(newBookmark->Time));
251 
252  // Make the call to add the bookmark into VideoXpert
253  VxSdk::VxResult::Value result = _system->AddBookmark(vxBookmark);
254  // Unless there was an issue creating the bookmark the result should be VxSdk::VxResult::kOK
255  return CPPCli::Results::Value(result);
256 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
static void StrCopySafe(char(&dst)[dstSize], const char *src)
virtual VxResult::Value AddBookmark(VxNewBookmark &newBookmark) const =0
static const char * ConvertDateTimeToChar(System::DateTime dateTime)
Convert a DateTime to a char.
Definition: Utils.h:280
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Export CPPCli::VXSystem::CreateExport ( CPPCli::NewExport newExport)

Create a new export on the VideoXpert system.

Parameters
newExportThe new export to be added to the system.
Returns
nullptr if it fails, else the new export.

Definition at line 258 of file VXSystem.cpp.

258  {
259  // Create a new VxNewExportClip object using the clip info contained in newExport
260  const int clipSize = newExport->Clips->Count;
261  VxSdk::VxNewExportClip* clips = new VxSdk::VxNewExportClip[clipSize];
262  for (int i = 0; i < clipSize; i++) {
263  VxSdk::Utilities::StrCopySafe(clips[i].dataSourceId, Utils::ConvertSysString(newExport->Clips[i]->DataSourceId));
264  VxSdk::Utilities::StrCopySafe(clips[i].startTime, Utils::ConvertDateTimeToChar(newExport->Clips[i]->StartTime));
265  VxSdk::Utilities::StrCopySafe(clips[i].endTime, Utils::ConvertDateTimeToChar(newExport->Clips[i]->EndTime));
266  }
267 
268  // Create a VxNewExport object using the settings contained in newExport and the VxNewExportClip that
269  // was just created.
270  VxSdk::VxNewExport vxExport;
271  vxExport.format = (VxSdk::VxExportFormat::Value)newExport->Format;
272  vxExport.clips = clips;
273  vxExport.clipSize = clipSize;
274  VxSdk::Utilities::StrCopySafe(vxExport.name, Utils::ConvertSysString(newExport->Name));
275  // If the password field has a password set then the export will be password protected, if the password is not
276  // set, the export will be public
277  VxSdk::Utilities::StrCopySafe(vxExport.password, Utils::ConvertSysString(newExport->Password));
278 
279  CPPCli::Export^ retExport = nullptr;
280  // Attempt to create the export
281  VxSdk::IVxExport* exportItem = nullptr;
282  VxSdk::VxResult::Value result = _system->CreateExport(vxExport, exportItem);
283 
284  // Unless there was an issue initiating the export the result should be VxSdk::VxResult::kOK
285  if (result == VxSdk::VxResult::kOK) {
286  // The exportItem returned from the system is the export initiated on the server and contains a lot of
287  // helpful information about the export.
288  retExport = gcnew CPPCli::Export(exportItem);
289  }
290  return retExport;
291 }
static void StrCopySafe(char(&dst)[dstSize], const char *src)
virtual VxResult::Value CreateExport(VxNewExport &newExport, IVxExport *&exportItem) const =0
The Export class represents an exported data set that is archived within the system.
Definition: Export.h:15
static const char * ConvertDateTimeToChar(System::DateTime dateTime)
Convert a DateTime to a char.
Definition: Utils.h:280
VxExportFormat::Value format
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
VxNewExportClip * clips
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::CreateMonitor ( NewMonitor newMonitor)

Create a new monitor on the VideoXpert system.

Parameters
newMonitorThe new monitor to be added to the system.
Returns
The Result of creating the monitor.

Definition at line 293 of file VXSystem.cpp.

293  {
294  // Create a new monitor object and populate its fields using newMonitor
295  VxSdk::VxNewMonitor vxNewMonitor;
296  VxSdk::Utilities::StrCopySafe(vxNewMonitor.hostDeviceId, Utils::ConvertSysString(newMonitor->HostDeviceId));
297  VxSdk::Utilities::StrCopySafe(vxNewMonitor.name, Utils::ConvertSysString(newMonitor->Name));
298  vxNewMonitor.layout = (VxSdk::VxCellLayout::Value)newMonitor->Layout;
299  vxNewMonitor.number = newMonitor->Number;
300 
301  // Make the call to add the monitor into VideoXpert
302  VxSdk::VxResult::Value result = _system->CreateMonitor(vxNewMonitor);
303  // Unless there was an issue creating the monitor the result should be VxSdk::VxResult::kOK
304  return CPPCli::Results::Value(result);
305 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
static void StrCopySafe(char(&dst)[dstSize], const char *src)
VxCellLayout::Value layout
virtual VxResult::Value CreateMonitor(VxNewMonitor &newMonitor) const =0
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Notification CPPCli::VXSystem::CreateNotification ( CPPCli::NewNotification newNotification)

Create a new notification on the VideoXpert system.

Parameters
newNotificationThe new notification to be added to the system.
Returns
nullptr if it fails, else the new notification.

Definition at line 307 of file VXSystem.cpp.

307  {
308  auto roles = newNotification->Roles;
309 
310  // Create a notification object and populate its fields using newNotification
311  VxSdk::VxNewNotification vxNotification;
312  vxNotification.roleIdSize = static_cast<int>(roles->Count);
313  if (vxNotification.roleIdSize > 0) {
314  vxNotification.roleIds = new char*[vxNotification.roleIdSize];
315  for (int i = 0; i < vxNotification.roleIdSize; i++) {
316  int idLength = roles[i]->Id->Length + 1;
317  vxNotification.roleIds[i] = new char[idLength];
318  VxSdk::Utilities::StrCopySafe(vxNotification.roleIds[i], Utils::ConvertSysString(roles[i]->Id), idLength);
319  }
320  }
321 
322  CPPCli::Notification^ retNotification = nullptr;
323  // Make the call to add the notification into VideoXpert
324  VxSdk::IVxNotification* notificationItem = nullptr;
325  VxSdk::VxResult::Value result = _system->AddNotification(vxNotification, notificationItem);
326 
327  // Unless there was an issue adding the notification the result should be VxSdk::VxResult::kOK
328  if (result == VxSdk::VxResult::kOK) {
329  retNotification = gcnew CPPCli::Notification(notificationItem);
330  }
331  return retNotification;
332 }
virtual VxResult::Value AddNotification(VxNewNotification &newNotification, IVxNotification *&notificationItem) const =0
The Notification class represents a particular notification configuration for a situation.
Definition: Notification.h:14
static void StrCopySafe(char(&dst)[dstSize], const char *src)
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::QuickLog CPPCli::VXSystem::CreateQuickLog ( )

Create a new quick log on the VideoXpert system.

Returns
nullptr if it fails, else the new log.

Definition at line 334 of file VXSystem.cpp.

334  {
335  CPPCli::QuickLog^ retQuickLog = nullptr;
336  VxSdk::IVxQuickLog* quickLogItem = nullptr;
337  // Attempt to create the quick log
338  VxSdk::VxResult::Value result = _system->CreateQuickLog(quickLogItem);
339  // Unless there was an issue creating the quick log the result should be VxSdk::VxResult::kOK
340  if (result == VxSdk::VxResult::kOK) {
341  // The quickLogItem returned from the system is the quick log initiated on the server and contains the
342  // information needed to obtain the log data
343  retQuickLog = gcnew CPPCli::QuickLog(quickLogItem);
344  }
345  return retQuickLog;
346 }
virtual VxResult::Value CreateQuickLog(IVxQuickLog *&quickLog) const =0
The QuickLog class represents a quick system health log.
Definition: QuickLog.h:12
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::QuickReport CPPCli::VXSystem::CreateQuickReport ( NewQuickReport newQuickReport)

Create a new quick report on the VideoXpert system.

Parameters
newQuickReportThe new quick report to be created.
Returns
nullptr if it fails, else the new report.

Definition at line 348 of file VXSystem.cpp.

348  {
349  // Create a VxNewQuickReport object
350  VxSdk::VxNewQuickReport vxQuickReport;
351  vxQuickReport.contentsSize = newQuickReport->Contents->Count;
352  vxQuickReport.contents = new VxSdk::VxReportContent::Value[vxQuickReport.contentsSize];
353 
354  for (int i = 0; i < vxQuickReport.contentsSize; i++)
355  vxQuickReport.contents[i] = (VxSdk::VxReportContent::Value)newQuickReport->Contents[i];
356 
357  if (newQuickReport->EndTime != System::DateTime::MinValue)
358  VxSdk::Utilities::StrCopySafe(vxQuickReport.endTime, Utils::ConvertDateTimeToChar(newQuickReport->EndTime));
359 
360  if (newQuickReport->StartTime != System::DateTime::MinValue)
361  VxSdk::Utilities::StrCopySafe(vxQuickReport.startTime, Utils::ConvertDateTimeToChar(newQuickReport->StartTime));
362 
363  CPPCli::QuickReport^ retQuickReport = nullptr;
364  VxSdk::IVxQuickReport* quickReportItem = nullptr;
365  // Attempt to create the quick report
366  VxSdk::VxResult::Value result = _system->CreateQuickReport(vxQuickReport, quickReportItem);
367  // Unless there was an issue creating the quick report the result should be VxSdk::VxResult::kOK
368  if (result == VxSdk::VxResult::kOK) {
369  // The quickReportItem returned from the system is the quick report initiated on the server and contains the
370  // information needed to obtain the report data
371  retQuickReport = gcnew CPPCli::QuickReport(quickReportItem);
372  }
373  return retQuickReport;
374 }
static void StrCopySafe(char(&dst)[dstSize], const char *src)
virtual VxResult::Value CreateQuickReport(VxNewQuickReport &newQuickReport, IVxQuickReport *&quickReport) const =0
static const char * ConvertDateTimeToChar(System::DateTime dateTime)
Convert a DateTime to a char.
Definition: Utils.h:280
VxReportContent::Value * contents
The QuickReport class represents a quick system health report.
Definition: QuickReport.h:13
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::CreateTag ( CPPCli::NewTag newTag)

Create a new tag on the VideoXpert system.

Parameters
newTagThe new tag to be added to the system.
Returns
The Result of adding the tag.

Definition at line 376 of file VXSystem.cpp.

376  {
377  // Create a new tag object and populate its fields using newTag
378  VxSdk::VxNewTag vxTag;
380  vxTag.isPublic = newTag->IsPublic;
381 
382  // Make the call to add the tag into VideoXpert
383  VxSdk::VxResult::Value result = _system->AddTag(vxTag);
384  // Unless there was an issue creating the tag the result should be VxSdk::VxResult::kOK
385  return CPPCli::Results::Value(result);
386 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
static void StrCopySafe(char(&dst)[dstSize], const char *src)
virtual VxResult::Value AddTag(VxNewTag &newTag) const =0
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::DecommissionDevice ( CPPCli::Device device)

Decommissions a device on the VideoXpert system.

Parameters
deviceThe device to decommission.
Returns
The Result of decommissioning the device.

Definition at line 388 of file VXSystem.cpp.

388  {
389  // Get the license object
390  VxSdk::IVxLicense* license = nullptr;
391  VxSdk::VxResult::Value result = _system->GetLicense(license);
392  if (result != VxSdk::VxResult::kOK || license == nullptr)
393  return (CPPCli::Results::Value)result;
394 
395  return (CPPCli::Results::Value)license->DecommissionDevice(*device->_device);
396 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value GetLicense(IVxLicense *&license) const =0
virtual VxResult::Value DecommissionDevice(IVxDevice &device) const =0
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::DeleteBookmark ( CPPCli::Bookmark bookmarkItem)

Delete a bookmark from the VideoXpert system.

Parameters
bookmarkItemThe bookmark to be deleted from the system.
Returns
The Result of deleting the bookmark.

Definition at line 398 of file VXSystem.cpp.

398  {
399  // Create a bookmark object using the bookmarkItem
400  VxSdk::IVxBookmark* delBookmark = bookmarkItem->_bookmark;
401 
402  // To delete a bookmark simply make a DeleteBookmark call
403  VxSdk::VxResult::Value result = delBookmark->DeleteBookmark();
404  // Unless there was an issue deleting the bookmark the result should be VxSdk::VxResult::kOK
405  return CPPCli::Results::Value(result);
406 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value DeleteBookmark() const =0
CPPCli::Results::Value CPPCli::VXSystem::DeleteDataObject ( CPPCli::DataObject dataObjectItem)

Delete a data object from the VideoXpert system.

Parameters
dataObjectThe data object to be deleted from the system.
Returns
The Result of deleting the data object.

Definition at line 408 of file VXSystem.cpp.

408  {
409  // Create a data object object using the dataObjectItem
410  VxSdk::IVxDataObject* delDataObject = dataObjectItem->_dataObject;
411 
412  // To delete a data object simply make a DeleteTag call
413  VxSdk::VxResult::Value result = delDataObject->DeleteDataObject();
414  // Unless there was an issue deleting the data object the result should be VxSdk::VxResult::kOK
415  return CPPCli::Results::Value(result);
416 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value DeleteDataObject() const =0
CPPCli::Results::Value CPPCli::VXSystem::DeleteDevice ( CPPCli::Device device)

Delete a device and its hosted data sources and data storages from the VideoXpert system. If the device is assigned to a datastorage, it shall be unassigned.

Parameters
deviceThe device to be deleted.
Returns
The Result of deleting the device.

Definition at line 418 of file VXSystem.cpp.

418  {
419  // Create a device object
420  VxSdk::IVxDevice* delDevice = device->_device;
421 
422  // To delete a device simply make a DeleteDevice call
423  VxSdk::VxResult::Value result = delDevice->DeleteDevice();
424  // Unless there was an issue deleting the device the result should be VxSdk::VxResult::kOK
425  return CPPCli::Results::Value(result);
426 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value DeleteDevice() const =0
CPPCli::Results::Value CPPCli::VXSystem::DeleteDrawing ( CPPCli::Drawing drawingItem)

Delete a drawing from the VideoXpert system.

Parameters
drawingItemThe drawing to be deleted from the system.
Returns
The Result of deleting the drawing.

Definition at line 428 of file VXSystem.cpp.

428  {
429  // Create a drawing object using the drawingItem
430  VxSdk::IVxDrawing* delDrawing = drawingItem->_drawing;
431 
432  // To delete a drawing simply make a DeleteDrawing call
433  VxSdk::VxResult::Value result = delDrawing->DeleteDrawing();
434  // Unless there was an issue deleting the drawing the result should be VxSdk::VxResult::kOK
435  return CPPCli::Results::Value(result);
436 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value DeleteDrawing() const =0
CPPCli::Results::Value CPPCli::VXSystem::DeleteExport ( CPPCli::Export exportItem)

Delete an export from the VideoXpert system.

Parameters
exportItemThe export to be deleted from the system.
Returns
The Result of deleting the export.

Definition at line 438 of file VXSystem.cpp.

438  {
439  // Create an export object using the exportItem
440  VxSdk::IVxExport* delExport = exportItem->_export;
441 
442  // To delete an export simply make a DeleteExport call
443  VxSdk::VxResult::Value result = delExport->DeleteExport();
444  // Unless there was an issue deleting the export the result should be VxSdk::VxResult::kOK
445  return CPPCli::Results::Value(result);
446 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value DeleteExport() const =0
CPPCli::Results::Value CPPCli::VXSystem::DeleteManualRecording ( CPPCli::ManualRecording manualRecordingItem)

Delete a manual recording from the VideoXpert system.

Parameters
manualRecordingItemThe manual recording to be deleted from the system.
Returns
The Result of deleting the manual recording.

Definition at line 448 of file VXSystem.cpp.

448  {
449  // Create a manual recording object using the manualRecordingItem
450  VxSdk::IVxManualRecording* delManualRecording = manualRecordingItem->_manualRecording;
451 
452  // To delete a manual recording simply make a DeleteManualRecording call
453  VxSdk::VxResult::Value result = delManualRecording->DeleteManualRecording();
454  // Unless there was an issue deleting the manual recording the result should be VxSdk::VxResult::kOK
455  return CPPCli::Results::Value(result);
456 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value DeleteManualRecording() const =0
CPPCli::Results::Value CPPCli::VXSystem::DeleteNotification ( CPPCli::Notification notificationItem)

Delete a notification from the VideoXpert system.

Parameters
notificationItemThe notification to be deleted from the system.
Returns
The Result of deleting the notification.

Definition at line 458 of file VXSystem.cpp.

458  {
459  // Create a notification object using the notificationItem
460  VxSdk::IVxNotification* delNotification = notificationItem->_notification;
461 
462  // To delete a notification simply make a DeleteNotification call
463  VxSdk::VxResult::Value result = delNotification->DeleteNotification();
464  // Unless there was an issue deleting the notification the result should be VxSdk::VxResult::kOK
465  return CPPCli::Results::Value(result);
466 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value DeleteNotification() const =0
CPPCli::Results::Value CPPCli::VXSystem::DeleteRole ( CPPCli::Role roleItem)

Delete a role from the VideoXpert system.

Parameters
roleThe role to be deleted from the system.
Returns
The Result of deleting the role.

Definition at line 468 of file VXSystem.cpp.

468  {
469  // Create a role object using the roleItem
470  VxSdk::IVxRole* delRole = roleItem->_role;
471 
472  // To delete a role simply make a DeleteRole call
473  VxSdk::VxResult::Value result = delRole->DeleteRole();
474  // Unless there was an issue deleting the role the result should be VxSdk::VxResult::kOK
475  return CPPCli::Results::Value(result);
476 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value DeleteRole() const =0
CPPCli::Results::Value CPPCli::VXSystem::DeleteSchedule ( CPPCli::Schedule scheduleItem)

Delete a schedule from the VideoXpert system.

Parameters
scheduleItemThe schedule to be deleted from the system.
Returns
The Result of deleting the schedule.

Definition at line 478 of file VXSystem.cpp.

478  {
479  // Create a schedule object using the scheduleItem
480  VxSdk::IVxSchedule* delSchedule = scheduleItem->_schedule;
481 
482  // To delete a schedule simply make a DeleteSchedule call
483  VxSdk::VxResult::Value result = delSchedule->DeleteSchedule();
484  // Unless there was an issue deleting the schedule the result should be VxSdk::VxResult::kOK
485  return CPPCli::Results::Value(result);
486 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value DeleteSchedule() const =0
CPPCli::Results::Value CPPCli::VXSystem::DeleteSituation ( CPPCli::Situation situationItem)

Delete an existing situation from the system.

Parameters
situationItemThe situation to be deleted from the system.
Returns
The Result of deleting the situation.

Definition at line 488 of file VXSystem.cpp.

488  {
489  // Create a situation object using the situationItem
490  VxSdk::IVxSituation* delSituation = situationItem->_situation;
491 
492  // To delete a situation simply make a DeleteSituation call
493  VxSdk::VxResult::Value result = delSituation->DeleteSituation();
494  // Unless there was an issue deleting the situation the result should be VxSdk::VxResult::kOK
495  return CPPCli::Results::Value(result);
496 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value DeleteSituation() const =0
CPPCli::Results::Value CPPCli::VXSystem::DeleteTag ( CPPCli::Tag tagItem)

Delete a tag from the VideoXpert system.

Parameters
tagItemThe tag to be deleted from the system.
Returns
The Result of deleting the tag.

Definition at line 498 of file VXSystem.cpp.

498  {
499  // Create a tag object using the tagItem
500  VxSdk::IVxTag* delTag = tagItem->_tag;
501 
502  // To delete a tag simply make a DeleteTag call
503  VxSdk::VxResult::Value result = delTag->DeleteTag();
504  // Unless there was an issue deleting the tag the result should be VxSdk::VxResult::kOK
505  return CPPCli::Results::Value(result);
506 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value DeleteTag() const =0
CPPCli::Results::Value CPPCli::VXSystem::DeleteUser ( CPPCli::User userItem)

Delete a user from the VideoXpert system.

Parameters
userThe user to be deleted from the system.
Returns
The Result of deleting the user.

Definition at line 508 of file VXSystem.cpp.

508  {
509  // Create a user object using the tagItem
510  VxSdk::IVxUser* delUser = userItem->_user;
511 
512  // To delete a user simply make a DeleteUser call
513  VxSdk::VxResult::Value result = delUser->DeleteUser();
514  // Unless there was an issue deleting the user the result should be VxSdk::VxResult::kOK
515  return CPPCli::Results::Value(result);
516 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value DeleteUser() const =0
delegate void CPPCli::VXSystem::EventCallbackDelegate ( VxSdk::IVxEvent vxEvent)

The native event callback delegate.

Parameters
vxEventThe event sent from system.
delegate void CPPCli::VXSystem::EventDelegate ( Event vxEvent)

The managed event delegate.

Parameters
vxEventThe event sent from the system as a managed type.
List< CPPCli::AlarmInput^ > CPPCli::VXSystem::GetAlarmInputs ( )

Get the alarm inputs from the VideoXpert system.

Returns
A List containing the alarm inputs on the system.

Definition at line 518 of file VXSystem.cpp.

518  {
519  // Create a list of managed alarm input objects
520  List<AlarmInput^>^ mlist = gcnew List<AlarmInput^>();
521  // Create a collection of unmanaged alarm input objects
523 
524  // Make the GetAlarmInputs call, which will return with the total count of alarm inputs, this allows the client to allocate memory.
525  VxSdk::VxResult::Value result = _system->GetAlarmInputs(alarmInputs);
526  // Unless there are no alarm inputs on the system, this should return VxSdk::VxResult::kInsufficientSize
527  if (result == VxSdk::VxResult::kInsufficientSize) {
528  // An array of pointers is allocated using the size returned by the previous GetAlarmInputs call
529  alarmInputs.collection = new VxSdk::IVxAlarmInput*[alarmInputs.collectionSize];
530  result = _system->GetAlarmInputs(alarmInputs);
531  // The result should now be kOK since we have allocated enough space
532  if (result == VxSdk::VxResult::kOK) {
533  for (int i = 0; i < alarmInputs.collectionSize; i++)
534  mlist->Add(gcnew CPPCli::AlarmInput(alarmInputs.collection[i]));
535  }
536  // Remove the memory we previously allocated to the collection
537  delete[] alarmInputs.collection;
538  }
539  return mlist;
540 }
virtual VxResult::Value GetAlarmInputs(VxCollection< IVxAlarmInput ** > &alarmInputCollection) const =0
The AlarmInput class represents a physical alarm input.
Definition: AlarmInput.h:14
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
List< CPPCli::Bookmark^ > CPPCli::VXSystem::GetBookmarks ( )

Get the bookmarks from the VideoXpert system.

Returns
A List containing the bookmarks on the system.

Definition at line 542 of file VXSystem.cpp.

542  {
543  // Create a list of managed bookmark objects
544  List<CPPCli::Bookmark^>^ mlist = gcnew List<CPPCli::Bookmark^>();
545  // Create a collection of unmanaged bookmark objects
547 
548  // Make the GetBookmarks call, which will return with the total bookmark count, this allows the client to allocate memory
549  VxSdk::VxResult::Value result = _system->GetBookmarks(bookmarks);
550  // The result should be kInsufficientSize if the number of bookmarks on the system are greater than 0
551  if (result == VxSdk::VxResult::kInsufficientSize) {
552  // Allocate enough space for the IVxBookmark collection
553  bookmarks.collection = new VxSdk::IVxBookmark*[bookmarks.collectionSize];
554  result = _system->GetBookmarks(bookmarks);
555  // The result should now be kOK since we have allocated enough space
556  if (result == VxSdk::VxResult::kOK) {
557  for (int i = 0; i < bookmarks.collectionSize; i++) {
558  mlist->Add(gcnew CPPCli::Bookmark(bookmarks.collection[i]));
559  }
560  }
561  // Remove the memory we previously allocated to the collection
562  delete[] bookmarks.collection;
563  }
564  return mlist;
565 }
virtual VxResult::Value GetBookmarks(VxCollection< IVxBookmark ** > &bookmarkCollection) const =0
The Bookmark class represents a point in time of interest with reference to a particular data source...
Definition: Bookmark.h:14
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
List< CPPCli::DataObject^ > CPPCli::VXSystem::GetDataObjects ( )

Get the data objects from the VideoXpert system.

Returns
A List containing the data objects on the system.

Definition at line 567 of file VXSystem.cpp.

567  {
568  // Create a list of managed data objects
569  List<CPPCli::DataObject^>^ mlist = gcnew List<CPPCli::DataObject^>();
570  // Create a collection of unmanaged data objects
572 
573  // Make the GetDataObjects call, which will return with the total data object count, this allows the client to allocate memory
574  VxSdk::VxResult::Value result = _system->GetDataObjects(dataObjects);
575  // The result should be kInsufficientSize if the number of data objects on the system are greater than 0
576  if (result == VxSdk::VxResult::kInsufficientSize) {
577  // Allocate enough space for the IVxDataObject collection
578  dataObjects.collection = new VxSdk::IVxDataObject*[dataObjects.collectionSize];
579  result = _system->GetDataObjects(dataObjects);
580  // The result should now be kOK since we have allocated enough space
581  if (result == VxSdk::VxResult::kOK) {
582  for (int i = 0; i < dataObjects.collectionSize; i++) {
583  mlist->Add(gcnew CPPCli::DataObject(dataObjects.collection[i]));
584  }
585  }
586  // Remove the memory we previously allocated to the collection
587  delete[] dataObjects.collection;
588  }
589  return mlist;
590 }
The DataObject class represents an object that contains a custom serialized data object submitted by ...
Definition: DataObject.h:16
virtual VxResult::Value GetDataObjects(VxCollection< IVxDataObject ** > &dataObjectCollection) const =0
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
Collections::Generic::List< CPPCli::DataSource^ > CPPCli::VXSystem::GetDataSources ( )

Get the data sources from the VideoXpert system.

Returns
A List containing the data sources on the system.

Definition at line 592 of file VXSystem.cpp.

592  {
593  // Create a list of managed data source objects
594  List<CPPCli::DataSource^>^ mlist = gcnew List<CPPCli::DataSource^>();
595  // Create a collection of unmanaged data source objects
597 
598  // Make the GetDataSources call, which will return with the total data source count, this allows the client to allocate memory.
599  VxSdk::VxResult::Value result = _system->GetDataSources(dataSources);
600  // Unless there are no data sources on the system, this should return VxSdk::VxResult::kInsufficientSize
601  if (result == VxSdk::VxResult::kInsufficientSize) {
602  // Allocate enough space for the IVxDataSource collection
603  dataSources.collection = new VxSdk::IVxDataSource*[dataSources.collectionSize];
604  result = _system->GetDataSources(dataSources);
605  // The result should now be kOK since we have allocated enough space
606  if (result == VxSdk::VxResult::kOK) {
607  for (int i = 0; i < dataSources.collectionSize; i++)
608  mlist->Add(gcnew CPPCli::DataSource(dataSources.collection[i]));
609  }
610  // Remove the memory we previously allocated to the collection
611  delete[] dataSources.collection;
612  }
613  return mlist;
614 }
virtual VxResult::Value GetDataSources(VxCollection< IVxDataSource ** > &dataSourceCollection) const =0
The DataSource class represents a data producer in the system hosted by a device. Each DataSource pro...
Definition: DataSource.h:20
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
List< CPPCli::DataStorage^ > CPPCli::VXSystem::GetDataStorages ( )

Get the data storages residing on the system.

Returns
A List containing the data storages.

Definition at line 616 of file VXSystem.cpp.

616  {
617  // Create a list of managed data storage objects
618  List<CPPCli::DataStorage^>^ mlist = gcnew List<CPPCli::DataStorage^>();
619  // Create a collection of unmanaged data storage objects
621 
622  // Make the GetDataStorages call, which will return with the total storage count, this allows the client to allocate memory
623  VxSdk::VxResult::Value result = _system->GetDataStorages(dataStorages);
624  // The result should be kInsufficientSize if the number of data storages on the system are greater than 0
625  if (result == VxSdk::VxResult::kInsufficientSize) {
626  // Allocate enough space for the IVxDataStorage collection
627  dataStorages.collection = new VxSdk::IVxDataStorage*[dataStorages.collectionSize];
628  result = _system->GetDataStorages(dataStorages);
629  // The result should now be kOK since we have allocated enough space
630  if (result == VxSdk::VxResult::kOK) {
631  for (int i = 0; i < dataStorages.collectionSize; i++) {
632  mlist->Add(gcnew CPPCli::DataStorage(dataStorages.collection[i]));
633  }
634  }
635  // Remove the memory we previously allocated to the collection
636  delete[] dataStorages.collection;
637  }
638  return mlist;
639 }
The DataStorage class represents a data storage provider in the system (e.g. an NSM5200 storage pool ...
Definition: DataStorage.h:18
virtual VxResult::Value GetDataStorages(VxCollection< IVxDataStorage ** > &dataStorageCollection) const =0
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
List< CPPCli::DeviceAssignment^ > CPPCli::VXSystem::GetDeviceAssignments ( )

Get the device assignments residing on the system.

Returns
A List containing the device assignments.

Definition at line 641 of file VXSystem.cpp.

641  {
642  // Create a list of managed device assignment objects
643  List<DeviceAssignment^>^ mlist = gcnew List<DeviceAssignment^>();
644  // Create a collection of unmanaged device assignment objects
646 
647  // Make the GetDeviceAssignments call, which will return with the total count of device assignments, this allows the client to allocate memory.
648  VxSdk::VxResult::Value result = _system->GetDeviceAssignments(deviceAssignments);
649  // Unless there are no device assignments on the system, this should return VxSdk::VxResult::kInsufficientSize
650  if (result == VxSdk::VxResult::kInsufficientSize) {
651  // An array of pointers is allocated using the size returned by the previous GetDeviceAssignments call
652  deviceAssignments.collection = new VxSdk::IVxDeviceAssignment*[deviceAssignments.collectionSize];
653  result = _system->GetDeviceAssignments(deviceAssignments);
654  // The result should now be kOK since we have allocated enough space
655  if (result == VxSdk::VxResult::kOK) {
656  for (int i = 0; i < deviceAssignments.collectionSize; i++)
657  mlist->Add(gcnew CPPCli::DeviceAssignment(deviceAssignments.collection[i]));
658  }
659  // Remove the memory we previously allocated to the collection
660  delete[] deviceAssignments.collection;
661  }
662  return mlist;
663 }
The DeviceAssignment class represents a device assignment.
virtual VxResult::Value GetDeviceAssignments(VxCollection< IVxDeviceAssignment ** > &deviceAssignmentCollection) const =0
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
Collections::Generic::List< CPPCli::Device^ > CPPCli::VXSystem::GetDevices ( )

Get the devices from the VideoXpert system.

Returns
A List containing the devices on the system.

Definition at line 665 of file VXSystem.cpp.

665  {
666  // Create a list of managed device objects
667  List<CPPCli::Device^>^ mlist = gcnew List<CPPCli::Device^>();
668  // Create a collection of unmanaged device objects
670 
671  // Make the GetDevices call, which will return with the total device count, this allows the client to allocate memory.
672  VxSdk::VxResult::Value result = _system->GetDevices(devices);
673  // Unless there are no devices on the system, this should return VxSdk::VxResult::kInsufficientSize
674  if (result == VxSdk::VxResult::kInsufficientSize) {
675  // Allocate enough space for the IVxDevice collection
676  devices.collection = new VxSdk::IVxDevice*[devices.collectionSize];
677  result = _system->GetDevices(devices);
678  // The result should now be kOK since we have allocated enough space
679  if (result == VxSdk::VxResult::kOK) {
680  for (int i = 0; i < devices.collectionSize; i++)
681  mlist->Add(gcnew CPPCli::Device(devices.collection[i]));
682  }
683  // Remove the memory we previously allocated to the collection
684  delete[] devices.collection;
685  }
686  return mlist;
687 }
virtual VxResult::Value GetDevices(VxCollection< IVxDevice ** > &deviceCollection) const =0
The Device class represents a particular physical device in the system.
Definition: Device.h:15
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
List< CPPCli::Drawing^ > CPPCli::VXSystem::GetDrawings ( )

Get the drawings from the VideoXpert system.

Returns
A List containing the drawings on the system.

Definition at line 737 of file VXSystem.cpp.

737  {
738  // Create a list of managed drawing objects
739  List<CPPCli::Drawing^>^ mlist = gcnew List<CPPCli::Drawing^>();
740  // Create a collection of unmanaged drawing objects
742 
743  // Make the GetDrawings call, which will return with the total drawing count, this allows the client to allocate memory
744  VxSdk::VxResult::Value result = _system->GetDrawings(drawings);
745  // The result should be kInsufficientSize if the number of drawings on the system are greater than 0
746  if (result == VxSdk::VxResult::kInsufficientSize) {
747  // Allocate enough space for the IVxDrawing collection
748  drawings.collection = new VxSdk::IVxDrawing*[drawings.collectionSize];
749  result = _system->GetDrawings(drawings);
750  // The result should now be kOK since we have allocated enough space
751  if (result == VxSdk::VxResult::kOK) {
752  for (int i = 0; i < drawings.collectionSize; i++) {
753  mlist->Add(gcnew CPPCli::Drawing(drawings.collection[i]));
754  }
755  }
756  // Remove the memory we previously allocated to the collection
757  delete[] drawings.collection;
758  }
759  return mlist;
760 }
virtual VxResult::Value GetDrawings(VxCollection< IVxDrawing ** > &drawingCollection) const =0
The Drawing class represents a diagrammatic representation of an area. A drawing may contain any numb...
Definition: Drawing.h:17
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
List< CPPCli::Export^ > CPPCli::VXSystem::GetExports ( )

Get the exports residing on the system.

Returns
A List containing the exports on the system.

Definition at line 762 of file VXSystem.cpp.

762  {
763  // Create a list of managed export objects
764  List<CPPCli::Export^>^ mlist = gcnew List<CPPCli::Export^>();
765  // Create a collection of unmanaged export objects
767 
768  // Make the GetExports call, which will return with the total export count, this allows the client to allocate memory.
769  VxSdk::VxResult::Value result = _system->GetExports(exports);
770  // Unless there are no exports on the system, this should return VxSdk::VxResult::kInsufficientSize
771  if (result == VxSdk::VxResult::kInsufficientSize) {
772  // Allocate enough space for the IVxExport collection
773  exports.collection = new VxSdk::IVxExport*[exports.collectionSize];
774  result = _system->GetExports(exports);
775  // The result should now be kOK since we have allocated enough space
776  if (result == VxSdk::VxResult::kOK) {
777  for (int i = 0; i < exports.collectionSize; i++)
778  mlist->Add(gcnew CPPCli::Export(exports.collection[i]));
779  }
780  // Remove the memory we previously allocated to the collection
781  delete[] exports.collection;
782  }
783  return mlist;
784 }
The Export class represents an exported data set that is archived within the system.
Definition: Export.h:15
virtual VxResult::Value GetExports(VxCollection< IVxExport ** > &exportCollection) const =0
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::License CPPCli::VXSystem::GetLicense ( )

Get the license from the system.

Returns
The system license.

Definition at line 786 of file VXSystem.cpp.

786  {
787  // Get the license object
788  VxSdk::IVxLicense* license = nullptr;
789  VxSdk::VxResult::Value result = _system->GetLicense(license);
790 
791  // Return the license if GetLicense was successful
792  if (result == VxSdk::VxResult::kOK)
793  return gcnew CPPCli::License(license);
794 
795  return nullptr;
796 }
The License class represents license information for the resource that owns this resource.
Definition: License.h:14
virtual VxResult::Value GetLicense(IVxLicense *&license) const =0
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
Collections::Generic::List< CPPCli::ManualRecording^ > CPPCli::VXSystem::GetManualRecordings ( )

Gets the manual recordings residing on the system.

Returns
A List containing the manual recordings on the system.

Definition at line 689 of file VXSystem.cpp.

689  {
690  // Create a list of managed manual recording objects
691  List<CPPCli::ManualRecording^>^ mlist = gcnew List<CPPCli::ManualRecording^>();
692  // Create a collection of unmanaged manual recording objects
694 
695  // Make the GetManualRecordings call, which will return with the total manual recording count, this allows the client to allocate memory.
696  VxSdk::VxResult::Value result = _system->GetManualRecordings(manualRecordings);
697  // Unless there are no manual recordings on the system, this should return VxSdk::VxResult::kInsufficientSize
698  if (result == VxSdk::VxResult::kInsufficientSize) {
699  // Allocate enough space for the IVxManualRecording collection
700  manualRecordings.collection = new VxSdk::IVxManualRecording*[manualRecordings.collectionSize];
701  result = _system->GetManualRecordings(manualRecordings);
702  // The result should now be kOK since we have allocated enough space
703  if (result == VxSdk::VxResult::kOK) {
704  for (int i = 0; i < manualRecordings.collectionSize; i++)
705  mlist->Add(gcnew CPPCli::ManualRecording(manualRecordings.collection[i]));
706  }
707  // Remove the memory we previously allocated to the collection
708  delete[] manualRecordings.collection;
709  }
710  return mlist;
711 }
The ManualRecording class represents an instance of an active manual recording (the action...
virtual VxResult::Value GetManualRecordings(VxCollection< IVxManualRecording ** > &manualRecordingCollection) const =0
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
List< CPPCli::Monitor^ > CPPCli::VXSystem::GetMonitors ( )

Get the monitors residing on the system.

Returns
A List containing the monitors on the system.

Definition at line 713 of file VXSystem.cpp.

713  {
714  // Create a list of managed monitor objects
715  List<CPPCli::Monitor^>^ mlist = gcnew List<CPPCli::Monitor^>();
716  // Create a collection of unmanaged monitor objects
718 
719  // Make the GetExports call, which will return with the total export count, this allows the client to allocate memory.
720  VxSdk::VxResult::Value result = _system->GetMonitors(monitors);
721  // Unless there are no exports on the system, this should return VxSdk::VxResult::kInsufficientSize
722  if (result == VxSdk::VxResult::kInsufficientSize) {
723  // Allocate enough space for the IVxExport collection
724  monitors.collection = new VxSdk::IVxMonitor*[monitors.collectionSize];
725  result = _system->GetMonitors(monitors);
726  // The result should now be kOK since we have allocated enough space
727  if (result == VxSdk::VxResult::kOK) {
728  for (int i = 0; i < monitors.collectionSize; i++)
729  mlist->Add(gcnew CPPCli::Monitor(monitors.collection[i]));
730  }
731  // Remove the memory we previously allocated to the collection
732  delete[] monitors.collection;
733  }
734  return mlist;
735 }
virtual VxResult::Value GetMonitors(VxCollection< IVxMonitor ** > &monitorCollection) const =0
The Monitor class represents a display for view data (typically video).
Definition: Monitor.h:15
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
List< CPPCli::Notification^ > CPPCli::VXSystem::GetNotifications ( )

Get the notifications from the VideoXpert system.

Returns
A List containing the notifications on the system.

Definition at line 798 of file VXSystem.cpp.

798  {
799  // Create a list of managed notification objects
800  List<CPPCli::Notification^>^ mlist = gcnew List<CPPCli::Notification^>();
801  // Create a collection of unmanaged notification objects
803 
804  // Make the GetNotifications call, which will return with the total notification count, this allows the client to allocate memory
805  VxSdk::VxResult::Value result = _system->GetNotifications(notifications);
806  // The result should be kInsufficientSize if the number of notifications on the system are greater than 0
807  if (result == VxSdk::VxResult::kInsufficientSize) {
808  // Allocate enough space for the IVxNotification collection
809  notifications.collection = new VxSdk::IVxNotification*[notifications.collectionSize];
810  result = _system->GetNotifications(notifications);
811  // The result should now be kOK since we have allocated enough space
812  if (result == VxSdk::VxResult::kOK) {
813  for (int i = 0; i < notifications.collectionSize; i++) {
814  mlist->Add(gcnew CPPCli::Notification(notifications.collection[i]));
815  }
816  }
817  // Remove the memory we previously allocated to the collection
818  delete[] notifications.collection;
819  }
820  return mlist;
821 }
virtual VxResult::Value GetNotifications(VxCollection< IVxNotification ** > &notificationCollection) const =0
The Notification class represents a particular notification configuration for a situation.
Definition: Notification.h:14
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
List< CPPCli::RelayOutput^ > CPPCli::VXSystem::GetRelayOutputs ( )

Get the relay outputs from the VideoXpert system.

Returns
A List containing the relay outputs on the system.

Definition at line 823 of file VXSystem.cpp.

823  {
824  // Create a list of managed relay output objects
825  List<RelayOutput^>^ mlist = gcnew List<RelayOutput^>();
826  // Create a collection of unmanaged relay output objects
828 
829  // Make the GetRelayOutputs call, which will return with the total count of relay outputs, this allows the client to allocate memory.
830  VxSdk::VxResult::Value result = _system->GetRelayOutputs(relayOutputs);
831  // Unless there are no relay outputs on the system, this should return VxSdk::VxResult::kInsufficientSize
832  if (result == VxSdk::VxResult::kInsufficientSize) {
833  // An array of pointers is allocated using the size returned by the previous GetRelayOutputs call
834  relayOutputs.collection = new VxSdk::IVxRelayOutput*[relayOutputs.collectionSize];
835  result = _system->GetRelayOutputs(relayOutputs);
836  // The result should now be kOK since we have allocated enough space
837  if (result == VxSdk::VxResult::kOK) {
838  for (int i = 0; i < relayOutputs.collectionSize; i++)
839  mlist->Add(gcnew CPPCli::RelayOutput(relayOutputs.collection[i]));
840  }
841  // Remove the memory we previously allocated to the collection
842  delete[] relayOutputs.collection;
843  }
844  return mlist;
845 }
The RelayOutput class represents a physical relay output.
Definition: RelayOutput.h:14
virtual VxResult::Value GetRelayOutputs(VxCollection< IVxRelayOutput ** > &relayOutputCollection) const =0
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
List< CPPCli::Role^ > CPPCli::VXSystem::GetRoles ( )

Get the roles from the VideoXpert system.

Returns
A List containing the roles on the system.

Definition at line 847 of file VXSystem.cpp.

847  {
848  // Create a list of managed role objects
849  List<CPPCli::Role^>^ mlist = gcnew List<CPPCli::Role^>();
850  // Create a collection of unmanaged role objects
852 
853  // Make the GetRoles call, which will return with the total role count, this allows the client to allocate memory
854  VxSdk::VxResult::Value result = _system->GetRoles(roles);
855  // The result should be kInsufficientSize if the number of roles on the system are greater than 0
856  if (result == VxSdk::VxResult::kInsufficientSize) {
857  // Allocate enough space for the IVxRole collection
858  roles.collection = new VxSdk::IVxRole*[roles.collectionSize];
859  result = _system->GetRoles(roles);
860  // The result should now be kOK since we have allocated enough space
861  if (result == VxSdk::VxResult::kOK) {
862  for (int i = 0; i < roles.collectionSize; i++) {
863  mlist->Add(gcnew CPPCli::Role(roles.collection[i]));
864  }
865  }
866  // Remove the memory we previously allocated to the collection
867  delete[] roles.collection;
868  }
869  return mlist;
870 }
virtual VxResult::Value GetRoles(VxCollection< IVxRole ** > &roleCollection) const =0
The Role class represents a collection of permissions which can be assigned to a user.
Definition: Role.h:14
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
List< CPPCli::Schedule^ > CPPCli::VXSystem::GetSchedules ( )

Get the schedules from the VideoXpert system.

Returns
A List containing the schedules on the system.

Definition at line 872 of file VXSystem.cpp.

872  {
873  // Create a list of managed schedule objects
874  List<CPPCli::Schedule^>^ mlist = gcnew List<CPPCli::Schedule^>();
875  // Create a collection of unmanaged schedule objects
877 
878  // Make the GetSchedules call, which will return with the total schedule count, this allows the client to allocate memory
879  VxSdk::VxResult::Value result = _system->GetSchedules(schedules);
880  // The result should be kInsufficientSize if the number of schedules on the system are greater than 0
881  if (result == VxSdk::VxResult::kInsufficientSize) {
882  // Allocate enough space for the IVxSchedule collection
883  schedules.collection = new VxSdk::IVxSchedule*[schedules.collectionSize];
884  result = _system->GetSchedules(schedules);
885  // The result should now be kOK since we have allocated enough space
886  if (result == VxSdk::VxResult::kOK) {
887  for (int i = 0; i < schedules.collectionSize; i++) {
888  mlist->Add(gcnew CPPCli::Schedule(schedules.collection[i]));
889  }
890  }
891  // Remove the memory we previously allocated to the collection
892  delete[] schedules.collection;
893  }
894  return mlist;
895 }
virtual VxResult::Value GetSchedules(VxCollection< IVxSchedule ** > &scheduleCollection) const =0
The Schedule class represents a recording schedule. A schedule is a group of 0 or more resources asso...
Definition: Schedule.h:17
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
List< CPPCli::Situation^ > CPPCli::VXSystem::GetSituations ( )

Get the situations residing on the system.

Returns
A List containing the situations on the system.

Definition at line 897 of file VXSystem.cpp.

897  {
898  // Create a list of managed situation objects
899  List<CPPCli::Situation^>^ mlist = gcnew List<CPPCli::Situation^>();
900  // Create a collection of unmanaged situation objects
902 
903  // Make the GetSituations call, which will return with the total situation count, this allows the client to allocate memory.
904  VxSdk::VxResult::Value result = _system->GetSituations(situations);
905  // The result should be kInsufficientSize if the number of situations on the system are greater than 0 (always)
906  if (result == VxSdk::VxResult::kInsufficientSize) {
907  // Allocate enough space for the IVxSituation collection
908  situations.collection = new VxSdk::IVxSituation*[situations.collectionSize];
909  result = _system->GetSituations(situations);
910  // The result should now be kOK since we have allocated enough space
911  if (result == VxSdk::VxResult::kOK) {
912  for (int i = 0; i < situations.collectionSize; i++) {
913  mlist->Add(gcnew CPPCli::Situation(situations.collection[i]));
914  }
915  }
916  // Remove the memory we previously allocated to the collection
917  delete[] situations.collection;
918  }
919  return mlist;
920 }
virtual VxResult::Value GetSituations(VxCollection< IVxSituation ** > &situationCollection) const =0
The Situation class represents a particular situation configuration that specifies how corresponding ...
Definition: Situation.h:15
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
List< CPPCli::Tag^ > CPPCli::VXSystem::GetTags ( )

Get the tags from the VideoXpert system.

Returns
A List containing the tags on the system.

Definition at line 922 of file VXSystem.cpp.

922  {
923  // Create a list of managed tag objects
924  List<CPPCli::Tag^>^ mlist = gcnew List<CPPCli::Tag^>();
925  // Create a collection of unmanaged tag objects
927 
928  // Make the GetTags call, which will return with the total tag count, this allows the client to allocate memory
929  VxSdk::VxResult::Value result = _system->GetTags(tags);
930  // The result should be kInsufficientSize if the number of tags on the system are greater than 0
931  if (result == VxSdk::VxResult::kInsufficientSize) {
932  // Allocate enough space for the IVxTag collection
933  tags.collection = new VxSdk::IVxTag*[tags.collectionSize];
934  result = _system->GetTags(tags);
935  // The result should now be kOK since we have allocated enough space
936  if (result == VxSdk::VxResult::kOK) {
937  for (int i = 0; i < tags.collectionSize; i++) {
938  mlist->Add(gcnew CPPCli::Tag(tags.collection[i]));
939  }
940  }
941  // Remove the memory we previously allocated to the collection
942  delete[] tags.collection;
943  }
944  return mlist;
945 }
virtual VxResult::Value GetTags(VxCollection< IVxTag ** > &tagCollection) const =0
The Tag class represents a non-hierarchical identifier typically associated with one or more resource...
Definition: Tag.h:17
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
List< CPPCli::User^ > CPPCli::VXSystem::GetUsers ( )

Get the users from the VideoXpert system.

Returns
A List containing the users on the system.

Definition at line 947 of file VXSystem.cpp.

947  {
948  // Create a list of managed tag objects
949  List<CPPCli::User^>^ mlist = gcnew List<CPPCli::User^>();
950  // Create a collection of unmanaged tag objects
952 
953  // Make the GetTags call, which will return with the total tag count, this allows the client to allocate memory
954  VxSdk::VxResult::Value result = _system->GetUsers(users);
955  // The result should be kInsufficientSize if the number of tags on the system are greater than 0
956  if (result == VxSdk::VxResult::kInsufficientSize) {
957  // Allocate enough space for the IVxTag collection
958  users.collection = new VxSdk::IVxUser*[users.collectionSize];
959  result = _system->GetUsers(users);
960  // The result should now be kOK since we have allocated enough space
961  if (result == VxSdk::VxResult::kOK) {
962  for (int i = 0; i < users.collectionSize; i++) {
963  mlist->Add(gcnew CPPCli::User(users.collection[i]));
964  }
965  }
966  // Remove the memory we previously allocated to the collection
967  delete[] users.collection;
968  }
969  return mlist;
970 }
virtual VxResult::Value GetUsers(VxCollection< IVxUser ** > &userCollection) const =0
The User class represents information about a system user.
Definition: User.h:16
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::InjectEvent ( CPPCli::NewEvent newEvent)

Insert a new event into the system.

Parameters
newEventThe new event to be injected into the system.
Returns
The Result of injecting the event.

Definition at line 972 of file VXSystem.cpp.

972  {
973  // Create a new VxNewEvent object using the information contained in newEvent
974  VxSdk::VxNewEvent vxEvent;
975  VxSdk::Utilities::StrCopySafe(vxEvent.generatorDeviceId, Utils::ConvertSysString(newEvent->GeneratorDeviceId));
976  VxSdk::Utilities::StrCopySafe(vxEvent.situationType, Utils::ConvertSysString(newEvent->SituationType));
977  VxSdk::Utilities::StrCopySafe(vxEvent.sourceDeviceId, Utils::ConvertSysString(newEvent->SourceDeviceId));
979  VxSdk::Utilities::StrCopySafe(vxEvent.sourceUserName, Utils::ConvertSysString(newEvent->SourceUserName));
980  int size = vxEvent.propertySize = newEvent->Properties->Count;
981  VxSdk::VxKvObject *kvObj = new VxSdk::VxKvObject[size];
982  vxEvent.properties = kvObj;
983  for (int i = 0; i < size; i++) {
984  VxSdk::Utilities::StrCopySafe(vxEvent.properties[i].key, Utils::ConvertSysString(newEvent->Properties[i].Key));
985  VxSdk::Utilities::StrCopySafe(vxEvent.properties[i].value, Utils::ConvertSysString(newEvent->Properties[i].Value));
986  }
987 
988  // Make the call to insert the event into VideoXpert
989  VxSdk::VxResult::Value result = _system->InsertEvent(vxEvent);
990  // Unless there was an issue inserting the event the result should be VxSdk::VxResult::kOK
991  if (result == VxSdk::VxResult::kOK) {
992  // Remove the memory we previously allocated
993  delete[] vxEvent.properties;
994  }
995  return CPPCli::Results::Value(result);
996 }
char generatorDeviceId[64]
char situationType[64]
char sourceUserName[64]
virtual VxResult::Value InsertEvent(VxNewEvent &newEvent) const =0
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
static void StrCopySafe(char(&dst)[dstSize], const char *src)
VxKvObject * properties
char sourceDeviceId[64]
static const char * ConvertDateTimeToChar(System::DateTime dateTime)
Convert a DateTime to a char.
Definition: Utils.h:280
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
char value[2048]
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
delegate void CPPCli::VXSystem::InternalEventCallbackDelegate ( VxSdk::VxInternalEvent vxInternalEvent)

The native internal event callback delegate.

Parameters
vxInternalEventThe internal event sent from the VxSDK.
delegate void CPPCli::VXSystem::InternalEventDelegate ( InternalEvent sdkEvent)

The managed internal event delegate.

Parameters
sdkEventThe internal event sent from the VxSDK as a managed type.
Results::Value CPPCli::VXSystem::Login ( System::String^  username,
System::String^  password 
)

Log in to the VideoXpert system.

Parameters
usernameThe user name to log in with.
passwordThe password to log in with.
Returns
The Result of the log in process.
Results::Value CPPCli::VXSystem::Login ( System::String^  authToken)

Log in to the VideoXpert system.

Parameters
authTokenThe auth token
Returns
The Result of the log in process.
CPPCli::Results::Value CPPCli::VXSystem::Refresh ( )

Update this instances properties.

Returns
The Result of updating the properties.

Definition at line 1035 of file VXSystem.cpp.

1035  {
1037 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value Refresh()=0
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::RemoveMonitor ( CPPCli::Monitor monitorItem)

Delete a monitor from the VideoXpert system.

Parameters
monitorItemThe monitor to be deleted from the system.
Returns
The Result of deleting the monitor.

Definition at line 1039 of file VXSystem.cpp.

1039  {
1040  // Create a monitor object using the monitorItem
1041  VxSdk::IVxMonitor* delMonitor = monitorItem->_monitor;
1042 
1043  // To delete a monitor simply make a RemoveMonitor call
1044  VxSdk::VxResult::Value result = delMonitor->RemoveMonitor();
1045  // Unless there was an issue deleting the monitor the result should be VxSdk::VxResult::kOK
1046  return CPPCli::Results::Value(result);
1047 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value RemoveMonitor() const =0
List< CPPCli::Event^ > CPPCli::VXSystem::SearchEvents ( System::String^  type,
System::DateTime^  start,
System::DateTime^  end,
int  index,
int  count 
)

Search for events on the system.

Parameters
typeThe situation type to search for.
startThe search start time.
endThe search end time.
indexThe index of the first element returned in this page of the collection.
countThe maximum number of items to return in a page.
Returns
A List containing matching events on the system.

Definition at line 1049 of file VXSystem.cpp.

1049  {
1050  // Create a list of managed event objects
1051  List<CPPCli::Event^>^ mlist = gcnew List<CPPCli::Event^>();
1052  // Create a collection of unmanaged event objects
1054 
1055  events.startIndex = index;
1056  events.filterSize = 4;
1057  VxSdk::VxCollectionFilter filters[4];
1058  events.filters = filters;
1060  VxSdk::Utilities::StrCopySafe(events.filters[0].value, Utils::ConvertSysString(type));
1061  events.filters[1].key = VxSdk::VxCollectionFilterItem::kSearchStartTime;
1062  VxSdk::Utilities::StrCopySafe(events.filters[1].value, CPPCli::Utils::ConvertDateTimeToChar(*start));
1063  events.filters[2].key = VxSdk::VxCollectionFilterItem::kSearchEndTime;
1065  events.filters[3].key = VxSdk::VxCollectionFilterItem::kCount;
1066  VxSdk::Utilities::StrCopySafe(events.filters[3].value, Utils::ConvertSysString(count.ToString()));
1067 
1068  // Make the GetEvents call, which will return with the total event count, this allows the client to allocate memory.
1069  VxSdk::VxResult::Value result = _system->GetEvents(events);
1070  // The result should be kInsufficientSize if the number of events on the system are greater than 0 (always)
1071  if (result == VxSdk::VxResult::kInsufficientSize) {
1072  // Allocate enough space for the IVxEvent collection
1073  events.collection = new VxSdk::IVxEvent*[events.collectionSize];
1074  result = _system->GetEvents(events);
1075  // The result should now be kOK since we have allocated enough space
1076  if (result == VxSdk::VxResult::kOK) {
1077  for (int i = 0; i < events.collectionSize; i++) {
1078  mlist->Add(gcnew CPPCli::Event(events.collection[i]));
1079  }
1080  }
1081  // Remove the memory we previously allocated to the collection
1082  delete[] events.collection;
1083  }
1084  return mlist;
1085 }
VxCollectionFilterItem::Value key
The Event class represents an instance of a particular situation that has occurred.
Definition: Event.h:15
static void StrCopySafe(char(&dst)[dstSize], const char *src)
virtual VxResult::Value GetEvents(VxCollection< IVxEvent ** > &eventCollection) const =0
static const char * ConvertDateTimeToChar(System::DateTime dateTime)
Convert a DateTime to a char.
Definition: Utils.h:280
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559
CPPCli::Results::Value CPPCli::VXSystem::SubscribeToEventsByType ( EventDelegate eventDelegate,
System::Collections::Generic::List< Situation^ >^  situations 
)

Subscribe to system events by situation type, regardless of its notification setting.

Parameters
eventDelegateThe event delegate to be used when an event is received.
situationsA List of situations to subscribe to.
Returns
The Result of subscribing.

Definition at line 1087 of file VXSystem.cpp.

1087  {
1088  VxSdk::VxCollection<VxSdk::IVxSituation**> situationCollection;
1089  situationCollection.collectionSize = situations->Count;
1090  situationCollection.collection = new VxSdk::IVxSituation*[situationCollection.collectionSize];
1091 
1092  // Add the situations to subscribe to
1093  for (int i = 0; i < situations->Count; i++)
1094  situationCollection.collection[i] = situations[i]->_situation;
1095 
1096  // Subscribe to the system events using the situation types
1098  VxSdk::VxEventCallback(Marshal::GetFunctionPointerForDelegate(_callback).ToPointer()), situationCollection);
1099 
1100  // Add a new subscription to the EventDelegate
1101  _systemEvent += eventDelegate;
1102  // Unless there was an issue subscribing the result should be VxSdk::VxResult::kOK
1103  return CPPCli::Results::Value(result);
1104 }
virtual VxResult::Value StartNotifications(VxEventCallback callback) const =0
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
static EventDelegate^ _systemEvent
Definition: VXSystem.h:563
void(* VxEventCallback)(IVxEvent *)
EventCallbackDelegate^ _callback
Definition: VXSystem.h:560
VxSdk::IVxSystem * _system
Definition: VXSystem.h:559

Member Data Documentation

EventCallbackDelegate ^ CPPCli::VXSystem::_callback
package

Definition at line 560 of file VXSystem.h.

InternalEventCallbackDelegate ^ CPPCli::VXSystem::_internalCallback
package

Definition at line 561 of file VXSystem.h.

VxSdk::VxLoginInfo* CPPCli::VXSystem::_loginInfo
package

Definition at line 562 of file VXSystem.h.

InternalEventDelegate ^ CPPCli::VXSystem::_sdkEvent
staticpackage

Definition at line 564 of file VXSystem.h.

VxSdk::IVxSystem* CPPCli::VXSystem::_system
package

Definition at line 559 of file VXSystem.h.

EventDelegate ^ CPPCli::VXSystem::_systemEvent
staticpackage

Definition at line 563 of file VXSystem.h.

Property Documentation

Configuration:: Cluster^ CPPCli::VXSystem::ClusterConfig
get

Gets the cluster configuration from the VideoXpert system.

The cluster configuration.

Definition at line 488 of file VXSystem.h.

User^ CPPCli::VXSystem::Currentuser
get

Gets the user currently accessing the VideoXpert system.

The current user.

Definition at line 496 of file VXSystem.h.

SearchStatus CPPCli::VXSystem::DeviceSearchStatus
get

Gets the current SearchStatus of an AutoAddDevices search.

The current SearchStatus of an AutoAddDevices search.

Definition at line 504 of file VXSystem.h.

CPPCli:: Device^ CPPCli::VXSystem::HostDevice
get

Gets the device that hosts this system.

The host device.

Definition at line 516 of file VXSystem.h.

System:: String^ CPPCli::VXSystem::Id
get

Gets the unique identifier of the VideoXpert system.

The unique identifier.

Definition at line 525 of file VXSystem.h.

System:: String^ CPPCli::VXSystem::Name
getset

Gets the friendly name of the VideoXpert system.

The friendly name.

Definition at line 533 of file VXSystem.h.

Event Documentation

InternalEventDelegate^ CPPCli::VXSystem::InternalEvent
addremove

InternalEvent is raised whenever a new internal event is sent from the VxSDK.

Definition at line 553 of file VXSystem.h.

EventDelegate^ CPPCli::VXSystem::SystemEvent
addremove

SystemEvent is raised whenever a new event is created on the system.

Definition at line 545 of file VXSystem.h.


The documentation for this class was generated from the following files: