nx_server_plugin_sdk 1.0 Server Plugin SDK

engine.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 <atomic>
6
7 #include <nx/sdk/analytics/helpers/engine.h>
8 #include <nx/sdk/analytics/helpers/integration.h>
9
10 namespace nx {
11 namespace vms_server_plugins {
12 namespace analytics {
13 namespace stub {
14 namespace events {
15
16 class Engine: public nx::sdk::analytics::Engine
17 {
18 public:
19 Engine(nx::sdk::analytics::Integration* integration);
20 virtual ~Engine() override;
21
22 nx::sdk::analytics::Integration* const integration() const { return m_integration; }
23
24 protected:
25 virtual std::string manifestString() const override;
26
27 protected:
28 virtual void doObtainDeviceAgent(
29 nx::sdk::Result<nx::sdk::analytics::IDeviceAgent*>* outResult,
30 const nx::sdk::IDeviceInfo* deviceInfo) override;
31
32 private:
33 nx::sdk::analytics::Integration* const m_integration;
34 std::atomic<bool> m_terminated{false};
35 };
36
37 } // namespace events
38 } // namespace stub
39 } // namespace analytics
40 } // namespace vms_server_plugins
41 } // namespace nx
nx::sdk::IDeviceInfo
Definition: i_device_info.h:13
nx::sdk::Result
Definition: result.h:52
nx
Definition: apple_utils.h:6
nx::vms_server_plugins::analytics::stub::events::Engine
Definition: engine.h:16
nx::sdk::analytics::Engine
Definition: engine.h:31
nx::sdk::analytics::Integration
Definition: integration.h:21