source: lsf/trunk/fuentes/src/n4d.cpp @ 88

Last change on this file since 88 was 88, checked in by jrpelegrina, 5 years ago

First relase to xenial

File size: 2.7 KB
Line 
1
2#include <lsf-1.0/n4d.hpp>
3
4#include <xmlrpc-c/girerr.hpp>
5#include <xmlrpc-c/base.hpp>
6#include <xmlrpc-c/client_simple.hpp>
7
8#include <iostream>
9#include <vector>
10
11
12
13
14using namespace std;
15using namespace net::lliurex;
16
17
18xmlrpc_c::value n4d::GetVariableList(string server_addr)
19{
20        xmlrpc_c::clientXmlTransport_curl *transport;
21        xmlrpc_c::client_xml *client;
22       
23       
24        transport=new xmlrpc_c::clientXmlTransport_curl(
25                xmlrpc_c::clientXmlTransport_curl::constrOpt()
26                .no_ssl_verifyhost(true)
27                .no_ssl_verifypeer(true)
28        );
29       
30        client=new xmlrpc_c::client_xml(transport);
31
32        xmlrpc_c::paramList params;
33        params.add(xmlrpc_c::value_string(""));
34        params.add(xmlrpc_c::value_string("VariablesManager"));
35        xmlrpc_c::rpcPtr caller("get_variables",params);
36        xmlrpc_c::carriageParm_curl0 carriage(server_addr);
37
38        caller->call(client,&carriage);
39       
40        return caller->getResult();
41       
42}
43
44
45xmlrpc_c::value n4d::GetVariable(std::string varname, std::string server_addr)
46{
47        xmlrpc_c::clientXmlTransport_curl *transport;
48        xmlrpc_c::client_xml *client;
49       
50       
51        transport=new xmlrpc_c::clientXmlTransport_curl(
52                xmlrpc_c::clientXmlTransport_curl::constrOpt()
53                .no_ssl_verifyhost(true)
54                .no_ssl_verifypeer(true)
55        );
56       
57        client=new xmlrpc_c::client_xml(transport);
58
59        xmlrpc_c::paramList params;
60        params.add(xmlrpc_c::value_string(""));
61        params.add(xmlrpc_c::value_string("VariablesManager"));
62        params.add(xmlrpc_c::value_string(varname));
63        xmlrpc_c::rpcPtr caller("get_variable",params);
64        xmlrpc_c::carriageParm_curl0 carriage(server_addr);
65
66        caller->call(client,&carriage);
67       
68        return caller->getResult();
69}
70
71void n4d::SetVariable(std::string varname,xmlrpc_c::value data,std::string user,std::string password,std::string server_addr)
72{
73        xmlrpc_c::clientXmlTransport_curl *transport;
74        xmlrpc_c::client_xml *client;
75       
76       
77        transport=new xmlrpc_c::clientXmlTransport_curl(
78                xmlrpc_c::clientXmlTransport_curl::constrOpt()
79                .no_ssl_verifyhost(true)
80                .no_ssl_verifypeer(true)
81        );
82       
83        client=new xmlrpc_c::client_xml(transport);
84
85        vector<xmlrpc_c::value> login;
86                       
87        login.push_back(xmlrpc_c::value_string(user));
88        login.push_back(xmlrpc_c::value_string(password));
89       
90        xmlrpc_c::paramList params;
91        params.add(xmlrpc_c::value_array(login));
92        params.add(xmlrpc_c::value_string("VariablesManager"));
93        params.add(xmlrpc_c::value_string(varname));
94        params.add(data);
95        xmlrpc_c::rpcPtr caller("set_variable",params);
96        xmlrpc_c::carriageParm_curl0 carriage(server_addr);
97
98        caller->call(client,&carriage);
99       
100        xmlrpc_c::value ret=caller->getResult();
101       
102        if(ret.type()==xmlrpc_c::value::TYPE_STRING)
103        {
104                xmlrpc_c::value_string sret(ret);
105                cout<<((string)sret)<<endl;
106        }
107               
108}
Note: See TracBrowser for help on using the repository browser.