diff -r 000000000000 -r 522cd55cc3d7 locationcentre/lcserver/inc/lcregappinfo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/locationcentre/lcserver/inc/lcregappinfo.h Tue Feb 02 00:16:03 2010 +0200 @@ -0,0 +1,201 @@ +/* +* 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: Registration information for a Location based Application. +* +*/ + + +#ifndef C_LCREGAPPINFO_H +#define C_LCREGAPPINFO_H + +// SYSTEM INCLUDES +#include + +// USER INCLUDE +#include "lcipcparams.h" + +// FORWARD DECLARATIONS + +/** + * Location Centre registration info. + * + * This class along with base class CLcAppInfo stores all the + * details of a registerd service with Location centre. + * + * @since S60 v5.0 + */ + +class CLcRegAppInfo: public CLcAppInfo + { +public: + /** + * Constructs a new instance of Location centre registration object. + * + * @return The new instance of Location centre registration object. + * @leave System wide error code if the object creation fails. + */ + static CLcRegAppInfo* NewL(); + + /** + * C++ Destructor. + * Frees all the resources associated with this Location Centre + * server + */ + ~CLcRegAppInfo(); + +public: + /** + * This function returns the corresponding file name of a + * registered service(application/document/web url) with full path name + * + * @since S60 v5.0 + * @param None. + * @return TFileName Returns the file name with full path. + */ + TFileName FileName(); + + /** + * This function set the file name for registered + * service(application/document/web url) with full path name + * It leaves with KErrBadName if the filename length is greater then + * 256 character. + * + * @since S60 v5.0 + * @param[ in ] aFile Filename with full path. + */ + void SetFileNameL( const TDesC& aFile ); + + /** + * This function says if the registered service + * is present or absent at terminal + * + * @since S60 v5.0 + * @param None. + * @return TBool ETrue if present or EFalse. + */ + TBool IsAppPresent( ); + + /** + * This function set's the service present or absent + * status to true or false + * + * @since S60 v5.0 + * @param[ in ] aPresenceStatus ETrue if present or EFalse + */ + void SetFilePresenceStatus( TBool aPresenceStatus ); + + /** + * If the registered service present in removable media + * then the current MMC id of the terminal is set through + * this function for it. + * + * @since S60 v5.0 + * @param[ in ] aUid Contains the MMC id + */ + void SetMmcId( TUint aUid ); + + /** + * Return Mmc id associated with a registered service + * + * @since S60 v5.0 + * @param None + * @return TUint Mmc id set for this appinfo + */ + TUint MmcId(); + + /** + * This function stores all the language specific id provided through + * the registration file for a service in a array. + * + * @since S60 v5.0 + * @param[ in ] aNameLang contains the language code + * @return Return KErrNotFound if the Id is not valid one. + */ + TInt SetNameLanguage( const TDesC& aNameLang ); + + /** + * This function stores all the language specific name + * provided through the registration file for a service + * in a RpointerArray. + * + * @since S60 v5.0 + * @param[ in ] aName Contains the language + * name + */ + void SetAppNameL( const TDesC& aName ); + + /** + * This function check the current language code + * with present language code with this registered service + * and set the name accordingly. + * + * @since S60 v5.0 + * @param aFs Contains the file server session reference + */ + void SetAppLangSpecificNameL( RFs& aFs ); + + /** + * Stores the index order of the app info + * + * @since S60 v5.0 + * @param [ in ] aIndex + */ + void SetArrayIndex( TInt aIndex ); + + /** + * + * @since S60 v5.0 + * @param None. + * @return Order index of the app info + */ + TInt Index(); + + /** + * This function checks the count of the app name array + * and return ETrue if count is greater than zero or EFalse + * + * @since S60 v5.0 + * @param None. + * @return Etrue if the count of language name + * array count is greater than zero or EFalse + */ + TBool IsAppNamePresent(); + +private: + /** + * C++ Default constructor + */ + CLcRegAppInfo(); + +private: + // stores the file name for a reg app info + TFileName iFileName; + + // stores the registered service presence status + TBool iFilePresenceStatus; + + // stores the MMC id of a lc reg app info + TUint iMmcId; + + // contains all the different language specific name + RPointerArray iAppNameArray; + + // contains all the different language id for a registered file + RArray iAppLangArray; + + // sets the order index of app info + TInt iIndex; + }; + +#endif // C_LCREGAPPINFO_H