nx_cloud_storage_sdk  1.0
Cloud Storage SDK
plugin.h
1 #pragma once
2 
3 #include <mutex>
4 
5 #include <nx/sdk/cloud_storage/i_plugin.h>
6 #include <nx/sdk/helpers/ref_countable.h>
7 
8 #include "data_manager.h"
9 
11 
12 class Plugin: public nx::sdk::RefCountable<nx::sdk::cloud_storage::IPlugin>
13 {
14 public:
15  virtual ~Plugin() override;
16  virtual void setUtilityProvider(nx::sdk::IUtilityProvider* utilityProvider) override;
17 
18 protected:
19  virtual void doObtainEngine(
20  const char* url,
21  const nx::sdk::cloud_storage::IArchiveUpdateHandler* archiveUpdateHandler,
23 
24  virtual void getManifest(nx::sdk::Result<const nx::sdk::IString*>* outResult) const override;
25 
26 private:
29  std::mutex m_mutex;
30  std::shared_ptr<DataManager> m_dataManager;
31 };
32 
33 } // nx::vms_server_plugins::cloud_storage::stub
Definition: i_archive_update_handler.h:39
Definition: data_manager.cpp:33
virtual void setUtilityProvider(nx::sdk::IUtilityProvider *utilityProvider) override
Definition: plugin.cpp:68
Definition: result.h:48
Definition: i_utility_provider.h:68
Definition: ref_countable.h:83