/** @file* Copyright (c) 2008 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: Declares the CUpnpHttpTransaction class**/#ifndef __UPNPHTTPTRANSACTION_H__#define __UPNPHTTPTRANSACTION_H__#include <e32base.h>class CUpnpHttpMessage;/** * Abstract base class for every upnp transaction. * Transaction encapsulates request and response message. * Client constructs instance of transaction with request, and sends it * by client engine. When response comes engine writes it to response message * and transaction can process it by implementing ProcessResponseL method. */class CUpnpHttpTransaction : public CBase { public: IMPORT_C ~CUpnpHttpTransaction(); /* * Returns request message of transaction. * * @return request message of transaction */ IMPORT_C CUpnpHttpMessage* Request(); /* * Returns response message of transaction. * * @return response message of transaction */ IMPORT_C CUpnpHttpMessage* Response(); /* * Pure virtual method that let child classes to process * response in their own specific way. */ virtual void ProcessResponseL() = 0; /* * Creates ok response for the request * * @param aResponseBody response body to set in response message */ void CreateOkResponseL( const TDesC8& aResponseBody ); /* * Creates response for the request * */ void CreateFaultResponseL( const TDesC8& aResponseBody, TInt aStatus, TInt aError ); protected: IMPORT_C CUpnpHttpTransaction( CUpnpHttpMessage* aRequest ); IMPORT_C void BaseConstructL(); private://owned CUpnpHttpMessage* iHttpRequest; CUpnpHttpMessage* iHttpResponse; };#endif /*__UPNPHTTPTRANSACTION_H__*/// End of File