BOSS 8.0.0
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 <fstream>
10#include <iostream>
11#include <stdlib.h>
12
13using namespace XmlRpc;
14
15int main( int argc, char* argv[] ) {
16 if ( argc != 4 )
17 {
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() ) std::cerr << "Error opening " << argv[3] << " for output.\n";
32 else
33 {
34 int n = int( data.size() );
35 for ( int i = 0; i < n; ++i ) outfile << data[i];
36 }
37 }
38 else std::cout << "Error calling 'TestBase64'\n\n";
39
40 return 0;
41}
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:37
int main()
Definition phokhara.cc:42