diff -r 000000000000 -r a4daefaec16c voipplugins/sipconnectionprovider/ipvoicemailengine/inc/ipvmbxinterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/voipplugins/sipconnectionprovider/ipvoicemailengine/inc/ipvmbxinterface.h Mon Jan 18 20:12:36 2010 +0200 @@ -0,0 +1,133 @@ +/* +* Copyright (c) 2007-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: Interface class to control voice mail engine +* +*/ + + + + +#ifndef C_IPVMBXINTERFACE_H +#define C_IPVMBXINTERFACE_H + +#include + +#include "ipvmbxobserver.h" +#include "ipvmbxconstants.h" + + +class CIpVmbxEngine; +class CSIPProfile; + + +/** + * Interface class for IPVoiceMailEngine + * + * This class is used to instantiate + * IPVoiceMailEngine. It offers functions to to control + * subscription state to Voice mail servers. + * + * @lib IPVoiceMailAppEnginedll.lib + */ + +NONSHARABLE_CLASS( CIpVmbxInterface ) : public CBase + { + +public: + + /** + * Two-phased constructor. + * + * @param aEngineObserver Observer instance for status messages (SCP) + * @return Interface to IPVME + */ + IMPORT_C static CIpVmbxInterface* NewL( + MIpVmbxObserver& aEngineObserver ); + + /** + * Destructor. + */ + virtual ~CIpVmbxInterface(); + + /** + * Subscribes service to ip voice mail server + * + * @param aServiceProviderId Service to be subscribed + * @param aSipProfile Sip profile used for subscription + */ + IMPORT_C void SubscribeL( + TUint32 aServiceProviderId, + CSIPProfile& aSipProfile ); + + /** + * Un-subscribes service from ip voice mail server + * + * @param aServiceProviderId Service to be un-subscribed + */ + IMPORT_C void UnsubscribeL( TUint32 aServiceProviderId ); + + /** + * Check if service is subscribed to ip voice mail server + * + * @param aServiceProviderId Service which connection status will be + * checked + * @param aProfileSubscribed Is subscribed + * @return KErrNotFound if instance does not exist + */ + IMPORT_C TInt IsSubscribed( + TUint32 aServiceProviderId, + TBool& aProfileSubscribed ) const; + + /** + * Send messages through observer when subscribe status of service + * is changed + * + * @param aServiceProviderId Service which state has changed + * @param aMessage Service subscription state + */ + void SendMessage( + TUint32 aServiceProviderId, + MIpVmbxObserver::TVmbxMessage aMessage ); + + +private: + + /** + * Constructor. + * + * @param aEngineObserver Observer for messages (SCP). + */ + CIpVmbxInterface( MIpVmbxObserver& aEngineObserver ); + + void ConstructL(); + + +private: // data + + /** + * Engine class + * Own. + */ + CIpVmbxEngine* iIpVmbxEngine; + + /** + * Observer instance (to SCP) + */ + MIpVmbxObserver& iEngineObserver; + + + EUNIT_IMPLEMENTATION + }; + +#endif // C_IPVMBXINTERFACE_H