nx_video_source_sdk  1.0
Video Source SDK
camera_manager.h
1 // Copyright 2018-present Network Optix, Inc. Licensed under MPL 2.0: www.mozilla.org/MPL/2.0/
2 
3 #pragma once
4 
5 #include <camera/camera_plugin.h>
6 #include <plugins/plugin_tools.h>
7 #include <nx/sdk/ptr.h>
8 
9 #include <plugins/plugin_tools.h>
10 #include "dir_contents_manager.h"
11 #include "plugin.h"
12 
13 class MediaEncoder;
14 
16 :
18 {
19 public:
20  CameraManager( const nxcip::CameraInfo& info );
21  virtual ~CameraManager();
22 
24  virtual void* queryInterface( const nxpl::NX_GUID& interfaceID ) override;
26  virtual int addRef() const override;
28  virtual int releaseRef() const override;
29 
31  virtual int getEncoderCount( int* encoderCount ) const override;
33  virtual int getEncoder( int encoderIndex, nxcip::CameraMediaEncoder** encoderPtr ) override;
35  virtual int getCameraInfo( nxcip::CameraInfo* info ) const override;
37  virtual int getCameraCapabilities( unsigned int* capabilitiesMask ) const override;
39  virtual void setCredentials( const char* username, const char* password ) override;
41  virtual int setAudioEnabled( int audioEnabled ) override;
43  virtual nxcip::CameraPtzManager* getPtzManager() const override;
47  virtual nxcip::CameraRelayIOManager* getCameraRelayIOManager() const override;
49  virtual void getLastErrorString( char* errorString ) const override;
50 
52  virtual int createDtsArchiveReader( nxcip::DtsArchiveReader** dtsArchiveReader ) const override;
54  virtual int find( nxcip::ArchiveSearchOptions* searchOptions, nxcip::TimePeriods** timePeriods ) const override;
56  virtual int setMotionMask( nxcip::Picture* motionMask ) override;
57 
58  const nxcip::CameraInfo& info() const;
59  nxpt::CommonRefManager* refManager();
60  const DirContentsManager& dirContentsManager() const;
61  DirContentsManager* dirContentsManager();
62 
63 private:
64  nxpt::CommonRefManager m_refManager;
70  nxcip::CameraInfo m_info;
71  unsigned int m_capabilities;
72  std::unique_ptr<MediaEncoder> m_encoder[2];
73  mutable DirContentsManager m_dirContentsManager;
74 };
virtual int releaseRef() const override
Implementation of nxpl::PluginInterface::releaseRef.
Definition: camera_manager.cpp:59
Set of options, used to search archive.
Definition: camera_plugin.h:676
Provides encoder parameter configuration and media stream access (by providing media stream url) ...
Definition: camera_plugin.h:286
Provides access to motion detection support, implemented on camera.
Definition: camera_plugin.h:1341
virtual int getEncoder(int encoderIndex, nxcip::CameraMediaEncoder **encoderPtr) override
Implementation of nxcip::BaseCameraManager::getEncoder.
Definition: camera_manager.cpp:72
virtual void getLastErrorString(char *errorString) const override
Implementation of nxcip::BaseCameraManager::getLastErrorString.
Definition: camera_manager.cpp:130
virtual int setMotionMask(nxcip::Picture *motionMask) override
Implementation of nxcip::BaseCameraManager2::setMotionMask.
Definition: camera_manager.cpp:150
Manages information about image directory contents: Provides file list, generates timestamps of files...
Definition: dir_contents_manager.h:13
virtual int setAudioEnabled(int audioEnabled) override
Implementation of nxcip::BaseCameraManager::setAudioEnabled.
Definition: camera_manager.cpp:106
virtual nxcip::CameraPtzManager * getPtzManager() const override
Implementation of nxcip::BaseCameraManager::getPTZManager.
Definition: camera_manager.cpp:112
virtual int getCameraInfo(nxcip::CameraInfo *info) const override
Implementation of nxcip::BaseCameraManager::getCameraInfo.
Definition: camera_manager.cpp:86
Provides access to archive, stored on camera.
Definition: camera_plugin.h:1172
virtual int createDtsArchiveReader(nxcip::DtsArchiveReader **dtsArchiveReader) const override
Implementation of nxcip::BaseCameraManager2::createDtsArchiveReader.
Definition: camera_manager.cpp:136
Definition: camera_manager.h:15
GUID of plugin interface.
Definition: plugin_api.h:26
Extends BaseCameraManager by adding remote archive storage support (e.g., storage is mounted directly...
Definition: camera_plugin.h:736
virtual int find(nxcip::ArchiveSearchOptions *searchOptions, nxcip::TimePeriods **timePeriods) const override
Implementation of nxcip::BaseCameraManager2::find.
Definition: camera_manager.cpp:142
Contains base camera information.
Definition: camera_plugin.h:70
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Implementation of nxpl::PluginInterface::queryInterface.
Definition: camera_manager.cpp:34
virtual nxcip::CameraMotionDataProvider * getCameraMotionDataProvider() const override
Implementation of nxcip::BaseCameraManager::getCameraMotionDataProvider.
Definition: camera_manager.cpp:118
Pan-tilt-zoom management.
Definition: camera_plugin.h:851
Picture.
Definition: camera_plugin.h:617
Relay input/output management.
Definition: camera_plugin.h:1362
Definition: plugin_tools.h:68
virtual int getEncoderCount(int *encoderCount) const override
Implementation of nxcip::BaseCameraManager::getEncoderCount.
Definition: camera_manager.cpp:65
virtual int getCameraCapabilities(unsigned int *capabilitiesMask) const override
Implementation of nxcip::BaseCameraManager::getCameraCapabilities.
Definition: camera_manager.cpp:93
Array of time periods.
Definition: camera_plugin.h:651
virtual int addRef() const override
Implementation of nxpl::PluginInterface::addRef.
Definition: camera_manager.cpp:54
virtual nxcip::CameraRelayIOManager * getCameraRelayIOManager() const override
Implementation of nxcip::BaseCameraManager::getCameraRelayIOManager.
Definition: camera_manager.cpp:124
Definition: media_encoder.h:17
virtual void setCredentials(const char *username, const char *password) override
Implementation of nxcip::BaseCameraManager::setCredentials.
Definition: camera_manager.cpp:100