locationcentre/lcserver/inc/lcserverinterface.h
changeset 0 522cd55cc3d7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationcentre/lcserver/inc/lcserverinterface.h	Tue Feb 02 00:16:03 2010 +0200
@@ -0,0 +1,166 @@
+/*
+* 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:  Private Interface to the Location Centre Server.
+*
+*/
+
+
+#ifndef LCSERVERINTERFACE_H
+#define LCSERVERINTERFACE_H
+ 
+// SYSTEM INCLUDES
+#include <e32base.h>
+    
+/**
+ * Location Centre Server Name.
+ *
+ * The name begins with a ! to ensure that this server is protected. This
+ * prevents faking of this server by any other malicious application.
+ */
+ _LIT( KLocationCentreServerName, "!LocationCentreServer" );
+
+/**
+ * Executable name of the server. This is required to be exposed because
+ * the server is a transient server and not a permanent server and hence
+ * has to be started by the Client. 
+ */
+ _LIT( KLocationCentreServerExe, "lcserver" );
+ 
+/**
+ * Location Centre server Version numbers
+ */
+const TUint KLcServerMajorVersionNumber = 1;
+const TUint KLcServerMinorVersionNumber = 0;
+const TUint KLcServerBuildVersionNumber = 0;
+ 
+/**
+ * IPC Message Types
+ */
+ enum TLcServerMsgType
+    {
+    /**
+     * This message is used to get the length of the buffer that needs to
+     * be passed to the Location Centre Server inorder to retieve information
+     * about Location based Applications registered with Location Centre.
+     * The Client also needs to specify the filtering that needs to be
+     * applied to the set.
+     * This message is to be used as a precurssor to the next message
+     * ELcFilteredApps. This message can be used either in the synchronous or
+     * the asynchronous variant.
+     *
+     * IPC Parameter Description
+     * Arg1 - Package buffer Containing the Filter arguments
+     * Arg2 - TDes, pointing to the buffer which would be filled with the
+     *              Length of the Application information structure.
+     */
+    ELcFilteredAppsBufferLength                       = 1,
+    
+    /**
+     * Retrives information regarding Location based Applications
+     * registered with Location Centre. The Client also needs to specify
+     * the filtering that needs to be applied to the set.This function can
+     * be used either in the synchronous or the asynchronous variant.
+     * The function takes a buffer which would be filled with the filtered
+     * set of Location Based Application structures.
+     *
+     * IPC Parameter Description
+     * Arg1 - Package buffer Containing the Filter arguments
+     * Arg2 - TDes, pointing to the buffer which would be filled with the
+     *              Application information structure.     
+     */
+    ELcFilteredApps                                   = 2,
+    
+    /**
+     * Cancels an outstanding request for obtaining a filtered set of
+     * Location based Applications and Contents/Services.
+     */
+    ELcCancelFilteredApps							  = 3,
+    
+    
+    /**
+     * This message is used to get the length of the buffer that needs to
+     * be passed to the Location Centre Server inorder to retieve information
+     * about Location based Applications registered with Location Centre.
+     * The Client also needs to specify the set of Location based Applications
+     * which would be used for filtering.
+     * This message is to be used as a precurssor to the next message
+     * ELcSpecifiedApps. This message can be used either in the synchronous or
+     * the asynchronous variant.
+     *
+     * IPC Parameter Description
+     * Arg1 - Package buffer Containing the array of Location based Applications
+     *        which would be used for filtering.
+     * Arg2 - TBool, Boolean value specifying whether the list of applications
+     *        should be included or excluded.
+     * Arg3 - TDes, pointing to the buffer which would be filled with the
+     *              Length of the Application information structure.
+     */
+    ELcSpecifiedAppsBufferLength                      = 4,
+    
+    /**
+     * Retrives information regarding Location based Applications
+     * registered with Location Centre. The Client also needs to specify the
+     * set of Location based Applications which would be used for filtering.
+     * This function can be used either in the synchronous or the asynchronous
+     * variant. The function takes a buffer which would be filled with the
+     * filtered set of Location Based Application structures.
+     *
+     * IPC Parameter Description
+     * Arg1 - Package buffer Containing the array of Location based Applications
+     *        which would be used for filtering.
+     * Arg2 - TBool, Boolean value specifying whether the list of applications
+     *        should be included or excluded.
+     * Arg2 - TDes, pointing to the buffer which would be filled with the
+     *              Application information structure.     
+     */
+    ELcSpecifiedApps                                  = 5,
+    
+    /**
+     * Gets the Location Application information structure's length
+     *
+     * IPC Parameter Description
+     * Arg1 - Package buffer containing the Location based Application
+     *        Identifier.
+     * Arg2 - TDes, pointing to the buffer which would be filled with the
+     *              Length of the Application information structure.     
+     */
+    ELcAppInfoLength                                  = 6,
+    
+    /**
+     * Gets the Location Application information structure
+     *
+     * IPC Parameter Description
+     * Arg1 - Package buffer containing the Location based Application
+     *        Identifier.
+     * Arg2 - TDes, pointing to the buffer which would be filled with the
+     *              Application information structure.     
+     */
+    ELcAppInfo                                        = 7,
+        
+    /**
+     * Registers an Observer which notifies any changes to the Location
+     * Centre Registry. The Client Application will be notified incase
+     * any changes occur before the Observer is removed using the
+     * ELcRemoveObserver message.
+     */
+    ERegisterObserver                                 = 8,
+    
+    /**
+     * Removes an Observer which is set using the ELcRegisterObserver
+     * message.
+     */
+    ERemoveObserver                                   = 9
+    };
+        
+#endif // LCSERVERINTERFACE_H