/* ----------------------------------------------------------------------------- GSFramework Copyright 2001-2013 Emmanuel Julien. All Rights Reserved. ----------------------------------------------------------------------------- */ #ifndef __HTTPINTERFACE__ #define __HTTPINTERFACE__ #include "container/narray.h" namespace GS { namespace HTTP { /*! @short HTTP interface. @author Emmanuel Julien (ejulien@owloh.com) */ struct IHTTP { /// Process a request return value. virtual void OnRequestComplete(int ticket_id, const Array &data) = 0; /// Process a request error. virtual void OnRequestError(int ticket_id) = 0; /*! @short Post an asynchronous HTTP request. This function posts an asynchronous HTTP request and returns a ticket id to the caller. When task result is available the OnRequestComplete or OnRequestError handler functions will be called. */ virtual int Post(const char *url, const char *post) = 0; /// Process pending event dispatch in the caller thread. virtual void Update() = 0; virtual ~IHTTP() {} }; } // HTTP } // GS #endif // __HTTPINTERFACE__