-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathShadow_Directory.cpp
More file actions
130 lines (108 loc) · 3.34 KB
/
Copy pathShadow_Directory.cpp
File metadata and controls
130 lines (108 loc) · 3.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include "Shadow_Directory.h"
// JSON RPC part
#include <stdlib.h>
#include "minigfs_client.h"
#include <jsonrpccpp/client/connectors/httpclient.h>
using namespace jsonrpc;
using namespace std;
Shadow_Directory::Shadow_Directory
(std::string arg_host_url, std::string arg_vsID, std::string arg_class_id,
std::string arg_object_id)
: Directory { arg_host_url, arg_vsID, arg_class_id, arg_object_id }
{
std::cout <<" Line " << __LINE__ << " Shadow created" << std::endl;
}
Json::Value
Shadow_Directory::ObtainChunkURL
(std::string arg_name, std::string arg_fhandle, std::string arg_chunk_index)
{
HttpClient httpclient((this->host_url).c_str());
minigfs_Client myClient(httpclient, JSONRPC_CLIENT_V2);
//Myminigfs_Server
Json::Value myv;
//std::cout <<" FFF " << arg_name << std::endl;
try {
std::cout <<" Line " << __LINE__ << " Inside the Shadow Directory.ObtainChunkURL" << arg_name << std::endl;
myv = myClient.ObtainChunkURL("ObtainChunkURL",
"This is a Directory JSON string!",
(this->class_id).c_str(),
arg_fhandle,
arg_name,
arg_chunk_index,
(this->host_url).c_str(),
(this->object_id).c_str(),
(this->owner_vsID).c_str());
cout << "URLs" << myv.toStyledString() << endl;
}
catch (JsonRpcException &e) {
std::cout <<" in catch" << std::endl;
cerr << e.what() << endl;
}
return myv;
}
Json::Value
Shadow_Directory::LookUp
(std::string arg_dir_fhandle, std::string arg_name)
{
HttpClient httpclient((this->host_url).c_str());
minigfs_Client myClient(httpclient, JSONRPC_CLIENT_V2);
Json::Value myv;
try {
std::cout << "calling NFS LookUp" << std::endl;
myv = myClient.LookUp("LookUp", "This is a Directory JSON string!",
(this->class_id).c_str(), arg_dir_fhandle, arg_name,
(this->host_url).c_str(),
(this->object_id).c_str(), (this->owner_vsID).c_str());
cout << myv.toStyledString() << endl;
} catch (JsonRpcException &e) {
cerr << e.what() << endl;
}
return myv;
}
Json::Value
Shadow_Directory::Create
(std::string arg_dir_fhandle, std::string arg_name, std::string arg_sattr)
{
HttpClient httpclient((this->host_url).c_str());
minigfs_Client myClient(httpclient, JSONRPC_CLIENT_V2);
Json::Value myv;
try {
std::cout << "calling NFS Create" << std::endl;
myv = myClient.Create("Create", "This is a Directory JSON string!",
(this->class_id).c_str(), std::string {"Node"},
arg_dir_fhandle, arg_name,
(this->host_url).c_str(),
(this->object_id).c_str(), (this->owner_vsID).c_str(),
arg_sattr);
cout << myv.toStyledString() << endl;
} catch (JsonRpcException &e) {
cerr << e.what() << endl;
}
return myv;
}
Json::Value *
Shadow_Directory::dumpJ
()
{
HttpClient httpclient((this->host_url).c_str());
minigfs_Client myClient(httpclient, JSONRPC_CLIENT_V2);
Json::Value myv;
try {
std::cout << "calling NFS dumpJ" << std::endl;
myv = myClient.dumpJ("dumpJ", "This is a Directory JSON string!",
(this->class_id).c_str(), (this->host_url).c_str(),
(this->object_id).c_str(), (this->owner_vsID).c_str());
cout << myv.toStyledString() << endl;
} catch (JsonRpcException &e) {
cerr << e.what() << endl;
}
Json::Value *myv_ptr = new Json::Value();
(*myv_ptr) = myv;
return myv_ptr;
}
bool
Shadow_Directory::Jdump
(Json::Value *mjv_ptr)
{
return false;
}