nx_video_source_sdk  1.0
Video Source SDK
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 <plugins/plugin_api.h>
8 #include <plugins/plugin_tools.h>
9 
10 class DiscoveryManager;
11 
43 :
45 {
46 public:
48  virtual ~ImageLibraryPlugin();
49 
51 
54  virtual void* queryInterface( const nxpl::NX_GUID& interfaceID ) override;
56  virtual int addRef() const override;
58  virtual int releaseRef() const override;
59 
60  nxpt::CommonRefManager* refManager();
61 
62  static ImageLibraryPlugin* instance();
63 
64 private:
65  nxpt::CommonRefManager m_refManager;
66  std::unique_ptr<DiscoveryManager> m_discoveryManager;
67 };
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Implementation of nxpl::PluginInterface::queryInterface.
Definition: plugin.cpp:34
virtual int addRef() const override
Implementation of nxpl::PluginInterface::addRef.
Definition: plugin.cpp:50
Represents defined (in settings) image directories as cameras with dts archive storage.
Definition: discovery_manager.h:9
Base class for every interface, provided by plugin.
Definition: plugin_api.h:44
GUID of plugin interface.
Definition: plugin_api.h:26
virtual int releaseRef() const override
Implementation of nxpl::PluginInterface::releaseRef.
Definition: plugin.cpp:55
Definition: plugin_tools.h:67
Definition: plugin.h:42