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

The DataSource class represents a data producer in the system hosted by a device. Each DataSource provides a list of DataInterface, each of which provides a particular protocol used to transmit and control the data produced by this DataSource. More...

#include <DataSource.h>

Public Types

enum  Types {
  Types::Unknown,
  Types::Video,
  Types::Audio
}
 Values that represent the particular type of a data source. More...
 
enum  States {
  States::Unknown,
  States::Offline,
  States::Online
}
 Values that represent the operational state of a device. More...
 

Public Member Functions

 DataSource (VxSdk::IVxDataSource *vxDataSource)
 Constructor. More...
 
virtual ~DataSource ()
 Destructor. More...
 
 !DataSource ()
 Finaliser. More...
 
CPPCli::DataSessionCreateMjpegStream ()
 Create a new MJPEG stream. More...
 
Results::Value Refresh ()
 Refreshes this instances properties. More...
 

Package Functions

bool _CanPtz ()
 
System::Collections::Generic::List< DataStorage^ >^ _GetAllDataStorages ()
 
System::Collections::Generic::List< ResourceRel^ >^ _GetAudioRelations ()
 
System::Collections::Generic::List< Clip^ >^ _GetClips ()
 
System::Collections::Generic::List< DataInterface^ >^ _GetDataInterfaces ()
 
System::Collections::Generic::List< DataStorage^ >^ _GetDataStorages ()
 
System::Collections::Generic::List< Clip^ >^ _GetEdgeClips ()
 
CPPCli::Device_GetHostDevice ()
 
ResourceRel_GetLinkedAudioRelation ()
 
System::Collections::Generic::List< UserInfo^ >^ _GetMultiviewInfo ()
 
PtzController_GetPtzController ()
 
System::String^ _GetRtspEndpoint ()
 
System::Collections::Generic::List< ResourceRel^ >^ _GetVideoRelations ()
 

Package Attributes

VxSdk::IVxDataSource_dataSource
 

Properties

System::Collections::Generic::List< DataStorage^ >^ AllDataStorages [get]
 Gets all data storages associated with this data source; includes edge and failover data storages. More...
 
System::Collections::Generic::List< ResourceRel^ >^ AudioRelations [get]
 Gets all possible audio resource relations for this data source (both linked and non-linked). Each linked resource shall be considered to be associated to this data source while non-linked resources shall not be (they are available to be associated). More...
 
System::Collections::Generic::List< Clip^ >^ Clips [get]
 Gets the clips associated with this data source. More...
 
System::Collections::Generic::List< DataInterface^ >^ DataInterfaces [get]
 Gets all interfaces available for retrieval of data from this data source. More...
 
System::Collections::Generic::List< DataStorage^ >^ DataStorages [get]
 Gets the data storages that this data source is associated with. More...
 
System::Collections::Generic::List< Clip^ >^ EdgeClips [get]
 Gets the edge clips associated with this data source; may take a long time (minutes). More...
 
bool HasLiveStream [get]
 Gets a value indicating whether the live stream is available. More...
 
bool HasRecordedVideo [get]
 Gets a value indicating whether the recorded video is available. More...
 
CPPCli::Device^  HostDevice [get]
 Gets the device that hosts this data source. More...
 
System::String^  Id [get]
 Gets the unique identifier for this data source. More...
 
int Index [get]
 Gets the zero-based index (per host device) indicating the "position" of the data source (per data source type) within the host device. More...
 
System::String^  Ip [get]
 Gets the IP. More...
 
bool IsCapturing [get]
 Gets a value indicating whether this data source is currently being captured by a recorder. More...
 
bool IsPTZ [get]
 Gets a value indicating whether PTZ is enabled. More...
 
bool IsRecording [get]
 Gets a value indicating whether the data source is currently recording. More...
 
ResourceRel^  LinkedAudioRelation [get]
 Gets the currently linked audio resource relation for this data source, if any. More...
 
System::Collections::Generic::List< UserInfo^ >^ MultiviewInfo [get]
 Gets the multiple viewer information for this data source. This information contains details on the current viewers of this data source. More...
 
