A simple web service over HTTP library. Calls a HTTP server via GET, and returns the response wrapped in a XML parser. All calls are synchronous. Needs the NetServicesMin, DNSResolver, TcpLineStream and spxml libraries. The code for URL handling has been copied directly from the original NetServices library (Thanks to Donatien!).

webservice.h

Committer:
hlipka
Date:
2011-01-29
Revision:
1:62e112d14c8f
Parent:
0:5e8527b638e1
Child:
2:687430e7f63a

File content as of revision 1:62e112d14c8f:

#ifndef __WEBSERVICE_H__
#define __WEBSERVICE_H__

#include "spdomparser.hpp"

#include "url.h"

#include "tcplinestream.h"

/**
A simple web service over HTTP library. Calls a HTTP server via GET, and returns the response wrapped in a XML parser. All calls are synchronous.
Needs the NetServicesMin and DNSResolver library
The code for URL handling has been copied directly from the original NetServices library (Thanks to Donatien!).

*/
class WebService
{
    public:
        /**
            create the web service instance.
            @params urlStr the URL to call via GET
        */
        WebService(const char* urlStr);
        /**
            Execute the web service call. Note that the caller is responsible for freeing the return parser instance.
            @return the XML parser, or NULL if an error occured
        */
        SP_XmlDomParser *callService();
        /**
            close all resources
        */
        ~WebService(){close();};
        /**
            close all resources
        */
        void close();
        
    private:
        void init();
        
        string _request;
        
        TCPLineStream *_stream;
};



#endif