--- /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