nx_metadata_sdk 1.0 Metadata SDK

device_agent.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 <nx/sdk/analytics/helpers/consuming_device_agent.h>
6
7 #include "engine.h"
8
9 namespace nx {
10 namespace vms_server_plugins {
11 namespace analytics {
12 namespace stub {
13 namespace custom_metadata {
14
15 class DeviceAgent: public nx::sdk::analytics::ConsumingDeviceAgent
16 {
17 public:
18 DeviceAgent(Engine* engine, const nx::sdk::IDeviceInfo* deviceInfo);
19 virtual ~DeviceAgent() override;
20
21 protected:
22 virtual void doSetNeededMetadataTypes(
23 nx::sdk::Result<void>* outValue,
24 const nx::sdk::analytics::IMetadataTypes* neededMetadataTypes) override;
25
26 virtual std::string manifestString() const override;
27
28 virtual bool pushCustomMetadataPacket(
29 const nx::sdk::analytics::ICustomMetadataPacket* customMetadataPacket) override;
30
31 private:
32 Engine* const m_engine;
33 };
34
35 } // namespace custom_metadata
36 } // namespace stub
37 } // namespace analytics
38 } // namespace vms_server_plugins
39 } // namespace nx
nx::sdk::analytics::ConsumingDeviceAgent
Definition: consuming_device_agent.h:36
nx::sdk::analytics::IMetadataTypes
Definition: i_metadata_types.h:10
nx::sdk::Result< void >
Definition: result.h:82
nx::vms_server_plugins::analytics::stub::custom_metadata::Engine
Definition: engine.h:18
nx::vms_server_plugins::analytics::stub::custom_metadata::DeviceAgent
Definition: device_agent.h:15
nx::sdk::IDeviceInfo
Definition: i_device_info.h:13
nx::vms_server_plugins::analytics::stub::custom_metadata::DeviceAgent::pushCustomMetadataPacket
virtual bool pushCustomMetadataPacket(const nx::sdk::analytics::ICustomMetadataPacket *customMetadataPacket) override
Definition: device_agent.cpp:44
nx
Definition: apple_utils.h:6
nx::sdk::analytics::ICustomMetadataPacket
Definition: i_custom_metadata_packet.h:13