--- /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 <e32base.h>
+
+#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