6 #include <condition_variable> 12 #include <nx/sdk/analytics/helpers/consuming_device_agent.h> 15 #include "stub_analytics_plugin_events_ini.h" 18 namespace vms_server_plugins {
23 const std::string kDeclareAdditionalEventTypesSetting =
"declareAdditionalEventTypesSetting";
24 const std::string kGenerateEventsSetting =
"generateEvents";
33 virtual void doSetNeededMetadataTypes(
43 int64_t usSinceEpoch()
const;
45 void stopFetchingMetadata();
47 void eventThreadLoop();
48 void startEventThread();
49 void stopEventThread();
54 std::unique_ptr<std::thread> m_eventThread;
55 std::mutex m_eventThreadMutex;
56 std::condition_variable m_eventThreadCondition;
57 std::atomic<bool> m_terminated{
false};
58 std::atomic<bool> m_needToGenerateEvents{
false};
59 std::string m_eventTypeId;
61 struct DeviceAgentSettings
63 std::atomic<bool> declareAdditionalEventTypes{
false};
64 std::atomic<bool> generateEvents{
true};
67 DeviceAgentSettings m_deviceAgentSettings;
71 int currentEventTypeIndex = 0;
74 EventContext m_eventContext;
77 const std::string kLineCrossingEventType =
"nx.stub.lineCrossing";
78 const std::string kObjectInTheAreaEventType =
"nx.stub.objectInTheArea";
79 const std::string kLoiteringEventType =
"nx.stub.loitering";
80 const std::string kIntrusionEventType =
"nx.stub.intrusion";
81 const std::string kGunshotEventType =
"nx.stub.gunshot";
82 const std::string kSuspiciousNoiseEventType =
"nx.stub.suspiciousNoise";
83 const std::string kSoundRelatedEventGroup =
"nx.stub.soundRelated";
84 const std::string kAdditionalEventType =
"nx.stub.additionalEvent1";
85 const std::string kAdditionalEventType2 =
"nx.stub.additionalEvent2";
virtual nx::sdk::Result< const nx::sdk::ISettingsResponse * > settingsReceived() override
Definition: device_agent.cpp:219
Definition: consuming_device_agent.h:35
Definition: i_device_info.h:13
Definition: device_agent.h:26
Definition: apple_utils.h:6
virtual std::string manifestString() const override
Definition: device_agent.cpp:161