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 "xmlrpcpp/XmlRpc.h"
9 #include <iostream>
10 #include <fstream>
11 #include <stdlib.h>
12 
13 using namespace XmlRpc;
14 
15 int 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 
RPC method arguments and results are represented by Values.
Definition: XmlRpcValue.h:24
int main(int argc, char *argv[])
A class to send XML RPC requests to a server and return the results.
Definition: XmlRpcClient.h:26
bool execute(const char *method, XmlRpcValue const &params, XmlRpcValue &result)
std::vector< char > BinaryData
Definition: XmlRpcValue.h:41


xmlrpcpp
Author(s): Chris Morley, Konstantin Pilipchuk, Morgan Quigley, Austin Hendrix, Dirk Thomas
autogenerated on Mon Feb 28 2022 23:33:22