nx_metadata_sdk
1.0
Metadata SDK
samples
stub_analytics_plugin
src
nx
vms_server_plugins
analytics
stub
events
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
#include <thread>
7
#include <memory>
8
#include <mutex>
9
#include <condition_variable>
10
11
#include <nx/sdk/uuid.h>
12
#include <nx/sdk/analytics/helpers/plugin.h>
13
#include <nx/sdk/analytics/helpers/engine.h>
14
#include <nx/sdk/analytics/i_uncompressed_video_frame.h>
15
16
namespace
nx
{
17
namespace
vms_server_plugins {
18
namespace
analytics {
19
namespace
stub {
20
namespace
events {
21
22
class
Engine
:
public
nx::sdk::analytics::Engine
23
{
24
public
:
25
Engine
(
nx::sdk::analytics::Plugin
* plugin);
26
27
virtual
~
Engine
()
override
;
28
29
protected
:
30
virtual
std::string manifestString()
const override
;
31
32
protected
:
33
virtual
void
doObtainDeviceAgent(
34
nx::sdk::Result<nx::sdk::analytics::IDeviceAgent*>
* outResult,
35
const
nx::sdk::IDeviceInfo
* deviceInfo)
override
;
36
37
private
:
38
nx::sdk::analytics::Plugin
*
const
m_plugin;
39
std::atomic<bool> m_terminated{
false
};
40
};
41
42
}
// namespace events
43
}
// namespace stub
44
}
// namespace analytics
45
}
// namespace vms_server_plugins
46
}
// namespace nx
nx::sdk::IDeviceInfo
Definition:
i_device_info.h:14
nx::sdk::Result
Definition:
result.h:47
nx
Definition:
apple_utils.h:6
nx::vms_server_plugins::analytics::stub::events::Engine
Definition:
engine.h:22
nx::sdk::analytics::Engine
Definition:
engine.h:34
nx::sdk::analytics::Plugin
Definition:
plugin.h:23
Generated by
1.8.14