CGEM BOSS 6.6.5.h
BESIII Offline Software System
Loading...
Searching...
No Matches
TestBase64Client.cpp
Go to the documentation of this file.
1// TestBase64Client.cpp : A simple xmlrpc client that returns a png file
2// encoded as base64 data to the client.
3//
4// Usage: TestBase64Client serverHost serverPort outputfile
5// Requests a png file from the specified server and saves it in outputfile.
6// Link against xmlrpc lib and whatever socket libs your system needs (ws2_32.lib on windows)
7
8#include "XmlRpc.h"
9#include <iostream>
10#include <fstream>
11#include <stdlib.h>
12
13using namespace XmlRpc;
14
15int main(int argc, char* argv[])
16{
17 if (argc != 4) {
18 std::cerr << "Usage: TestBase64Client serverHost serverPort outputFile\n";
19 return -1;
20 }
21 int port = atoi(argv[2]);
22
23 //XmlRpc::setVerbosity(5);
24 XmlRpcClient c(argv[1], port);
25
26 XmlRpcValue noArgs, result;
27 if (c.execute("TestBase64", noArgs, result))
28 {
29 const XmlRpcValue::BinaryData& data = result;
30 std::ofstream outfile(argv[3], std::ios::binary | std::ios::trunc);
31 if (outfile.fail())
32 std::cerr << "Error opening " << argv[3] << " for output.\n";
33 else
34 {
35 int n = int(data.size());
36 for (int i=0; i<n; ++i)
37 outfile << data[i];
38 }
39 }
40 else
41 std::cout << "Error calling 'TestBase64'\n\n";
42
43 return 0;
44}
45
const Int_t n
TTree * data
A class to send XML RPC requests to a server and return the results.
bool execute(const char *method, XmlRpcValue const &params, XmlRpcValue &result)
RPC method arguments and results are represented by Values.
Definition XmlRpcValue.h:22
std::vector< char > BinaryData
Definition XmlRpcValue.h:39
int main()