diff -r 3a25f69541ff -r 4721bd00d3da locationcentre/lcutils/inc/lcipcparams.h --- a/locationcentre/lcutils/inc/lcipcparams.h Wed Apr 14 15:50:30 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,578 +0,0 @@ -/* -* 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: Parameters for the IPC message handling between the -* Location Centre API and Location Centre Server. -* -*/ - - -#ifndef LCIPCPARAMS_H -#define LCIPCPARAMS_H - -// SYSTEM INCLUDES -#include -#include -#include -#include - -// USER INCLUDES - -// FORWARD DECLARATIONS -class CLcAppInfo; - -// ENUMERATION DECLARATIONS -/** - * Enumeration defining the kind of application that this structure holds. - */ -enum TLcAppType - { - /** - * The structure holds an S60 Java based Application. - */ - ELcNativeApplication, - - /** - * The structure holds a Web URL. - */ - ELcWebUrl, - - /** - * The structure holds a document. - */ - ELcDocument - }; - -// CLASS DECLARATIONS -/** - * Array of identifiers which is passed to Location Centre server for - * filtering. - * - * Derived from RPointerArray. So all functions of the Arrar are available - * through this interface. - */ -class RLcIpcAppIdArray : public RPointerArray< HBufC > - { -public: - /** - * Externalizes the contents of this Array into a buffer. - * - * @since S60 v5.0 - * @param aWriteStream Buffer onto which the contents of this array - * would be externalized. - */ - IMPORT_C void ExternalizeL( RWriteStream& aWriteStream ); - - /** - * Internalized the contents of the buffer into this array. - * - * @since S60 v5.0 - * @param aReadStream Buffer from which the contents of this - * array would be populated. - */ - IMPORT_C void InternalizeL( RReadStream& aReadStream ); - - /** - * Returns the Length of the buffer needed to pack this array of - * Location based Application's identifiers. - * - * @since S60 v5.0 - * @return TInt, Length of the Buffer which is needed to pack this - * array. - */ - IMPORT_C TInt BufferLength(); - - /** - * Resets and destroys the Application identifer array. - * There is no need to call close on the array after this. - * - * @param aIdArray Generic pointer to the array - */ - IMPORT_C static void ResetAndDestroyIdArray( TAny* aIdArray ); - - }; - -/** - * Application information array. - * - * Derived from RPointerArray. So all functions of the Arrar are available - * through this interface. - */ -class RLcIpcAppInfoArray : public RPointerArray< CLcAppInfo > - { -public: - /** - * Externalizes the contents of this Array into a buffer. - * - * @since S60 v5.0 - * @param aWriteStream Buffer onto which the contents of this array - * would be externalized. - */ - IMPORT_C void ExternalizeL( RWriteStream& aWriteStream ); - - /** - * Internalized the contents of the buffer into this array. - * - * @since S60 v5.0 - * @param aReadStream Buffer from which the contents of this - * array would be populated. - */ - IMPORT_C void InternalizeL( RReadStream& aReadStream ); - - /** - * Returns the Length of the buffer needed to pack this array of - * Location based Applications. - * - * @since S60 v5.0 - * @return TInt, Length of the Buffer which is needed to pack this - * array. - */ - IMPORT_C TInt BufferLength(); - - /** - * Resets and destroys the Application information array. - * There is no need to call close on the array after this. - * - * @param aIdArray Generic pointer to the array - */ - IMPORT_C static void ResetAndDestroyAppArray( TAny* aIdArray ); - }; - -/** - * Basic Information for a Location based Applicatiuon. This class provides sufficient - * information for launching a Location based Application - */ -class CLcBasicAppInfo : public CBase - { -public: - /** - * Static two phase constructor - */ - inline static CLcBasicAppInfo* NewL(); - - /** - * Static two phased constructor. Leaves the object on the Cleanup stack. - */ - inline static CLcBasicAppInfo* NewLC(); - - /** - * C++ Destructor - */ - inline virtual ~CLcBasicAppInfo(); - - /** - * Retrieves the type of application stored in this structure. - * - * @since S60 v5.0 - * @return, The Type of Application as defined by @p TLcAppType which is stored - * in this structure. - */ - inline TUint32 ApplicationType() const; - - /** - * Sets the Application type. - * @since S60 v5.0 - * @param aAppType The Type of Application as defined by @p TLcAppType which - * is stored in this structure. - */ - inline void SetApplicationType( TUint32 aAppType ); - - /** - * Mode in which the Location Application would be launched. - * This is the mode with which the application has registered with - * Location Centre. - * - * @since S60 v5.0 - * @return Mode in which the Location Application would be launched. - */ - inline TUint32 LaunchMode() const; - - /** - * Sets the Mode in which the Location Application would be launched. - * - * @since S60 v5.0 - * @param[in] aLaunchMode Mode in which the Location Application would be - * launched. - */ - inline void SetLaunchMode( TUint32 aLaunchMode ); - - /** - * Retrieves the Generic Application data stored in this structure. - * - * @since S60 v5.0 - * @return, The Genereic data content for the Application. - */ - inline TPtrC ApplicationData() const; - - /** - * Sets the Generic Application data. - * - * @since S60 v5.0 - * @param aAppData The Genereic data content for the Application. - */ - inline void SetApplicationDataL( const TDesC& aAppData ); - - /** - * Retrieves the command line parameters stored in this structure. - * - * @since S60 v5.0 - * @return, The command line parameters for the Application. - */ - inline TPtrC CommandLineParamters() const; - - /** - * Sets the Command line parameters. - * - * @since S60 v5.0 - * @param aCmdLineParams The Command line parameters for the Application. - */ - inline void SetCommandLineParametersL( const TDesC& aCmdLineParams ); - - /** - * Externalizes the contents of this Array into a buffer. - * - * @since S60 v5.0 - * @param aWriteStream Buffer onto which the contents of this array - * would be externalized. - */ - IMPORT_C void ExternalizeL( RWriteStream& aWriteStream ); - - /** - * Internalized the contents of the buffer into this array. - * - * @since S60 v5.0 - * @param aReadStream Buffer from which the contents of this - * array would be populated. - */ - IMPORT_C void InternalizeL( RReadStream& aReadStream ); - - /** - * Returns the Length of the buffer needed to pack this structure. - * - * @since S60 v5.0 - * @return TInt, Length of the Buffer which is needed to pack this - * structure. - */ - IMPORT_C TInt BufferLength(); - -protected: - /** - * Default C++ constructor. - */ - CLcBasicAppInfo(); - -protected: - /** - * Type of the application that is present in this structure. - */ - TUint32 iAppType; - - /** - * Mode in which the Location Application would be launched. If the mode - * defined is EDefaultMode, then the default mode specified by the - * application when registering with Location Centre is used. - */ - TUint32 iLaunchMode; - - /** - * Generic data content for all Location based Application. The nature of this - * data-type depends on the kind of Application as specified by the earlier parameter. - * If the iAppType is - * ELcApplication - This string contains the SID of the application. - * ELcWebUrl - The string contains the URI of the page that needs to be launched. - * ELcDocument - The string contains the full path of the file which needs to be - * opened. - */ - HBufC* iAppData; - - /** - * Command line parameters. - */ - HBufC* iCmdLineParams; - }; - -/** - * Information of a Location based Application currently registered with - * Location Centre. - */ -class CLcAppInfo : public CLcBasicAppInfo - { -public: - /** - * Enumeration defining the Icon type present in this App Info - */ - enum TLcIconFileType - { - EIconfromApp, - EMifFile - }; - -public: - /** - * Constructs a new instance of Location Application information object. - * - * @return The new instance of Location Application information object. - */ - inline static CLcAppInfo* NewL(); - - /** - * Constructs a new instance of Location Application information object. - * - * @return The new instance of Location Application information object. - */ - inline static CLcAppInfo* NewLC(); - - /** - * C++ Destructor. - * Frees all the resources associated with this Location Application - * information object. - */ - inline virtual ~CLcAppInfo(); - - /** - * Gets the Unique identifier identifying the Location Application. - * This identifier is defined by the Location Application on registration - * with Location Centre. - * This is the identifier that must be used by the client of this API for - * any operation on the particular Location Application. - * A reference to the object's internal string is returned. - * - * @since S60 v5.0 - * @return Unique identifier identifying the Location Application. If the - * value of the identifier has not been set then a NULL string - * is returned. - */ - inline TPtrC Id() const; - - /** - * Set the Unique identifier identifying the Location Application. The - * identifer is copied. - * - * @since S60 v5.0 - * @param[in] aId Unique identifier identifying the Location Application. - */ - inline void SetIdL( const TDesC& aId ); - - /** - * Gets the Logical name for the Location Application. - * The name is defined by the Location Centre on registration with - * Location Centre. This is the name which would be displayed by - * Location Centre for this application. - * A reference to the object's internal string is returned. - * - * @since S60 v5.0 - * @return Logical name for the Location Application. If the name - * has not been set for the Location Application, then a NULL - * string is returned. - */ - inline TPtrC Name() const; - - /** - * Set the Logical name for the Location Application. The name is - * copied. - * - * @since S60 v5.0 - * @param[in] aName Logical name for the Location Application. - * The logical string is copied. - */ - inline void SetNameL( const TDesC& aName ); - - /** - * Gets the Icon file name for the Location based Application. - * - * @since S60 v5.0 - * @return The Icon file name for the Location based Application. - */ - inline TPtrC IconFile() const; - - /** - * Sets the name of the Icon file for this Location based Application. - * - * @since S60 v5.0 - * @param[in] aIconFile Full path for the Icon file. - */ - inline void SetIconFileL( const TDesC& aIconFile ); - - /** - * Gets the Icon File type for the Location Application. - * The Location Application can optionally have an icon defined - * in the Registration file. - * - * @since S60 v5.0 - * @return The Icon file type for the Location Application. - */ - inline TLcIconFileType IconFileType() const; - - /** - * Sets the Icon File type for the Location Application. - * The Location Application can optionally have an icon defined - * in the Registration file. - * - * @since S60 v5.0 - * @param[in] aIconFileType The type of Icon file for this Location - * Application - */ - inline void SetIconFileType( const TLcIconFileType aIconFileType ); - - - /** - * Gets the frame number for the Icon if the Icon file is a MIF file. - * - * @since S60 v5.0 - * @return Frame Number - */ - inline TUint32 FrameNo() const; - - /** - * Sets the frame number for the Icon if the Icon file is a MIF file. - * - * @since S60 v5.0 - * @param[in] aFrameNo Frame number for the icon. - */ - inline void SetFrameNo( TUint32 aFrameNo ); - - /** - * Returns the System characteristics for the Location Application - * - * @since S60 v5.0 - * @return - System Characteristics for the Location - * Application. All the system characteristics for the - * Location Application would be combined to form an integer - * bit-mask and this function returns the bit-mask. The - * individual System characteristics are defined by - * @ref TLcSystemCharacteristics enumeration. - */ - inline TUint32 SystemCharacteristics() const; - - /** - * Sets the system characteristics for the Location Application. - * - * @since S60 v5.0 - * @param[in] aSysCharacteristics System Characteristics for the Location - * Application. - */ - inline void SetSystemCharacteristics( TUint32 aSysCharacteristics ); - - /** - * Returns the Application characteristics for the Location Application - * - * @since S60 v5.0 - * @return - Application Characteristics for the Location - * Application. All the application characteristics for the - * would be combined to form an integer bit-mask and this - * function returns the current bit-mask. The individual - * Application characteristics are defined by - * @ref TLcApplicationCharacteristics enumeration. - */ - inline TUint32 ApplicationCharacteristics() const; - - /** - * Sets the Application characteristics for the Location Application. - * - * @since S60 v5.0 - * @param[in] aAppCharacteristics Application Characteristics for the Location - * Application. - */ - inline void SetApplicationCharacteristics( TUint32 aAppCharacteristics ); - - - /** - * Externalizes the contents of this Array into a buffer. - * - * @since S60 v5.0 - * @param aWriteStream Buffer onto which the contents of this array - * would be externalized. - */ - void ExternalizeL( RWriteStream& aWriteStream ); - - /** - * Internalized the contents of the buffer into this array. - * - * @since S60 v5.0 - * @param aReadStream Buffer from which the contents of this - * array would be populated. - */ - void InternalizeL( RReadStream& aReadStream ); - - /** - * Returns the Length of the buffer needed to pack this structure. - * - * @since S60 v5.0 - * @return TInt, Length of the Buffer which is needed to pack this - * structure. - */ - IMPORT_C TInt BufferLength(); - -protected: - /** - * Default C++ Constructor. - */ - inline CLcAppInfo(); - -protected: - /** - * System wide unique identifier identifying the Location Application. This - * identifier is defined by the Location Application on registration with - * Location Centre. - * - * Owns - */ - HBufC* iId; - - /** - * Application Name. - * Logical name for the Location Application. The name is defined by the - * Location Centre on registration with Location Centre. This is the name - * which would be displayed by Location Centre for this application. - * - * Owns - */ - HBufC* iApplicationName; - - /** - * Icon File name. - * The name of the Icon file if its specified in the Location Centre - * Registration file for the Location Application. - * - * Owns - */ - HBufC* iIconFile; - - /** - * Icon file type. - * The Location based Application can optionally specify an Icon file - * which would be displayed for it in Location Centre. - */ - TLcIconFileType iIconFileType; - - /** - * Frame number incase the Icon file is a MIF file - */ - TUint32 iFrameNo; - - /** - * Bit-mask containing the System characteristics for the corresponding - * Location application - */ - TUint32 iSystemCharacteristics; - - /** - * Bit-mask containing the Application characteristics for the corresponding - * Location application - */ - TUint32 iAppCharacteristics; -}; - -#include "lcipcparams.inl" - -#endif // LCIPCPARAMS_H