--- a/voipplugins/sipconnectionprovider/inc/scpsubservice.h Thu Aug 19 09:45:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,369 +0,0 @@
-/*
-* Copyright (c) 2007-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 T_SCPSUBSERVICE_H
-#define T_SCPSUBSERVICE_H
-
-#include <e32std.h>
-#include <cchservice.h>
-
-#include "scpdefs.h"
-#include "scpsipconnectionobserver.h"
-
-class MCchServiceObserver;
-class MScpSubServiceObserver;
-class CScpServiceHandlerBase;
-class TScpSubServiceState;
-class CScpServiceStorage;
-class CScpProfileHandler;
-class CScpService;
-
-/**
- * SCP sub service.
- * @lib sipconnectionprovider.dll
- */
-class CScpSubService : public CBase,
- public MScpConnectionObserver
- {
-public:
-
- enum TEnableState
- {
- EScpNoRequest,
- EScpEnabled,
- EScpDisabled,
- EScpRefreshed
- };
-
- static CScpSubService* NewL( TInt aId,
- TInt aSubServiceId,
- TCCHSubserviceType aSubServiceType,
- CScpService& aService );
-
-
- /**
- * Destructor
- */
- ~CScpSubService();
-
- /**
- * Enables this sub service
- */
- void EnableL();
-
- /**
- * Disables this sub service
- * @return Symbian error codes
- */
- TInt Disable();
-
- /**
- * Returns internal id of this subservice
- * @return Internal id
- */
- TInt Id() const;
-
- /**
- * Returns service id of this subservice
- * @return Sub service id
- */
- TInt SubServiceId() const;
-
- /**
- * Return state of the subservice
- * @return State
- */
- TCCHSubserviceState State() const;
-
- /**
- * Returns sub service type of the subservice
- * @return Sub service type
- */
- TCCHSubserviceType SubServiceType() const;
-
- /**
- * Returns service storage
- * @return Service storage
- */
- CScpServiceStorage& ServiceStorage() const;
-
- /**
- * Returns profile handler
- * @return Service storage
- */
- CScpProfileHandler& ProfileHandler() const;
-
- /**
- * Sets sip profile id for the subservice
- * @param aSipProfileId Sip profile id
- */
- void SetSipProfileId( TInt aSipProfileId );
-
- /**
- * Returns sip profile id of the subservice
- * @return sip profile id
- */
- TInt SipProfileId() const;
-
- /**
- * Sets enable requested state
- * @param aEnableRequestedState State
- */
- void SetEnableRequestedState( TEnableState aEnableRequestedState );
-
- /**
- * Return info about if enable or disable is requested
- * @return Enable requested state
- */
- TEnableState EnableRequestedState() const;
-
- /**
- * Raises the flag that sub service is succesfully disconnected
- * its service (e.g. unsubscribed message received from network).
- * When disconnected it's ok for this sub service to disable SIP
- * profile
- * @param aSubServiceDisconnected Sub service disconnected
- */
- void SetSubServiceDisconnected( TBool aSubServiceDisconnected );
-
- /**
- * Return Sub service disconnceted flag
- * @return Sub service disconnected
- */
- TBool SubServiceDisconnected() const;
-
- /**
- * Sets access point for the sub service
- * @param aApId Access point
- */
- void SetApId( TUint32 aApId );
-
- /**
- * Returns access point id of the subservice
- * @return Access point id
- */
- TUint32 ApId() const;
-
- /**
- * Sets snap id or the subservice
- * @param aSnapId Snap id
- */
- void SetSnapId( TUint32 aSnapId );
-
- /**
- * Returns the iap type the subservice is using
- * @return Iap type
- */
- TScpIapType GetIapType() const;
-
- /**
- * Returns snap id id of the subservice
- * @return Snap id
- */
- TUint32 SnapId() const;
-
- /**
- * Returns service handler
- */
- CScpServiceHandlerBase& ServiceHandler() const;
-
- /**
- * Handle connection event. Based on event a corresponging
- * method from current state is called.
- * @param aEvent Connection event
- */
- void HandleConnectionEvent( TScpConnectionEvent aEvent );
-
- /**
- * Returns last reported error from a state change
- * @return Last error
- */
- TInt LastReportedError() const;
-
- /**
- * Last reported error setter
- * @param aError error which to be set
- */
- void SetLastReportedError( const TInt aError );
-
- /**
- * Sets the sub service as reserved
- * @param aReserved Reserved
- */
- void SetReserved( TBool aReserved );
-
- /**
- * Returns reserved info of the sub service
- * @return ETrue if reserved
- */
- TBool IsReserved() const;
-
- /**
- * Returns roaming info of the sub service
- * @return ETrue if roaming
- */
- TBool IsRoaming() const;
-
- /**
- * Set subservice observer
- */
- void SetSubServiceObserver( MScpSubServiceObserver* aSubServiceObserver );
-
- /**
- * Enable counter getter.
- */
- TInt EnableCounter();
-
- /**
- * Reset enable counter.
- */
- void ResetEnableCounter();
-
-private:
-
- /**
- * Constructor
- */
- CScpSubService( TInt aId,
- TInt aSubServiceId,
- TCCHSubserviceType aType,
- CScpService& aService );
-
- /**
- * 2nd phase constructor
- */
- void ConstructL();
-
- /**
- * TScpStates use this function to change the state
- * of the subservice.
- * @param aState New state
- * @param aError CCH errors
- */
- void ChangeState( TCCHSubserviceState aState, TInt aError );
-
- /**
- * Adds presencehandler to voip's subserviceobserver if
- * presencesubservice exists.
- */
- void SetPresenceToObserveVoIP();
-
- /**
- * Enable occured.
- */
- void EnableOccured();
-
-private:
-
- /**
- * Internal id.
- */
- TInt iId;
-
- /**
- * Service id.
- */
- TInt iSubServiceId;
-
- /**
- * Subservice type.
- */
- TCCHSubserviceType iSubServiceType;
-
- /**
- * Service that contains this sub service
- */
- CScpService& iService;
-
- /**
- * Service handler. Owned.
- */
- CScpServiceHandlerBase* iServiceHandler;
-
- /**
- * Protocol profile id.
- */
- TInt iSipProfileId;
-
- /**
- * Enable requested state
- */
- TEnableState iEnableRequestedState;
-
- /**
- * Sub service disconnected
- */
- TBool iSubServiceDisconnected;
-
- /**
- * IAP id.
- */
- TUint32 iApId;
-
- /**
- * Snap id.
- */
- TUint32 iSnapId;
-
- /**
- * Last reported error
- */
- TInt iLastReportedError;
-
- /**
- * Reserved
- */
- TBool iReserved;
-
- /**
- * Indicates is roaming ongoing
- */
- TBool iRoaming;
-
- /**
- * Points to current sub service state.
- */
- TScpSubServiceState* iSubServiceState;
-
- /**
- * Sub service observer
- */
- MScpSubServiceObserver* iSubServiceObserver;
-
- /**
- * Counting enable requests, max count is sub service specific
- */
- TInt iEnableCounter;
-
-private:
-
- // Needs access to call the private ChangeState
- friend class TScpSubServiceState;
-
-#ifdef _DEBUG
- friend class T_CScpService;
- friend class T_CScpServiceStorage;
- friend class T_CScpServiceManager;
- friend class T_CScpVmbxHandler;
- friend class T_CScpVoipHandler;
- friend class T_CScpPresenceHandler;
- friend class T_CScpImHandler;
-#endif
- };
-
-#endif // T_SCPDEFS_H