diff -r 000000000000 -r f5a58ecadc66 servicediscoveryandcontrol/pnp/test/upnp/upnpmessage/inc/CRequest.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/servicediscoveryandcontrol/pnp/test/upnp/upnpmessage/inc/CRequest.h Tue Feb 02 01:12:20 2010 +0200 @@ -0,0 +1,103 @@ +// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#ifndef __CREQUEST_H__ +#define __CREQUEST_H__ + +#include + +#include "rrequest.h" +#include "CMessage.h" + +/** An HTTP Request. Provides the real implementation of a request, + as proxied in the public API by RRequest. + @see RRequest +*/ +class CRequest : public CMessage + { +public: + + /** Constructs a request + */ + IMPORT_C static CRequest* NewL(CHeaderCodec& aCodec, RStringPool& aStringPool); + /** Destructor + */ + IMPORT_C ~CRequest(); + + /** Returns the method + */ + const RStringF& Method() const; + + /** Returns the method (as a reference so you can set it) + */ + RStringF& Method(); + + /** Returns the URI (as a reference so you can set it) + */ + CUri8*& URI(); + + /** Obtain a handle for this request that can be used by the client. + */ + inline RRequest Handle(); + + /** Returns the string pool. + */ + RStringPool& StringPool(); + + /** Returns the string pool + */ + const RStringPool& StringPool() const; + + /** Returns ETrue if the HTTP protocol version is 1.0 + */ + inline TBool IsHTTP10() const; + + /** Returns the HTTP version (returned as a reference, which you can set) + */ + inline TVersion& Version(); + + /** Resets the request object. + */ + inline void Reset(); + +private: + + /** Constructor + */ + CRequest(RStringPool& aStringPool); + +private: + + /** The URI + */ + CUri8* iURI; + + /** The method + */ + RStringF iMethod; + + /** The string pool + */ + RStringPool& iStringPool; + + /** The HTTP version number (major/minor) obtained from the HTTP server's response + */ + TVersion iVersion; + + }; + +#include "CRequest.inl" + +#endif // __CREQUEST_H__