locationcentre/lcserver/inc/lcserverinterface.h
changeset 0 522cd55cc3d7
equal deleted inserted replaced
-1:000000000000 0:522cd55cc3d7
       
     1 /*
       
     2 * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Private Interface to the Location Centre Server.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef LCSERVERINTERFACE_H
       
    20 #define LCSERVERINTERFACE_H
       
    21  
       
    22 // SYSTEM INCLUDES
       
    23 #include <e32base.h>
       
    24     
       
    25 /**
       
    26  * Location Centre Server Name.
       
    27  *
       
    28  * The name begins with a ! to ensure that this server is protected. This
       
    29  * prevents faking of this server by any other malicious application.
       
    30  */
       
    31  _LIT( KLocationCentreServerName, "!LocationCentreServer" );
       
    32 
       
    33 /**
       
    34  * Executable name of the server. This is required to be exposed because
       
    35  * the server is a transient server and not a permanent server and hence
       
    36  * has to be started by the Client. 
       
    37  */
       
    38  _LIT( KLocationCentreServerExe, "lcserver" );
       
    39  
       
    40 /**
       
    41  * Location Centre server Version numbers
       
    42  */
       
    43 const TUint KLcServerMajorVersionNumber = 1;
       
    44 const TUint KLcServerMinorVersionNumber = 0;
       
    45 const TUint KLcServerBuildVersionNumber = 0;
       
    46  
       
    47 /**
       
    48  * IPC Message Types
       
    49  */
       
    50  enum TLcServerMsgType
       
    51     {
       
    52     /**
       
    53      * This message is used to get the length of the buffer that needs to
       
    54      * be passed to the Location Centre Server inorder to retieve information
       
    55      * about Location based Applications registered with Location Centre.
       
    56      * The Client also needs to specify the filtering that needs to be
       
    57      * applied to the set.
       
    58      * This message is to be used as a precurssor to the next message
       
    59      * ELcFilteredApps. This message can be used either in the synchronous or
       
    60      * the asynchronous variant.
       
    61      *
       
    62      * IPC Parameter Description
       
    63      * Arg1 - Package buffer Containing the Filter arguments
       
    64      * Arg2 - TDes, pointing to the buffer which would be filled with the
       
    65      *              Length of the Application information structure.
       
    66      */
       
    67     ELcFilteredAppsBufferLength                       = 1,
       
    68     
       
    69     /**
       
    70      * Retrives information regarding Location based Applications
       
    71      * registered with Location Centre. The Client also needs to specify
       
    72      * the filtering that needs to be applied to the set.This function can
       
    73      * be used either in the synchronous or the asynchronous variant.
       
    74      * The function takes a buffer which would be filled with the filtered
       
    75      * set of Location Based Application structures.
       
    76      *
       
    77      * IPC Parameter Description
       
    78      * Arg1 - Package buffer Containing the Filter arguments
       
    79      * Arg2 - TDes, pointing to the buffer which would be filled with the
       
    80      *              Application information structure.     
       
    81      */
       
    82     ELcFilteredApps                                   = 2,
       
    83     
       
    84     /**
       
    85      * Cancels an outstanding request for obtaining a filtered set of
       
    86      * Location based Applications and Contents/Services.
       
    87      */
       
    88     ELcCancelFilteredApps							  = 3,
       
    89     
       
    90     
       
    91     /**
       
    92      * This message is used to get the length of the buffer that needs to
       
    93      * be passed to the Location Centre Server inorder to retieve information
       
    94      * about Location based Applications registered with Location Centre.
       
    95      * The Client also needs to specify the set of Location based Applications
       
    96      * which would be used for filtering.
       
    97      * This message is to be used as a precurssor to the next message
       
    98      * ELcSpecifiedApps. This message can be used either in the synchronous or
       
    99      * the asynchronous variant.
       
   100      *
       
   101      * IPC Parameter Description
       
   102      * Arg1 - Package buffer Containing the array of Location based Applications
       
   103      *        which would be used for filtering.
       
   104      * Arg2 - TBool, Boolean value specifying whether the list of applications
       
   105      *        should be included or excluded.
       
   106      * Arg3 - TDes, pointing to the buffer which would be filled with the
       
   107      *              Length of the Application information structure.
       
   108      */
       
   109     ELcSpecifiedAppsBufferLength                      = 4,
       
   110     
       
   111     /**
       
   112      * Retrives information regarding Location based Applications
       
   113      * registered with Location Centre. The Client also needs to specify the
       
   114      * set of Location based Applications which would be used for filtering.
       
   115      * This function can be used either in the synchronous or the asynchronous
       
   116      * variant. The function takes a buffer which would be filled with the
       
   117      * filtered set of Location Based Application structures.
       
   118      *
       
   119      * IPC Parameter Description
       
   120      * Arg1 - Package buffer Containing the array of Location based Applications
       
   121      *        which would be used for filtering.
       
   122      * Arg2 - TBool, Boolean value specifying whether the list of applications
       
   123      *        should be included or excluded.
       
   124      * Arg2 - TDes, pointing to the buffer which would be filled with the
       
   125      *              Application information structure.     
       
   126      */
       
   127     ELcSpecifiedApps                                  = 5,
       
   128     
       
   129     /**
       
   130      * Gets the Location Application information structure's length
       
   131      *
       
   132      * IPC Parameter Description
       
   133      * Arg1 - Package buffer containing the Location based Application
       
   134      *        Identifier.
       
   135      * Arg2 - TDes, pointing to the buffer which would be filled with the
       
   136      *              Length of the Application information structure.     
       
   137      */
       
   138     ELcAppInfoLength                                  = 6,
       
   139     
       
   140     /**
       
   141      * Gets the Location Application information structure
       
   142      *
       
   143      * IPC Parameter Description
       
   144      * Arg1 - Package buffer containing the Location based Application
       
   145      *        Identifier.
       
   146      * Arg2 - TDes, pointing to the buffer which would be filled with the
       
   147      *              Application information structure.     
       
   148      */
       
   149     ELcAppInfo                                        = 7,
       
   150         
       
   151     /**
       
   152      * Registers an Observer which notifies any changes to the Location
       
   153      * Centre Registry. The Client Application will be notified incase
       
   154      * any changes occur before the Observer is removed using the
       
   155      * ELcRemoveObserver message.
       
   156      */
       
   157     ERegisterObserver                                 = 8,
       
   158     
       
   159     /**
       
   160      * Removes an Observer which is set using the ELcRegisterObserver
       
   161      * message.
       
   162      */
       
   163     ERemoveObserver                                   = 9
       
   164     };
       
   165         
       
   166 #endif // LCSERVERINTERFACE_H