Sha256: cec3015196ccb670c26a7c54241da4e8708881259bc02ffcb4a6ec4dbb1b48ac

Contents?: true

Size: 1.76 KB

Versions: 6

Compression:

Stored size: 1.76 KB

Contents

#pragma once

#include "common/RhoStd.h"
#include "common/InputStream.h"
#include "common/AutoPointer.h"

namespace rho {
namespace net {

#define MAX_NETREQUEST_RETRY 1

struct INetResponse
{
    virtual ~INetResponse(void){;}
    virtual const char* getCharData() = 0;
    virtual unsigned int getDataSize() = 0;
    virtual int getRespCode() = 0;
    virtual boolean isOK() = 0;
    virtual boolean isResponseRecieved() = 0;
    virtual boolean isUnathorized() = 0;
    virtual String getCookies() = 0;
};

struct IRhoSession
{
	virtual void logout()=0;
	virtual const String& getSession()=0;
};

struct INetRequest
{
    virtual ~INetRequest(void){;}

    virtual INetResponse* pullData(const String& strUrl, IRhoSession* oSession ) = 0;
    virtual INetResponse* pushData(const String& strUrl, const String& strBody, IRhoSession* oSession)=0;
    virtual INetResponse* pushFile(const String& strUrl, const String& strFileName, IRhoSession* oSession, Hashtable<String,String>* pHeaders)=0;
    virtual INetResponse* pullFile(const String& strUrl, const String& strFileName, IRhoSession* oSession, Hashtable<String,String>* pHeaders)=0;
    virtual INetResponse* pullCookies(const String& strUrl, const String& strBody, IRhoSession* oSession)=0;

    virtual INetResponse* doRequest( const char* method, const String& strUrl, const String& strBody, IRhoSession* oSession, Hashtable<String,String>* pHeaders )=0;

    virtual String resolveUrl(const String& strUrl)=0;

    virtual void cancel() = 0;
    virtual boolean isCancelled() = 0;
};

#define NetResponse(name,call)\
    rho::common::CAutoPtr<rho::net::INetResponse> p##name = call;\
    rho::net::INetResponse& name = *p##name;
#define NetRequest(call)\
    rho::common::CAutoPtr<rho::net::INetResponse> p__NetReq = call;p__NetReq;

}
}

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rhodes-1.5.5 platform/shared/net/INetRequest.h
rhodes-1.5.4 platform/shared/net/INetRequest.h
rhodes-1.5.3 platform/shared/net/INetRequest.h
rhodes-1.5.2 platform/shared/net/INetRequest.h
rhodes-1.5.1 platform/shared/net/INetRequest.h
rhodes-1.5.0 platform/shared/net/INetRequest.h