13 #include "resource_manager/resource_manager_types.h"
17 resource_manager_(mgr), agent_(mgr->agent()), sandesh_maps_(this),
18 backup_work_queue_(agent_->task_scheduler()->
46 backup_data->Process();
51 (
const std::string &file_name, std::unique_ptr<uint8_t> *buf) {
52 std::stringstream error_str;
54 std::ifstream input(file_name.c_str(), std::ofstream::binary);
56 error_str <<
"Resource backup mgr Open failed to read file";
60 if (stat(file_name.c_str(), &st) == -1) {
61 error_str <<
"Resource backup mgr Get size from file failed";
64 size = (uint32_t) st.st_size;
65 *buf = std::unique_ptr<uint8_t> (
new uint8_t [size]());
66 input.read((
char *)((*buf).get()), size);
69 error_str <<
"Resource backup mgr reading file failed";
79 error_str << file_name;
80 LOG(ERROR, error_str.str());
97 key_(key), data_(data), op_(op) {
109 key_(key), data_(data) {
ResourceBackupReq(ResourceManager::KeyPtr key, ResourceManager::DataPtr data, Op op)
ResourceManager::KeyPtr key_
boost::shared_ptr< ResourceKey > KeyPtr
ResourceSandeshMaps sandesh_maps_
boost::shared_ptr< ResourceData > DataPtr
EventNotifier * event_notifier() const
bool WorkQueueBackUpProcess(ResourceBackupReqPtr backup_data)
WorkQueue< ResourceBackupReqPtr > backup_work_queue_
static uint32_t ReadResourceDataFromFile(const std::string &file_name, std::unique_ptr< uint8_t > *buf)
#define kAgentResourceBackUpTask
void BackupResource(ResourceManager::KeyPtr key, ResourceManager::DataPtr data, ResourceBackupReq::Op op)
boost::shared_ptr< ResourceBackupReq > ResourceBackupReqPtr
virtual ~ResourceBackupManager()
virtual ~ResourceRestoreReq()
#define LOG(_Level, _Msg)
void DeregisterSubscriber(EventNotifyHandle::Ptr ptr)
ResourceSandeshMaps & sandesh_maps()
ResourceRestoreReq(ResourceManager::KeyPtr key, ResourceManager::DataPtr data)
virtual ~ResourceBackupReq()
ResourceBackupManager(ResourceManager *mgr)
EventNotifyHandle::Ptr RegisterSubscriber(EventNotifyKey *key, Callback callback)
ResourceManager::DataPtr data_
bool Enqueue(QueueEntryT entry)
EventNotifyHandle::Ptr audit_handle_