diff -r 13d7c31c74e0 -r b183ec05bd8c syncmlfw/syncmlnotifier/inc/SyncMLPreSyncPluginInterface.h --- a/syncmlfw/syncmlnotifier/inc/SyncMLPreSyncPluginInterface.h Thu Aug 19 10:44:50 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,138 +0,0 @@ -/* -* Copyright (c) 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: Implementation of syncmlnotifier component -* This is part of syncmlnotifier. -* -*/ - -#ifndef SYNCMLPRESYNCPLUGININTERFACE_H -#define SYNCMLPRESYNCPLUGININTERFACE_H - -// INCLUDE FILES -#include -#include -#include -#include -#include - -class CPreSyncPlugin; - -/** -* Class is used to instantiate the required plugins when the search has been -* asked. Acts as interface to all Plugins. -*/ - -class CPreSyncPluginInterface: public CBase -{ - public: - - /** - * Symbian OS 2 phased constructor. - * @return A pointer to the created instance of CPreSyncPluginInterface. - */ - static CPreSyncPluginInterface* NewL(); - - /** - * Symbian OS 2 phased constructor. - * @return A pointer to the created instance of CPreSyncPluginInterface. - */ - static CPreSyncPluginInterface* NewLC(); - - /** - * Destructor. - */ - virtual ~CPreSyncPluginInterface(); - - /** - * Instantiates the required search plug-ins known by the ecom framework. - * basically this function first calls ListAllImplementationsL() - * and then checks them one by one to match the algorithm name - */ - void InstantiatePluginL(); - - CPreSyncPlugin* InstantiateRoamingPluginLC( TSmlProfileId aProfileId ); - - /** - * Unloads all plugins - * This should internally call REComSession::DestroyedImplementation( iDtor_ID_Key ) - * and then REComSession::FinalClose() - */ - void UnloadPlugIns(); - - /** - * Lists all implementations which satisfy this ecom interface - * - * @param aImplInfoArray On return, contains the list of available implementations - * - */ - void ListAllImplementationsL( RImplInfoPtrArray& aImplInfoArray ); - - - /** - * Forwards the request to check if language is supported - * to the algorithm instance - */ - TBool IsDefault(); - - /** - * Forwards the request to recover data fields order for a URI - * to the algorithm instance - */ - TBool IsProfileYours(TSmlProfileId aProfileId); - - /** - * Forwards the request to recover sort order for a URI - * to the algorithm instance - */ - void Handle(TSmlProfileId aProfileId); - - private: - - /** - * Performs the first phase of two phase construction. - */ - CPreSyncPluginInterface(); - - /** - * Symbian OS 2 phased constructor. - */ - void ConstructL(); - - /** - * Instantiates a PCS plug-in, knowing the implementation uid. - * @param aImpUid imp uID - */ - CPreSyncPlugin* InstantiatePlugInFromImpUidL( const TUid& aImpUid ); - - - private: - - /** iDtor_ID_Key Instance identifier key. When instance of an - * implementation is created by ECOM framework, the - * framework will assign UID for it. The UID is used in - * destructor to notify framework that this instance is - * being destroyed and resources can be released. - */ - TUid iDtor_ID_Key; - - // List of plugins that this interface will interact with - RPointerArray iPluginInstances; - - // Uid of the algorithm in use - TUid iPluginInUse; -}; - -#endif // SYNCMLPRESYNCPLUGININTERFACE_H - -//End of File