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
virtual
~
Engine
()
override
;
27
28
nx::sdk::analytics::Plugin
*
const
plugin()
const
{
return
m_plugin; }
29
30
protected
:
31
virtual
std::string manifestString()
const override
;
32
33
protected
:
34
virtual
void
doObtainDeviceAgent(
35
nx::sdk::Result<nx::sdk::analytics::IDeviceAgent*>
* outResult,
36
const
nx::sdk::IDeviceInfo
* deviceInfo)
override
;
37
38
private
:
39
nx::sdk::analytics::Plugin
*
const
m_plugin;
40
std::atomic<bool> m_terminated{
false
};
41
};
42
43
}
// namespace events
44
}
// namespace stub
45
}
// namespace analytics
46
}
// namespace vms_server_plugins
47
}
// 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