locationcentre/lcservice/inc/lcsyncoperation.h
changeset 0 522cd55cc3d7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationcentre/lcservice/inc/lcsyncoperation.h	Tue Feb 02 00:16:03 2010 +0200
@@ -0,0 +1,100 @@
+/*
+* 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:  Handles all the Synchronous operations with the Location
+*                Centre Client Session
+*
+*/
+
+
+#ifndef LCSYNCOPERATION_H
+#define LCSYNCOPERATION_H
+
+// SYSTEM INCLUDES
+#include <e32base.h>
+
+// USER INCLUDES
+
+// FORWARD DECLARATIONS
+class RLcClientSession;
+class CLcBasicAppInfo;
+class CLcLocationAppInfoArray;
+class TLcLocationAppFilter;
+
+/**
+ *  Handles all the Synchronous operations to the Location Centre Server.
+ *
+ *  @lib lcservice.lib
+ *  @since S60 v5.0
+ */
+NONSHARABLE_CLASS( LcSyncOperation )
+    {
+public:
+    /**
+     * Gets a filtered list of Location based Applications.
+     *
+     * @param[in] aSession    			Reference to the Location Centre Client Session.
+     * @param[in] aLocationAppFilter	Filtering parameters.
+     * @return CLcLocationAppInfoArray* Array of Location based Applications and
+     *                                  Contents/Services.
+     */
+     static CLcLocationAppInfoArray* GetLocationApplicationsL(
+     					   RLcClientSession&   		aSession,
+                     const TLcLocationAppFilter&    aLocationAppFilter );
+    
+    /**
+     * Gets a filtered list of Location based Applications.
+     *
+     * The Client application can configure the list of Location based
+     * Applications returned. This can be achieved by passing the list of Location
+     * based Applications which the Client wants to be included/excluded in the
+     * list.
+     *
+     * The ownership of the array of identifiers is not transferred.
+     *        
+     * @param[in] aSession    	Reference to the Location Centre Client Session.        
+     * @param[in] aAppArray     Array of Location based Applications and Contents
+     *                          or Services which need to be included or excluded.
+     * @param[in] aIncludeFlag  Boolean flag which defines whether the set of
+     *                          Location based Applications should be included or
+     *                          excluded.
+     * @return CLcLocationAppInfoArray object containing a list
+     *         of applications registered with Location Centre.
+     */
+    static CLcLocationAppInfoArray* GetLocationApplicationsL(
+     					   RLcClientSession&   		aSession,    
+                          const RArray<TPtrC>&      aAppArray,
+                                TBool               aIncludeFlag );
+                                                          
+    /**
+     * Gets the Location Application Information corresponding to the Location
+     * based Application or Content/Service based on the Identifer name.
+     *
+     * @param[in] aSession    Reference to the Location Centre Client Session.     
+     * @param[in] aIdentifier Name of the Location based Identifier whose
+     *                        information is requested.
+     */
+    static CLcBasicAppInfo* GetLocationAppInfoL(  	  
+    								RLcClientSession&   aSession,
+    						  const TDesC&				aIdentifier );
+      
+    /**
+     * Parses the Location Application information present in the Read stream.
+     *
+     * Other documentation present in the corresponding function for
+     * CLcService class.
+     */
+    static CLcLocationAppInfoArray* ParseLocAppBufferL( RReadStream&   aReadStream );
+    };
+
+#endif // LCSYNCOPERATION_H