nx_video_source_sdk  1.0
Video Source SDK
axis_camera_plugin.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 <memory>
6 
7 #include <QtCore/QThread>
8 #include <QtNetwork/QNetworkAccessManager>
9 
10 #include <plugins/plugin_api.h>
11 #include <plugins/plugin_tools.h>
12 
14 
37 :
39 {
40 public:
42  virtual ~AxisCameraPlugin();
43 
45 
48  virtual void* queryInterface( const nxpl::NX_GUID& interfaceID ) override;
50  virtual int addRef() const override;
52  virtual int releaseRef() const override;
53 
54  nxpt::CommonRefManager* refManager();
55  QNetworkAccessManager* networkAccessManager();
56 
57  static AxisCameraPlugin* instance();
58 
59 private:
60  nxpt::CommonRefManager m_refManager;
61  std::unique_ptr<AxisCameraDiscoveryManager> m_discoveryManager;
63  QThread m_networkEventLoopThread;
64  QNetworkAccessManager m_networkAccessManager;
65 };
Discovers AXIS cameras with MDNS search method (implements nxcip::CameraDiscoveryManager) ...
Definition: axis_discovery_manager.h:14
Base class for every interface, provided by plugin.
Definition: plugin_api.h:44
GUID of plugin interface.
Definition: plugin_api.h:26
Definition: axis_camera_plugin.h:36
Definition: plugin_tools.h:67
virtual int addRef() const override
Implementaion of nxpl::PluginInterface::addRef.
Definition: axis_camera_plugin.cpp:64
virtual int releaseRef() const override
Implementaion of nxpl::PluginInterface::releaseRef.
Definition: axis_camera_plugin.cpp:69
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Implementation of nxpl::PluginInterface::queryInterface.
Definition: axis_camera_plugin.cpp:48