nx_server_plugin_sdk 1.0 Server Plugin SDK

image_library_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
42 class ImageLibraryPlugin
43 :
44 public nxpl::PluginInterface
45 {
46 public:
47 ImageLibraryPlugin();
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 };
ImageLibraryPlugin::queryInterface
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Implementation of nxpl::PluginInterface::queryInterface.
Definition: image_library_plugin.cpp:26
ImageLibraryPlugin::addRef
virtual int addRef() const override
Implementation of nxpl::PluginInterface::addRef.
Definition: image_library_plugin.cpp:42
DiscoveryManager
Represents defined (in settings) image directories as cameras with dts archive storage.
Definition: discovery_manager.h:9
nxpl::PluginInterface
Base class for every interface, provided by plugin.
Definition: plugin_api.h:44
nxpl::NX_GUID
GUID of plugin interface.
Definition: plugin_api.h:26
ImageLibraryPlugin::releaseRef
virtual int releaseRef() const override
Implementation of nxpl::PluginInterface::releaseRef.
Definition: image_library_plugin.cpp:47
nxpt::CommonRefManager
Definition: plugin_tools.h:67
plugin_tools.h
ImageLibraryPlugin
Definition: image_library_plugin.h:42