blob: de954386052f83901e17c1bb51ba7f431b0af148 [file] [log] [blame]
// TestBase64Client.cpp : A simple xmlrpc client that returns a png file
// encoded as base64 data to the client.
//
// Usage: TestBase64Client serverHost serverPort outputfile
// Requests a png file from the specified server and saves it in outputfile.
// Link against xmlrpc lib and whatever socket libs your system needs (ws2_32.lib on windows)
#include "XmlRpc.h"
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace XmlRpc;
int main(int argc, char* argv[])
{
if (argc != 4) {
std::cerr << "Usage: TestBase64Client serverHost serverPort outputFile\n";
return -1;
}
int port = atoi(argv[2]);
//XmlRpc::setVerbosity(5);
XmlRpcClient c(argv[1], port);
XmlRpcValue noArgs, result;
if (c.execute("TestBase64", noArgs, result))
{
const XmlRpcValue::BinaryData& data = result;
std::ofstream outfile(argv[3], std::ios::binary | std::ios::trunc);
if (outfile.fail())
std::cerr << "Error opening " << argv[3] << " for output.\n";
else
{
int n = int(data.size());
for (int i=0; i<n; ++i)
outfile << data[i];
}
}
else
std::cout << "Error calling 'TestBase64'\n\n";
return 0;
}