diff -r b31261fd4e04 -r ccd8e69b5392 mmsharing/mmshavailability/inc/musavacapabilityquerybase.h --- a/mmsharing/mmshavailability/inc/musavacapabilityquerybase.h Tue Feb 02 00:09:07 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,224 +0,0 @@ -/* -* Copyright (c) 2005-2006 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: Sent capability query (OPTIONS) -* -*/ - - -#ifndef CMUSAVACAPABILITYQUERYBASE_H -#define CMUSAVACAPABILITYQUERYBASE_H - - -#include // CBase - -#ifdef CAPABILITY_UNIT_TESTING -#include "capabilitytestdefs.h" -#else -#define CAPABILITY_UT_DEFINITIONS -#endif - - - -class CMusAvaCapability; -class CSIPConnection; -class CSIPProfile; -class CSdpDocument; - -class CSIPClientTransaction; -class CMusAvaTerminal; -class CSIPHeaderBase; -class CUri8; - -const TInt KCapabilityQueryNotReady = 0; -const TInt KCapabilityCapabilitesReady = 1; -const TInt KCapabilityCapabilitesNotFound = 2; -const TInt KCapabilityCapabilitiesForbidden = 3; - - -/** - * Sent capability query (OPTIONS) - * - * @lib AlwaysOnlineSwisPlugin.dll - */ -class CMusAvaCapabilityQueryBase : public CBase - { - -public: - - enum TState - { - ECapabilityQueryCreated, - ECapabilityQueryPrepared, - ECapabilityQueryExecuting, - ECapabilityQueryCompleted - }; - -public: // constructors and destructor - - virtual ~CMusAvaCapabilityQueryBase(); - - -protected: // constructors - - CMusAvaCapabilityQueryBase( CMusAvaCapability& aCapability, - CSIPConnection& aSIPConnection, - CSIPProfile& aProfile ); - - - void ConstructL( const TDesC& aSipAddress ); - -public: // new functions - - /** - * Executes OPTIONS query - * - */ - virtual void ExecuteL(); - - /** - * Complets the query - * - * @param aResponse a response to query as SIP client transaction - */ - void CompletedL( const CSIPClientTransaction& aResponse ); - - /** - * Cancels query, if transaction is created by this query - * - * @param aResponse a response to query as SIP client transaction - */ - void Canceled( const CSIPClientTransaction& aTransaction ); - - /** - * Returns associated terminal - * - * @return returns associated terminal - */ - CMusAvaTerminal& Terminal(); - - /** - * Returns the sdp content. - * - */ - HBufC8* ContentLC(); - - - -public: // new functions - - /** - * Returns state of query - * - * @return state of query - */ - TState State() const; - - /** - * Returns result of query - * - * @return result of query - */ - TInt Result() const; - - -protected: // abstract functions - - /** - * Prepares query - * - * @param aRequestHeaders headers container for request - */ - virtual void Prepare( RPointerArray& aRequestHeaders ) = 0; - - /** - * Complets the query - * - * @param aResponse a response to query as SIP client transaction - */ - virtual void DoCompletedL( const CSIPClientTransaction& aResponse ) = 0; - - -protected: // new functions - - /** - * Returns capablity, which is beed queried - * - * @return capablity - */ - const CMusAvaCapability& Capability() const; - - /** - * Sets state - * - * @param aState new state - */ - void SetState( TState aState ); - - /** - * Sets result - * - * @param aResult the result - */ - void SetResult( TInt aResult ); - - /** - * Adds Contact header to request's user headers - * - * @param aRequestHeaders request's user headers - */ - virtual void AddContactHeaderL( RPointerArray& aRequestHeaders ); - - /** - * Resets and destroys transaction - */ - void ResetAndDestroyTrx(); - - /** - * Returns local address based on profile - * - * @return local adderss - */ - const CUri8& LocalAddress() const; - - /** - * Some Multimediasharing specific sdp contents are added. - * - */ - void OtherSDPHeadersL( CSdpDocument& aResponseContent ); - - -private: // NOT own data - - CMusAvaCapability& iCapability; - CSIPConnection& iSIPConnection; - CSIPProfile& iProfile; - - TState iState; - TInt iResult; - - CMusAvaTerminal* iTerminal; - -private: // own data - - CUri8* iRegisteredContact; - CUri8* iOriginator; - CSIPClientTransaction* iTrx; - -//for unit testing - CAPABILITY_UT_DEFINITIONS - - }; - - -#endif // CMUSAVACAPABILITYQUERYBASE_H