stub_analytics_plugin  1.6
Network Optix Video Analytics SDK
common_settings.h
1 #pragma once
2 
3 #include <map>
4 
5 #include <nx/sdk/settings.h>
6 #include <plugins/plugin_tools.h>
7 
8 namespace nx {
9 namespace sdk {
10 
11 // TODO: Do something with O(N^2) complexity of lookup by index.
12 class CommonSettings: public nxpt::CommonRefCounter<Settings>
13 {
14  using Map = std::map<std::string, std::string>;
15 
16 public:
17  virtual void* queryInterface(const nxpl::NX_GUID& interfaceId) override;
18 
19  void addSetting(const std::string& key, const std::string& value);
20 
21  void clear();
22 
23  virtual int count() const override;
24 
26  virtual const char* key(int i) const override;
27 
29  virtual const char* value(int i) const override;
30 
31  virtual const char* value(const char* key) const override;
32 
33 private:
34  Map m_settings;
35 };
36 
37 
38 } // namespace sdk
39 } // namespace nx
virtual const char * value(int i) const override
Definition: common_settings.cpp:45
GUID of plugin interface.
Definition: plugin_api.h:21
Definition: plugin_tools.h:221
Definition: debug.cpp:14
virtual const char * key(int i) const override
Definition: common_settings.cpp:35
Definition: common_settings.h:12