nx_cloud_storage_sdk  1.0
Cloud Storage SDK
device_agent.h
1 #pragma once
2 
3 #include <memory>
4 
5 #include <nx/sdk/cloud_storage/helpers/data.h>
6 #include <nx/sdk/cloud_storage/i_plugin.h>
7 #include <nx/sdk/helpers/ref_countable.h>
8 #include <nx/sdk/result.h>
9 
10 #include "data_manager.h"
11 
13 
14 class DeviceAgent: public nx::sdk::RefCountable<nx::sdk::cloud_storage::IDeviceAgent>
15 {
16 public:
18  const nx::sdk::cloud_storage::DeviceDescription& deviceDescription,
19  std::shared_ptr<DataManager> metadataManager);
20 
21 protected:
22  virtual void getDeviceInfo(nx::sdk::Result<const nx::sdk::IDeviceInfo*>* outResult) const override;
23  virtual void doCreateStreamWriter(
25  int64_t startTimeMs,
27  const char* opaqueMetadata,
29 
30  virtual void doCreateStreamReader(
32  int64_t startTimeMs,
33  int64_t durationMs,
35 
36 private:
37  std::shared_ptr<DataManager> m_dataManager;
38  const nx::sdk::cloud_storage::DeviceDescription m_deviceDescription;
39 };
40 
41 } // namespace nx::vms_server_plugins::cloud_storage::stub
Definition: data_manager.cpp:33
Definition: result.h:48
virtual void getDeviceInfo(nx::sdk::Result< const nx::sdk::IDeviceInfo *> *outResult) const override
Definition: device_agent.cpp:25
MediaStreamQuality
Definition: camera_plugin.h:1177
Definition: ref_countable.h:83