System::String^  Name [get, set]
 Gets or sets the friendly name. More...
 
int Number [get, set]
 Gets or sets the number used to designate the data source. More...
 
PtzController^  PTZController [get]
 Gets the PtzController associated with this data source. More...
 
System::String^  RtspEndpoint [get]
 Gets the RTSP stream endpoint URI. More...
 
System::String^  SnapshotUri [get]
 Gets the URI to retrieve the current live frame. More...
 
States State [get]
 Gets the current operational state of the associated device. More...
 
Types Type [get]
 Gets the type of media this data source contains. More...
 
System::Collections::Generic::List< ResourceRel^ >^ VideoRelations [get]
 Gets all possible video resource relations for this data source (both linked and non-linked). Each linked resource shall be considered to be associated to this data source while non-linked resources shall not be (they are available to be associated). More...
 

Detailed Description

The DataSource class represents a data producer in the system hosted by a device. Each DataSource provides a list of DataInterface, each of which provides a particular protocol used to transmit and control the data produced by this DataSource.

Definition at line 20 of file DataSource.h.

Member Enumeration Documentation

Values that represent the operational state of a device.

Enumerator
Unknown 

An error or unknown value was returned.

Offline 

The device is offline.

Online 

The device is online.

Definition at line 40 of file DataSource.h.

40  {
42  Unknown,
43 
45  Offline,
46 
48  Online
49  };

Values that represent the particular type of a data source.

Enumerator
Unknown 

An error or unknown value was returned.

Video 

A video data source.

Audio 

An audio data source.

Definition at line 26 of file DataSource.h.

26  {
28  Unknown,
29 
31  Video,
32 
34  Audio
35  };

Constructor & Destructor Documentation

CPPCli::DataSource::DataSource ( VxSdk::IVxDataSource vxDataSource)

Constructor.

Parameters
vxDataSourceThe vx data source.

Definition at line 10 of file DataSource.cpp.

10  {
11  _dataSource = vxDataSource;
12 }
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319
virtual CPPCli::DataSource::~DataSource ( )
inlinevirtual

Destructor.

Definition at line 60 of file DataSource.h.

60  {
61  this->!DataSource();
62  }
DataSource(VxSdk::IVxDataSource *vxDataSource)
Constructor.
Definition: DataSource.cpp:10
CPPCli::DataSource::!DataSource ( )

Finaliser.

Definition at line 14 of file DataSource.cpp.

14  {
16  _dataSource = nullptr;
17 }
virtual VxResult::Value Delete() const =0
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319

Member Function Documentation

bool CPPCli::DataSource::_CanPtz ( )
package

Definition at line 36 of file DataSource.cpp.

36  {
37  bool result;
38  _dataSource->CanPtz(result);
39  return result;
40 }
virtual VxResult::Value CanPtz(bool &canPtz) const =0
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319
List< CPPCli::DataStorage^ > CPPCli::DataSource::_GetAllDataStorages ( )
package

Definition at line 42 of file DataSource.cpp.

