phonebookui/Phonebook2/ccapplication/ccapp/inc/tccapluginsorderinfo.h
changeset 0 e686773b3f54
--- /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 <e32std.h>
+
+
+
+// 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
+