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 <plugins/plugin_tools.h>
6 
7 #include <memory>
8 
9 #include <plugins/plugin_api.h>
10 
43 class DiscoveryManager;
44 
47 :
49 {
50 public:
52  virtual ~ImageLibraryPlugin();
53 
55 
58  virtual void* queryInterface( const nxpl::NX_GUID& interfaceID ) override;
60  virtual int addRef() const override;
62  virtual int releaseRef() const override;
63 
64  nxpt::CommonRefManager* refManager();
65 
66  static ImageLibraryPlugin* instance();
67 
68 private:
69  nxpt::CommonRefManager m_refManager;
70  std::unique_ptr<DiscoveryManager> m_discoveryManager;
71 };
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Implementation of nxpl::PluginInterface::queryInterface.
Definition: plugin.cpp:37
virtual int addRef() const override
Implementation of nxpl::PluginInterface::addRef.
Definition: plugin.cpp:53
Represents defined (in settings) image directories as cameras with dts archive storage.
Definition: discovery_manager.h:10
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:58
Definition: plugin_tools.h:68
Main plugin class. Hosts and initializes necessary internal data.
Definition: plugin.h:46