42  {
43  // Create a list of managed data storages
44  List<DataStorage^>^ mlist = gcnew List<DataStorage^>();
45  // Create a collection of unmanaged data storages
47 
48  // Make the GetAllDataStorages call, which will return with the total data storage count, this allows the client to allocate memory.
50  // As long as there are data storages from this datasource the result should be VxSdk::VxResult::kInsufficientSize
51  if (result == VxSdk::VxResult::kInsufficientSize) {
52  // Allocate enough space for the IVxDataStorage collection
53  dataStorages.collection = new VxSdk::IVxDataStorage*[dataStorages.collectionSize];
54  result = _dataSource->GetAllDataStorages(dataStorages);
55  // The result should now be kOK since we have allocated enough space
56  if (result == VxSdk::VxResult::kOK) {
57  for (int i = 0; i < dataStorages.collectionSize; i++)
58  mlist->Add(gcnew CPPCli::DataStorage(dataStorages.collection[i]));
59  }
60  // Remove the memory we previously allocated to the collection
61  delete[] dataStorages.collection;
62  }
63  return mlist;
64 }
The DataStorage class represents a data storage provider in the system (e.g. an NSM5200 storage pool ...
Definition: DataStorage.h:18
virtual VxResult::Value GetAllDataStorages(VxCollection< IVxDataStorage ** > &dataStorageCollection) const =0
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319
List< CPPCli::ResourceRel^ > CPPCli::DataSource::_GetAudioRelations ( )
package

Definition at line 66 of file DataSource.cpp.

66  {
67  // Create a list of managed related resources
68  List<ResourceRel^>^ mlist = gcnew List<ResourceRel^>();
69  // Create a collection of unmanaged related resources
71 
72  // Make the GetAudioRelations call, which will return with the total resource count, this allows the client to allocate memory.
74  // As long as there are related resources for this datasource the result should be VxSdk::VxResult::kInsufficientSize
75  if (result == VxSdk::VxResult::kInsufficientSize) {
76  // Allocate enough space for the IVxResourceRel collection
77  resourceRels.collection = new VxSdk::IVxResourceRel*[resourceRels.collectionSize];
78  result = _dataSource->GetAudioRelations(resourceRels);
79  // The result should now be kOK since we have allocated enough space
80  if (result == VxSdk::VxResult::kOK) {
81  for (int i = 0; i < resourceRels.collectionSize; i++)
82  mlist->Add(gcnew CPPCli::ResourceRel(resourceRels.collection[i]));
83  }
84  // Remove the memory we previously allocated to the collection
85  delete[] resourceRels.collection;
86  }
87  return mlist;
88 }
virtual VxResult::Value GetAudioRelations(VxCollection< IVxResourceRel ** > &resourceRelCollection) const =0
The ResourceRel class represents a related resource; that is, a resource that is related in some way ...
Definition: ResourceRel.h:15
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319
List< CPPCli::Clip^ > CPPCli::DataSource::_GetClips ( )
package

Definition at line 90 of file DataSource.cpp.

90  {
91  // Create a list of managed clips
92  List<Clip^>^ mlist = gcnew List<Clip^>();
93  // Create a collection of unmanaged clips
95 
96  // Make the GetClips call, which will return with the total clip count, this allows the client to allocate memory.
98  // As long as there are clips from this datasource the result should be VxSdk::VxResult::kInsufficientSize
99  if (result == VxSdk::VxResult::kInsufficientSize) {
100  // Allocate enough space for the IVxClip collection
101  clips.collection = new VxSdk::IVxClip*[clips.collectionSize];
102  result = _dataSource->GetClips(clips);
103  // The result should now be kOK since we have allocated enough space
104  if (result == VxSdk::VxResult::kOK) {
105  for (int i = 0; i < clips.collectionSize; i++)
106  mlist->Add(gcnew CPPCli::Clip(clips.collection[i]));
107  }
108  // Remove the memory we previously allocated to the collection
109  delete[] clips.collection;
110  }
111  return mlist;
112 }
The Clip class represents a contiguous duration of stored media originating from a single DataSource...
Definition: Clip.h:14
virtual VxResult::Value GetClips(VxCollection< IVxClip ** > &clipCollection) const =0
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319
List< CPPCli::DataInterface^ > CPPCli::DataSource::_GetDataInterfaces ( )
package

Definition at line 114 of file DataSource.cpp.

114  {
115  // Create a list of managed export objects
116  List<DataInterface^>^ mlist = gcnew List<DataInterface^>();
117  for (int i = 0; i < _dataSource->dataInterfaceSize; i++)
118  mlist->Add(gcnew DataInterface(_dataSource->dataInterfaces[i]));
119 
120  return mlist;
121 }
IVxDataInterface ** dataInterfaces
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319
List< CPPCli::DataStorage^ > CPPCli::DataSource::_GetDataStorages ( )
package

Definition at line 123 of file DataSource.cpp.

123  {
124  // Create a list of managed data storages
125  List<DataStorage^>^ mlist = gcnew List<DataStorage^>();
126  // Create a collection of unmanaged data storages
128 
129  // Make the GetDataStorages call, which will return with the total data storage count, this allows the client to allocate memory.
130  VxSdk::VxResult::Value result = _dataSource->GetDataStorages(dataStorages);
131  // As long as there are data storages from this datasource the result should be VxSdk::VxResult::kInsufficientSize
132  if (result == VxSdk::VxResult::kInsufficientSize) {
133  // Allocate enough space for the IVxDataStorage collection
134  dataStorages.collection = new VxSdk::IVxDataStorage*[dataStorages.collectionSize];
135  result = _dataSource->GetDataStorages(dataStorages);
136  // The result should now be kOK since we have allocated enough space
137  if (result == VxSdk::VxResult::kOK) {
138  for (int i = 0; i < dataStorages.collectionSize; i++)
139  mlist->Add(gcnew CPPCli::DataStorage(dataStorages.collection[i]));
140  }
141  // Remove the memory we previously allocated to the collection
142  delete[] dataStorages.collection;
143  }
144  return mlist;
145 }
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::IVxDataSource * _dataSource
Definition: DataSource.h:319
List< CPPCli::Clip^ > CPPCli::DataSource::_GetEdgeClips ( )
package

Definition at line 147 of file DataSource.cpp.

147  {
148  // Create a list of managed clips
149  List<Clip^>^ mlist = gcnew List<Clip^>();
150  // Create a collection of unmanaged clips
152 
153  // Make the GetEdgeClips call, which will return with the total clip count, this allows the client to allocate memory.
155  // As long as there are clips from this datasource the result should be VxSdk::VxResult::kInsufficientSize
156  if (result == VxSdk::VxResult::kInsufficientSize) {
157  // Allocate enough space for the IVxClip collection
158  clips.collection = new VxSdk::IVxClip*[clips.collectionSize];
159  result = _dataSource->GetEdgeClips(clips);
160  // The result should now be kOK since we have allocated enough space
161  if (result == VxSdk::VxResult::kOK) {
162  for (int i = 0; i < clips.collectionSize; i++)
163  mlist->Add(gcnew CPPCli::Clip(clips.collection[i]));
164  }
165  // Remove the memory we previously allocated to the collection
166  delete[] clips.collection;
167  }
168  return mlist;
169 }
The Clip class represents a contiguous duration of stored media originating from a single DataSource...
Definition: Clip.h:14
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319
virtual VxResult::Value GetEdgeClips(VxCollection< IVxClip ** > &clipCollection) const =0
CPPCli::Device CPPCli::DataSource::_GetHostDevice ( )
package

Definition at line 171 of file DataSource.cpp.

171  {
172  // Get the device which hosts this data source
173  VxSdk::IVxDevice* device = nullptr;
175 
176  // Return the device if GetHostDevice was successful
177  if (result == VxSdk::VxResult::kOK)
178  return gcnew Device(device);
179 
180  return nullptr;
181 }
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319
virtual VxResult::Value GetHostDevice(IVxDevice *&hostDevice) const =0
CPPCli::ResourceRel CPPCli::DataSource::_GetLinkedAudioRelation ( )
package

Definition at line 183 of file DataSource.cpp.

183  {
184  // Create a managed ResourceRel object
185  CPPCli::ResourceRel^ resourceRel = nullptr;
186  // Create a collection of unmanaged related resources
188  resourceRels.filterSize = 1;
189  VxSdk::VxCollectionFilter filters[1];
190  resourceRels.filters = filters;
191  resourceRels.filters[0].key = VxSdk::VxCollectionFilterItem::kLinked;
192  VxSdk::Utilities::StrCopySafe(resourceRels.filters[0].value, Utils::ConvertSysString("true"));
193 
194  // Make the GetAudioRelations call, which will return with the total resource count, this allows the client to allocate memory.
195  VxSdk::VxResult::Value result = _dataSource->GetAudioRelations(resourceRels);
196  // As long as there are related resources for this datasource the result should be VxSdk::VxResult::kInsufficientSize
197  if (result == VxSdk::VxResult::kInsufficientSize) {
198  // Allocate enough space for the IVxResourceRel collection
199  resourceRels.collection = new VxSdk::IVxResourceRel*[resourceRels.collectionSize];
200  result = _dataSource->GetAudioRelations(resourceRels);
201  // The result should now be kOK since we have allocated enough space
202  if (result == VxSdk::VxResult::kOK) {
203  if (resourceRels.collectionSize > 0)
204  resourceRel = gcnew CPPCli::ResourceRel(resourceRels.collection[0]);
205  }
206 
207  // Remove the memory we previously allocated to the collection
208  delete[] resourceRels.collection;
209  }
210  return resourceRel;
211 }
static void StrCopySafe(char(&dst)[dstSize], const char *src)
virtual VxResult::Value GetAudioRelations(VxCollection< IVxResourceRel ** > &resourceRelCollection) const =0
The ResourceRel class represents a related resource; that is, a resource that is related in some way ...
Definition: ResourceRel.h:15
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319
VxCollectionFilter * filters
static const char * ConvertSysString(System::String^ sysString)
Convert a system string to a char.
Definition: Utils.h:233
System::Collections::Generic::List< CPPCli::UserInfo^ > CPPCli::DataSource::_GetMultiviewInfo ( )
package

Definition at line 213 of file DataSource.cpp.

213  {
214  // Create a list of managed user info objects
215  List<UserInfo^>^ mlist = gcnew List<UserInfo^>();
216  // Create a collection of unmanaged user info objects
218 
219  // Make the GetMultiviewInfo call, which will return with the total user info object count, this allows the client to allocate memory.
221  // As long as there are user info objects for this datasource the result should be VxSdk::VxResult::kInsufficientSize
222  if (result == VxSdk::VxResult::kInsufficientSize) {
223  // Allocate enough space for the IVxUserInfo collection
224  userInfos.collection = new VxSdk::IVxUserInfo*[userInfos.collectionSize];
225  result = _dataSource->GetMultiviewInfo(userInfos);
226  // The result should now be kOK since we have allocated enough space
227  if (result == VxSdk::VxResult::kOK) {
228  for (int i = 0; i < userInfos.collectionSize; i++)
229  mlist->Add(gcnew CPPCli::UserInfo(userInfos.collection[i]));
230  }
231  // Remove the memory we previously allocated to the collection
232  delete[] userInfos.collection;
233  }
234  return mlist;
235 }
virtual VxResult::Value GetMultiviewInfo(VxCollection< IVxUserInfo ** > &userInfoCollection) const =0
The UserInfo class represents general information about a user.
Definition: UserInfo.h:14
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319
CPPCli::PtzController CPPCli::DataSource::_GetPtzController ( )
package

Definition at line 237 of file DataSource.cpp.

237  {
238  // Check to ensure this datasource is a ptz camera
239  bool isPtz;
240  VxSdk::VxResult::Value result = _dataSource->CanPtz(isPtz);
241 
242  if (isPtz) {
243  // Get the ptz controller which allows the client to make ptz calls
244  VxSdk::IVxPtzController* ptzController = nullptr;
245  result = _dataSource->GetPtzController(ptzController);
246 
247  // Return the ptz controller if GetPtzController was successful
248  if (result == VxSdk::VxResult::kOK)
249  return gcnew PtzController(ptzController);
250  }
251  return nullptr;
252 }
virtual VxResult::Value CanPtz(bool &canPtz) const =0
virtual VxResult::Value GetPtzController(IVxPtzController *&ptzController) const =0
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319
System::String CPPCli::DataSource::_GetRtspEndpoint ( )
package

Definition at line 254 of file DataSource.cpp.

254  {
255  char* rtspEndpoint = nullptr;
256  int size = 0;
257 
258  // If the rtsp uri is not available on the datasource the result will return VxSdk::VxResult::kActionUnavailable,
259  // otherwise VxSdk::VxResult::kInsufficientSize
260  VxSdk::VxResult::Value result = _dataSource->GetRtspEndpoint(rtspEndpoint, size);
261  if (result == VxSdk::VxResult::kInsufficientSize) {
262  // Allocate enough space for rtspEndpoint
263  rtspEndpoint = new char[size];
264  // The result should now be kOK since we have allocated enough space
265  _dataSource->GetRtspEndpoint(rtspEndpoint, size);
266  }
267  return gcnew System::String(rtspEndpoint);
268 }
virtual VxResult::Value GetRtspEndpoint(char *endpoint, int &size) const =0
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319
List< CPPCli::ResourceRel^ > CPPCli::DataSource::_GetVideoRelations ( )
package

Definition at line 270 of file DataSource.cpp.

270  {
271  // Create a list of managed related resources
272  List<ResourceRel^>^ mlist = gcnew List<ResourceRel^>();
273  // Create a collection of unmanaged related resources
275 
276  // Make the GetVideoRelations call, which will return with the total resource count, this allows the client to allocate memory.
277  VxSdk::VxResult::Value result = _dataSource->GetVideoRelations(resourceRels);
278  // As long as there are related resources for this datasource the result should be VxSdk::VxResult::kInsufficientSize
279  if (result == VxSdk::VxResult::kInsufficientSize) {
280  // Allocate enough space for the IVxResourceRel collection
281  resourceRels.collection = new VxSdk::IVxResourceRel*[resourceRels.collectionSize];
282  result = _dataSource->GetVideoRelations(resourceRels);
283  // The result should now be kOK since we have allocated enough space
284  if (result == VxSdk::VxResult::kOK) {
285  for (int i = 0; i < resourceRels.collectionSize; i++)
286  mlist->Add(gcnew CPPCli::ResourceRel(resourceRels.collection[i]));
287  }
288  // Remove the memory we previously allocated to the collection
289  delete[] resourceRels.collection;
290  }
291  return mlist;
292 }
virtual VxResult::Value GetVideoRelations(VxCollection< IVxResourceRel ** > &resourceRelCollection) const =0
The ResourceRel class represents a related resource; that is, a resource that is related in some way ...
Definition: ResourceRel.h:15
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319
CPPCli::DataSession CPPCli::DataSource::CreateMjpegStream ( )

Create a new MJPEG stream.

Returns
nullptr if it fails, else the new MJPEG streams DataSession.

Definition at line 19 of file DataSource.cpp.

19  {
20  // Create a data session object
21  VxSdk::IVxDataSession* dataSession;
22 
23  // If the mjpeg protocol is not available on the datasource the result will return VxSdk::VxResult::kActionUnavailable,
24  // otherwise VxSdk::VxResult::kOK
26  if (result == VxSdk::VxResult::kOK)
27  return gcnew DataSession(dataSession);
28 
29  return nullptr;
30 }
virtual VxResult::Value CreateMjpegDataSession(IVxDataSession *&dataSession) const =0
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319
CPPCli::Results::Value CPPCli::DataSource::Refresh ( )

Refreshes this instances properties.

Returns
The Result of updating the properties.

Definition at line 32 of file DataSource.cpp.

32  {
34 }
Value
Values that represent the result of calls to the VideoXpert system.
Definition: Utils.h:21
virtual VxResult::Value Refresh()=0
VxSdk::IVxDataSource * _dataSource
Definition: DataSource.h:319

Member Data Documentation

VxSdk::IVxDataSource* CPPCli::DataSource::_dataSource
package

Definition at line 319 of file DataSource.h.

Property Documentation

System:: Collections:: Generic:: List< DataStorage^>^ CPPCli::DataSource::AllDataStorages
get

Gets all data storages associated with this data source; includes edge and failover data storages.

A List of all associated data storages.

Definition at line 85 of file DataSource.h.

System:: Collections:: Generic:: List< ResourceRel^>^ CPPCli::DataSource::AudioRelations
get

Gets all possible audio resource relations for this data source (both linked and non-linked). Each linked resource shall be considered to be associated to this data source while non-linked resources shall not be (they are available to be associated).

A List of related audio resources.

Definition at line 96 of file DataSource.h.

System:: Collections:: Generic:: List< Clip^>^ CPPCli::DataSource::Clips
get

Gets the clips associated with this data source.

A List of the associated clips.

Definition at line 105 of file DataSource.h.

System:: Collections:: Generic:: List< DataInterface^>^ CPPCli::DataSource::DataInterfaces
get

Gets all interfaces available for retrieval of data from this data source.

A List of the data interfaces.

Definition at line 114 of file DataSource.h.

System:: Collections:: Generic:: List< DataStorage^>^ CPPCli::DataSource::DataStorages
get

Gets the data storages that this data source is associated with.

A List of the associated data storages.

Definition at line 123 of file DataSource.h.

System:: Collections:: Generic:: List< Clip^>^ CPPCli::DataSource::EdgeClips
get

Gets the edge clips associated with this data source; may take a long time (minutes).

A List of the associated edge clips.

Definition at line 132 of file DataSource.h.

bool CPPCli::DataSource::HasLiveStream
get

Gets a value indicating whether the live stream is available.

true if live is available, false if not.

Definition at line 141 of file DataSource.h.

bool CPPCli::DataSource::HasRecordedVideo
get

Gets a value indicating whether the recorded video is available.

true if recorded video is available, false if not.

Definition at line 150 of file DataSource.h.

CPPCli:: Device^ CPPCli::DataSource::HostDevice
get

Gets the device that hosts this data source.

The host device.

Definition at line 159 of file DataSource.h.

System:: String^ CPPCli::DataSource::Id
get

Gets the unique identifier for this data source.

The unique identifier.

Definition at line 168 of file DataSource.h.

int CPPCli::DataSource::Index
get

Gets the zero-based index (per host device) indicating the "position" of the data source (per data source type) within the host device.

The data source index.

Definition at line 178 of file DataSource.h.

System:: String^ CPPCli::DataSource::Ip
get

Gets the IP.

The IP.

Definition at line 187 of file DataSource.h.

bool CPPCli::DataSource::IsCapturing
get

Gets a value indicating whether this data source is currently being captured by a recorder.

true if capturing, false if not.

Definition at line 196 of file DataSource.h.

bool CPPCli::DataSource::IsPTZ
get

Gets a value indicating whether PTZ is enabled.

true if PTZ is enabled, false if not.

Definition at line 205 of file DataSource.h.

bool CPPCli::DataSource::IsRecording
get

Gets a value indicating whether the data source is currently recording.

true if recording, false if not.

Definition at line 214 of file DataSource.h.

ResourceRel^ CPPCli::DataSource::LinkedAudioRelation
get

Gets the currently linked audio resource relation for this data source, if any.

The linked audio resource if available, otherwise nullptr.

Definition at line 223 of file DataSource.h.

System:: Collections:: Generic:: List< UserInfo^>^ CPPCli::DataSource::MultiviewInfo
get

Gets the multiple viewer information for this data source. This information contains details on the current viewers of this data source.

A List of user information for all viewers of this data source.

Definition at line 233 of file DataSource.h.

System:: String^ CPPCli::DataSource::Name
getset

Gets or sets the friendly name.

The friendly name.

Definition at line 242 of file DataSource.h.

int CPPCli::DataSource::Number
getset

Gets or sets the number used to designate the data source.

The data source number.

Definition at line 256 of file DataSource.h.

PtzController^ CPPCli::DataSource::PTZController
get

Gets the PtzController associated with this data source.

nullptr if PTZ is not supported on the device, else the PtzController.

Definition at line 266 of file DataSource.h.

System:: String^ CPPCli::DataSource::RtspEndpoint
get

Gets the RTSP stream endpoint URI.

The RTSP endpoint.

Definition at line 275 of file DataSource.h.

System:: String^ CPPCli::DataSource::SnapshotUri
get

Gets the URI to retrieve the current live frame.

The JPEG URI.

Definition at line 284 of file DataSource.h.

States CPPCli::DataSource::State
get

Gets the current operational state of the associated device.

The current device state.

Definition at line 293 of file DataSource.h.

Types CPPCli::DataSource::Type
get

Gets the type of media this data source contains.

The media type.

Definition at line 302 of file DataSource.h.

System:: Collections:: Generic:: List< ResourceRel^>^ CPPCli::DataSource::VideoRelations
get

Gets all possible video resource relations for this data source (both linked and non-linked). Each linked resource shall be considered to be associated to this data source while non-linked resources shall not be (they are available to be associated).

A List of related video resources.

Definition at line 313 of file DataSource.h.


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