/*
* Copyright (c) 2006, 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: s_enginecontmgtextfeatures.cpp
*
*/
#include "mvimpstengine.h"
#include "mvimpststoragecontactsobserver.h"
#include "mvimpstenginecchuieventobserver.h"
class TVIMPSTEnums;
class MVIMPSTEngineExtentionFeatures;
class vimpstengine_stub : public MVIMPSTEngine
{
public:
/**
* See MVIMPSTEngine
*
*/
TUint32 ServiceId() const ;
/**
* See MVIMPSTEngine
*
*/
TVIMPSTEnums::TVIMPSTRegistrationState ServiceState() const ;
/**
* See MVIMPSTEngine
*
*/
TInt GetBrandInfoL(TLanguage& aBrandLanguage,
TInt& aBrandVersion, TDes8& aBrandId) const ;
/**
* See MVIMPSTEngine
*
*/
TBool IsSubServiceSupportedL(TVIMPSTEnums::SubServiceType aType) const ;
/**
* See MVIMPSTEngine
*
*/
TBool IsSubServiceEnabled(TVIMPSTEnums::SubServiceType aType) const ;
/**
* See MVIMPSTEngine
*
*/
void ContactStoreIdL(
TDes& aContactStoreId ) const ;
/**
* See MVIMPSTEngine
*
*/
const TDesC& ServiceName() const ;
/*
* See MVIMPSTEngine
*/
TBool IsUnInstalled();
/**
* See MVIMPSTEngine
*
*/
void RegisterServiceSessionObserverL
(MVIMPSTEngineServiceStateEventObserver* aObserver) ;
/**
* See MVIMPSTEngine
*
*/
void UnRegisterServiceSessionObserver
(MVIMPSTEngineServiceStateEventObserver* aObserver) ;
/**
* See MVIMPSTEngine
*
*/
void IntializeStorageL() ;
/**
* See MVIMPSTEngine
*
*/
void UnIntializeStorage() ;
/**
* See MVIMPSTEngine
*
*/
MVIMPSTEngineSubService* SubService(TVIMPSTEnums::SubServiceType aType) const;
/**
* See MVIMPSTEngine
*
*/
MVIMPSTEngineExtentionFeatures* ExtentionFeatures(TVIMPSTEnums::ExtentionType aType) const ;
/**
* See MVIMPSTEngine
*
*/
HBufC* GetOwnUserIdFromCChOrStorageL() const;
/**
* See MVIMPSTEngine
*
*/
TInt Login();
/**
* See MVIMPSTEngine
*
*/
void LogoutL();
/**
* See MVIMPSTEngine
*
*/
void DefaultDomainNameL( TDes& aDefaultDomainName ) const;
/**
* See MVIMPSTEngine
*
*/
TInt ChangeConnectionL();
/**
* See MVIMPSTEngine
*
* @return True if password is present in the settings else returns false
*
*/
TBool IsPasswordAvailableL();
/**
* See MVIMPSTEngine
*
*/
TBool IsBlockSupportedL();
/**
* See MVIMPSTEngine
*
*/
void DeleteDataBaseL();
/**
* See MVIMPSTEngine
*
*/
MVIMPSTEnginePresenceSubService* GetPreseceSubService();
/**
* See MVIMPSTEngine
*
*/
void FetchBlockedListL();
/**
* See MVIMPSTEngine
*
*/
void RegisterBlockedListObserver(
MVIMPSTEngineBlockedListFetchEventObserver* aOb);
/**
* See MVIMPSTEngine
*
*/
void SetOwnUserIdIfChangedL(const TDesC& aUserId ) ;
/**
* See MVIMPSTEngine
*
*/
void RetriveContextIfCChEnabledL() ;
private: // From MVIMPSTEngineServiceConnectionEventObserver
/**
* See MVIMPSTEngineServiceConnectionEventObserver
*/
void HandleServceConnectionEventL();
private:
/**
* Returns a SubService is Supported or not
* Components intertested in knowing whether a SubService is Supported or not can use this API
* @param aType - Type of the SubService TVIMPSTEnums::SubServiceType - Defined in tvimpstenums.h
* @return TBool, ETrue if the SubService is Supported in this Service, else returns EFalse
*/
TBool IsSubServiceSupportedInternal(TVIMPSTEnums::SubServiceType aType) const ;
public:
/**
* Called when all the contacts are fetched from the virtual store.
*
* @since s60 5.0
*/
void HandleContactFetchedL();
public: // From MVIMPSTStorageContactsObserver
/**
* HandleChange: To handle the Chnage event from the MCAStoredContactsObserver
* @see MCAStoredContactsObserver
* @param aList: reference to the list at which a change has occured
* @param aContact: reference to the contact at which a change has occured
* @param aEventType: TVIMPSTEnums::TCAObserverEventType,type of change event that has occured
* @param aUserIdChanged, ETrue if userid has changed, else EFalse.
* @return void
*/
void HandleStorageChangeL( TVIMPSTEnums::TVIMPSTStorgaeEventType aEventType,
MVIMPSTStorageContactList* aList,
MVIMPSTStorageContact* aContact,
TInt aContactIndex );
//From MVIMPSTEngineCchUiEventObserver
/**
* Handles the change connection event from CCHUI
*@ return void
*/
void HandleChangeConnectionEventL();
};