diff -r 000000000000 -r e686773b3f54 phonebookui/Phonebook2/ccapplication/ccapp/inc/tccapluginsorderinfo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/Phonebook2/ccapplication/ccapp/inc/tccapluginsorderinfo.h Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,161 @@ +/* +* Copyright (c) 2007-2009 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: Range that is allocated for a plug-in. +* +*/ + + + + +#ifndef TCCAPluginsOrderInfo_H + +#define TCCAPluginsOrderInfo_H + + + +// INCLUDES + +#include + + + +// FORWARD DECLARATIONS + +class CImplementationInformation; + + + +/** + + * stores plugins order + + */ + +struct TCCAPluginsOrderInfo + + { + + + + public: + + + + // CCA plugins can be seperated two 3 groups. + + // + + // group ECCAInHousePlugins: in-house CCAsXPExtension plugins impelemented by ourself + + // group ECCAPluginsInBothCCAAndNameList: CCA service plugins, whose corresponding + + // phonebook main view sXP plugins exists. + + // group ECCAPluginsOnlyInCCA: CCA service plugins, which exists only in CCA. + + enum TCCAPluginGroup + + { + + ECCAInHousePlugins = 0, + + ECCAPlugindInBothCCAAndNameList = 1, + + ECCAPluginsOnlyInCCA = 2 + + }; + + + + public: // Construction + + + + inline TCCAPluginsOrderInfo() : iPluginInfor(0),iOrder(0) + + { + + } + + + + static inline TInt SortByOrder( const TCCAPluginsOrderInfo& aFirst, + + const TCCAPluginsOrderInfo& aSecond ) + + { + + if( aFirst.iOrder < aSecond.iOrder ) + + { + + return -1; + + } + + else if( aFirst.iOrder == aSecond.iOrder ) + + { + + return 0; + + } + + else + + { + + return 1; + + } + + } + + + + public: // Data + + + + CImplementationInformation* iPluginInfor; + + + + // the order is opaque value after object just created, + + // array of TCCAPluginsOrderInfo will be sorted by this iOrder; + + TInt iOrder; + + + + // store plugins group infor, CCA sXPExtension plugins are seperated into 3 groups. + + // ECCAInHousePlugins, ECCAPlugindInBothCCAAndNameList and ECCAPluginsOnlyInCCA + + TCCAPluginGroup iGroupInfo; + + //ETrue for legacy interface implementations + TBool iOldInterFaceType; + + + + }; + + + +#endif // TCCAPluginsOrderInfo_H + +//End of file +