diff -r f742655b05bf -r d38647835c2e voipplugins/sipconnectionprovider/inc/scpvmbxhandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/voipplugins/sipconnectionprovider/inc/scpvmbxhandler.h Wed Sep 01 12:29:57 2010 +0100 @@ -0,0 +1,130 @@ +/* +* Copyright (c) 2002-2007 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 C_CSCPVMBXHANDLER_H +#define C_CSCPVMBXHANDLER_H + +#include + +#include "scpservicehandlerbase.h" +#include "ipvmbxobserver.h" + +class CScpSubService; +class CScpServiceStorage; + +/** +* Vmbx sub service handler. +* +* @lib sipconnectionprovider.dll +* @since Series 60 3.2 +*/ +class CScpVmbxHandler : public CScpServiceHandlerBase, + public MIpVmbxObserver + { +public: // Constructors and destructor + + static CScpVmbxHandler* NewL( CScpSubService& aSubService ); + + /** + * Destructor. + */ + virtual ~CScpVmbxHandler(); + +private: // From base class + + /** + * Enables service. + */ + void EnableSubServiceL(); + + /** + * Checks if another vmbx sub service is already enabled + * @return ETrue if enabled + */ + TBool IsAnotherVmbxSubServiceAlreadyEnabled() const; + + /** + * Disables service. + */ + TInt DisableSubService(); + + /** + * Handles messages from Vmbx interface + * @param aServiceId Message concers the given service id + * @param aMessage Message + */ + void HandleMessage( TUint32 aServiceId, TVmbxMessage aMessage ); + + /** + * Handlers sip connection event + * @param aProfileId Sip profile id + * @param aEvent Connection event + */ + void HandleSipConnectionEvent( TUint32 aProfileId, + TScpConnectionEvent aEvent ); + + /** + * Returns type of sub service (VoIP, Vmbx, Presence). + * @return Type of the sub service. + */ + TCCHSubserviceType SubServiceType() const; + +private: + + /** + * C++ default constructor. + */ + CScpVmbxHandler( CScpSubService& aSubService ); + + /** + * 2nd phase constructor. + */ + void ConstructL(); + + /** + * Disable sub service. + */ + void UnsubscribeL(); + + /** + * SubscribeL + */ + void SubscribeL(); + + /** + * Force Vmbx service disable + * @param aSelf This object + */ + static TInt ForceVmbxServiceDisable( TAny* aSelf ); + +private: // data + + /** + * Indicates do we have to make resubscribe + */ + TBool iResubscribe; + +#ifdef _DEBUG + friend class T_CScpVmbxHandler; + friend class T_CScpServiceManager; +#endif + }; + +#endif // C_CSCPVMBXHANDLER_H + +// End of File