--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationcentre/lcserver/inc/lcregapporder.h Tue Feb 02 00:16:03 2010 +0200
@@ -0,0 +1,150 @@
+/*
+* 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: Location Centre Server object.
+*
+*/
+
+
+#ifndef C_LCREGAPPORDER_H
+#define C_LCREGAPPORDER_H
+
+
+// SYSTEM INCLUDES
+#include <e32base.h>
+#include <centralrepository.h>
+#include <s32strm.h>
+
+// USER INCLUDDE
+#include "lcipcparams.h"
+
+// FORWARD DECLARATIONS
+class CLcRegAppStore;
+
+//DATA TYPE
+
+/**
+ * Location Centre registered application content/service display order.
+ *
+ * This class is inherited from CBase. Extracts the registration
+ * order from the central repository key
+ * and externalize/internalize of those from/to TDesC key value.
+ *
+ * @since S60 v5.0
+ */
+NONSHARABLE_CLASS( CLcRegAppOrder ) : public CBase
+ {
+public:
+ /**
+ * Constructs a new instance of CLcRegAppOrder.
+ *
+ * @return The new instance of CLcRegAppOrder object.
+ * @leave System wide error code if the object creation fails.
+ */
+ static CLcRegAppOrder* NewL( CLcRegAppStore& aLcRegAppStore);
+
+ /**
+ * C++ Destructor.
+ * Frees all the resources associated with this Location Centre
+ * server registry handler
+ */
+ ~CLcRegAppOrder();
+
+public:
+ /**
+ * Extracts the application registered order according to place
+ * like top,middle,and bottom in the list from central repository key
+ * buffer output.
+ *
+ * @since S60 v5.0
+ * @param [in]aUuid UUID of the registered app/service
+ * @param [out]aRowPos returns the position of app/service
+ *
+ * @return TInt If successfull the return KErrNone.
+ */
+ TInt GetRegisteredAppOrder( const TDesC& aUuid,
+ TInt& aRowPos);
+
+ /**
+ * Remove the deregistered application from the array
+ * depends upon the UUID's sent through the function.
+ *
+ * @since S60 v5.0
+ * @param aUuid UUID of the registered app/service
+ *
+ * @return TInt If successfull the return KErrNone.
+ */
+ void RemoveArrayL(const TDesC& aUuid);
+
+ /**
+ * Append the registered application to the array
+ * depends upon the UUID's sent through the function.
+ *
+ * @since S60 v5.0
+ * @param aUuid UUID of the registered app/service
+ *
+ * @return TInt Index.
+ */
+ TInt AppendArrayL(const TDesC& aUuid);
+
+private: // new private method
+ /**
+ *
+ *
+ * @since S60 v5.0
+ * @param aArray[ out ]
+ * @param aArray[ in ]
+ *
+ */
+ void ParseCenRepKeyL( RPointerArray< HBufC >& aArray,
+ const TDesC& aKey );
+
+ /**
+ *
+ * @since S60 v5.0
+ * @param aBuffer
+ *
+ * @return TUint32
+ */
+ TUint32 ParseInteger( const TDesC& aBuffer );
+
+private:
+ /**
+ * C++ Default constructor
+ */
+ CLcRegAppOrder( CLcRegAppStore& aLcRegAppStore );
+
+ /**
+ * Second phase of the two phase constructor
+ */
+ void ConstructL();
+
+private: //data member
+ //own: Central repository instance.
+ CRepository* iRepository;
+
+ //own: array of top portion's UUID's
+ RPointerArray< HBufC > iTopArray;
+
+ //own: array of bottom portion's UUID's
+ RPointerArray< HBufC > iBottomArray;
+
+ // array of middle portion's UUID's
+ RLcIpcAppIdArray iMiddleArray;
+
+ //reference to appstore object comming through lc registry
+ CLcRegAppStore* iLcRegAppStore;
+ };
+
+#endif // C_LCREGAPPORDER_H
+