--- a/basiclocationinfodisplay/blid/rom/blid.iby Wed Apr 14 15:50:30 2010 +0300
+++ b/basiclocationinfodisplay/blid/rom/blid.iby Tue Apr 27 16:30:53 2010 +0300
@@ -48,9 +48,6 @@
file=ABI_DIR\BUILD_DIR\SatInfoStub.dll SHARED_LIB_DIR\SatInfo.dll
#endif // __LOCATIONFRAMEWORKCORE
-// export blid lc registration file
-data=ZPRIVATE\10283138\import\blid_lc_registration.xml \private\10283138\import\blid_lc_registration.xml
-
// backup-restore registration file to take backup
data=DATAZ_\private\101F85A0\backup_registration.xml private\101F85A0\backup_registration.xml
--- a/basiclocationinfodisplay/blid/ui/data/blid_lc_registration.xml Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<location_centre_registration>
- <service uuid="101F85A0">
- <feature>Navigation</feature>
- <runmode default="standalone"/>
- <application>
- <native sid="[101F85A0]"/>
- </application>
- </service>
-</location_centre_registration>
\ No newline at end of file
--- a/basiclocationinfodisplay/blid/ui/data/blid_reg.rss Wed Apr 14 15:50:30 2010 +0300
+++ b/basiclocationinfodisplay/blid/ui/data/blid_reg.rss Tue Apr 27 16:30:53 2010 +0300
@@ -26,7 +26,6 @@
RESOURCE APP_REGISTRATION_INFO
{
app_file = "Blid";
- hidden = KAppIsHidden;
localisable_resource_file = APP_RESOURCE_DIR"\\Blid";
localisable_resource_id = R_BLID_LOCALISABLE_APP_INFO;
}
--- a/basiclocationinfodisplay/blid/ui/group/bld.inf Wed Apr 14 15:50:30 2010 +0300
+++ b/basiclocationinfodisplay/blid/ui/group/bld.inf Tue Apr 27 16:30:53 2010 +0300
@@ -28,10 +28,6 @@
../inc/Blid.hrh |../../../inc/Blid.hrh
../inc/BlidSettingsCrkeys.h |../../../inc/BlidSettingsCrkeys.h
-// Export the lc registration file
-../data/blid_lc_registration.xml /epoc32/release/winscw/udeb/z/private/10283138/import/blid_lc_registration.xml
-../data/blid_lc_registration.xml /epoc32/data/z/private/10283138/import/blid_lc_registration.xml
-
// Export blidstub.sis file
../data/blidstub.sis /epoc32/data/z/system/install/blidstub.sis
--- a/eventsui/eventsmgmtui/data/evtmgmtui_reg.rss Wed Apr 14 15:50:30 2010 +0300
+++ b/eventsui/eventsmgmtui/data/evtmgmtui_reg.rss Tue Apr 27 16:30:53 2010 +0300
@@ -40,7 +40,6 @@
RESOURCE APP_REGISTRATION_INFO
{
app_file = "evtmgmtui";
- hidden = KAppIsHidden;
embeddability = KAppEmbeddable;
localisable_resource_file = EVTMGMTUI_RESOURCE_FILE_NAME;
localisable_resource_id = R_EVTMGMTUI_LOCALISABLE_APP_INFO;
--- a/eventsui/eventsmgmtui/data/evtmgmtui_reg.xml Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<location_centre_registration>
- <service uuid="2001E663">
- <feature>LocationEvents</feature>
- <runmode default="child"/>
- <application>
- <native sid="[2001E663]"/>
- </application>
- </service>
-</location_centre_registration>
\ No newline at end of file
--- a/eventsui/eventsmgmtui/group/bld.inf Wed Apr 14 15:50:30 2010 +0300
+++ b/eventsui/eventsmgmtui/group/bld.inf Tue Apr 27 16:30:53 2010 +0300
@@ -20,8 +20,6 @@
DEFAULT
PRJ_EXPORTS
-../data/evtmgmtui_reg.xml /epoc32/data/z/private/10283138/import/evtmgmtui_reg.xml
-../data/evtmgmtui_reg.xml /epoc32/release/winscw/udeb/z/private/10283138/import/evtmgmtui_reg.xml
../data/eventsuistub.sis /epoc32/data/z/system/install/eventsuistub.sis
PRJ_MMPFILES
--- a/eventsui/rom/eventsui.iby Wed Apr 14 15:50:30 2010 +0300
+++ b/eventsui/rom/eventsui.iby Tue Apr 27 16:30:53 2010 +0300
@@ -64,10 +64,6 @@
// Other Icons
SCALABLE_IMAGE( APP_BITMAP_DIR, APP_BITMAP_DIR, evthandlerapp )
-// Location Centre Registration file
-data=ZPRIVATE\10283138\import\evtmgmtui_reg.xml \private\10283138\import\evtmgmtui_reg.xml
-
-
// Notifier
ECOM_PLUGIN(evtnotifierplugin.dll,evtnotifierplugin.rsc)
file=ABI_DIR\BUILD_DIR\evtinfonote.dll SHARED_LIB_DIR\evtinfonote.dll
--- a/group/bld.inf Wed Apr 14 15:50:30 2010 +0300
+++ b/group/bld.inf Tue Apr 27 16:30:53 2010 +0300
@@ -26,7 +26,6 @@
#include "../locationsatviewrefapp/group/bld.inf"
#include "../simpsyconfigurator/group/bld.inf"
#include "../mapnavproviderrefapp/group/bld.inf"
-#include "../locationcentre/group/bld.inf"
#include "../loc_pub/group/bld.inf"
#include "../loc_plat/group/bld.inf"
--- a/landmarksui/app/data/Landmarks_reg.rss Wed Apr 14 15:50:30 2010 +0300
+++ b/landmarksui/app/data/Landmarks_reg.rss Tue Apr 27 16:30:53 2010 +0300
@@ -34,8 +34,7 @@
{
app_file = "Landmarks";
embeddability = KAppEmbeddable;
- hidden = KAppIsHidden;
- localisable_resource_file = APP_RESOURCE_DIR"\\landmarks";
+ localisable_resource_file = APP_RESOURCE_DIR"\\landmarks";
localisable_resource_id = R_LANDMARKS_LOCALISABLE_APP_INFO;
}
--- a/landmarksui/app/data/landmarksui_lc_registration.xml Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<location_centre_registration>
- <service uuid="101F85A2">
- <feature>PersonalData</feature>
- <runmode default="child"/>
- <application>
- <native sid="[101F85A2]"/>
- </application>
- </service>
-</location_centre_registration>
\ No newline at end of file
--- a/landmarksui/app/group/bld.inf Wed Apr 14 15:50:30 2010 +0300
+++ b/landmarksui/app/group/bld.inf Tue Apr 27 16:30:53 2010 +0300
@@ -30,8 +30,6 @@
DEFAULT
PRJ_EXPORTS
-../data/landmarksui_lc_registration.xml /epoc32/release/winscw/udeb/z/private/10283138/import/landmarksui_lc_registration.xml
-../data/landmarksui_lc_registration.xml /epoc32/data/z/private/10283138/import/landmarksui_lc_registration.xml
// Export landmarksstub.sis file
../data/landmarksstub.sis /epoc32/data/z/system/install/landmarksstub.sis
--- a/landmarksui/rom/LocationLandmarksUi.iby Wed Apr 14 15:50:30 2010 +0300
+++ b/landmarksui/rom/LocationLandmarksUi.iby Tue Apr 27 16:30:53 2010 +0300
@@ -49,7 +49,7 @@
data=ZRESOURCE\apps\LmkUi.mif APP_RESOURCE_DIR\LmkUi.mif
-#if defined(__LANDMARKS)
+#if defined(FF_LANDMARKS_UI)
// Landmarks UI application Icons and Resources
@@ -62,7 +62,7 @@
-#endif // __LANDMARKS
+#endif // FF_LANDMARKS_UI
#ifdef __LANDMARKS_CONVERTER
@@ -77,7 +77,6 @@
#endif // __LANDMARKSCONVERTER
-data=ZPRIVATE\10283138\import\landmarksui_lc_registration.xml \private\10283138\import\landmarksui_lc_registration.xml
#endif // __LandmarksUI_IBY__
--- a/landmarksui/uicontrols/data/LmkEditor.rss Wed Apr 14 15:50:30 2010 +0300
+++ b/landmarksui/uicontrols/data/LmkEditor.rss Tue Apr 27 16:30:53 2010 +0300
@@ -876,15 +876,29 @@
}
//----------------------------------------------------
//
-// r_lmk_unit_editor
-// Avkon's distance editor
+// r_lmk_unit_editor_metric
+// Avkon's distance editor using metric units
//
//----------------------------------------------------
//
-RESOURCE AVKON_UNIT_EDITOR r_lmk_unit_editor
+RESOURCE AVKON_UNIT_EDITOR r_lmk_unit_editor_metric
{
min = 0;
- max = 99999;
+ max = 20000; // KMaxAccuracy
+ maxfractionaldigits = 2;
+ flags = EAknUnitEditorAllowUninitialized;
+ }
+//----------------------------------------------------
+//
+// r_lmk_unit_editor_imperial
+// Avkon's distance editor using imperial units
+//
+//----------------------------------------------------
+//
+RESOURCE AVKON_UNIT_EDITOR r_lmk_unit_editor_imperial
+ {
+ min = 0;
+ max = 6099; // KMaxAccuracy/KMetreToFoot
maxfractionaldigits = 2;
flags = EAknUnitEditorAllowUninitialized;
}
--- a/landmarksui/uicontrols/src/CLmkEditorNumberField.cpp Wed Apr 14 15:50:30 2010 +0300
+++ b/landmarksui/uicontrols/src/CLmkEditorNumberField.cpp Tue Apr 27 16:30:53 2010 +0300
@@ -204,24 +204,35 @@
//
void CLmkEditorNumberField::CreateAvkonUnitEditorL()
{
- // Create Distance editor using AVKON's unit editor
- // and insert a line in the dialog
- iControl = static_cast<CAknUnitEditor*>( iUiBuilder.CreateLineL(
+ // Create Distance editor using AVKON's unit editor
+ // and insert a line in the dialog
+ iControl = static_cast<CAknUnitEditor*>( iUiBuilder.CreateLineL(
FieldLabel(), LandmarkItemField().UniqueFieldIdentity(),
EAknCtUnitEditor ) );
- //read control from resource file.
- TResourceReader reader;
- iEnv->CreateResourceReaderLC(reader, R_LMK_UNIT_EDITOR);
- iControl->ConstructFromResourceL(reader);
- CleanupStack::PopAndDestroy();// reader
- ResolveUnitL();
+
+
// Obtain the current system of measurement
TInt sysOfMeasurement = EAknUnitEditorMeter;
if( !IsSystemUnitMetric())
{
sysOfMeasurement = EAknUnitEditorFoot;
}
+
+ //read control from resource file.
+ TResourceReader reader;
+ if( sysOfMeasurement == EAknUnitEditorMeter)
+ {
+ iEnv->CreateResourceReaderLC(reader, R_LMK_UNIT_EDITOR_METRIC);
+ }
+ else
+ {
+ iEnv->CreateResourceReaderLC(reader, R_LMK_UNIT_EDITOR_IMPERIAL);
+ }
+
+ iControl->ConstructFromResourceL(reader);
+ CleanupStack::PopAndDestroy(); //reader
+ ResolveUnitL();
/*
if ( LandmarkItemField().FieldType() == EPositionAccuracy ||
--- a/loc_plat/group/bld.inf Wed Apr 14 15:50:30 2010 +0300
+++ b/loc_plat/group/bld.inf Tue Apr 27 16:30:53 2010 +0300
@@ -15,7 +15,3 @@
* export files.
*
*/
-
-
-
-#include "../location_centre_api/group/bld.inf"
\ No newline at end of file
--- a/loc_plat/location_centre_api/group/bld.inf Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2006 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: File that exports the files belonging to
-: Location Centre API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/lcnativeapps.hrh APP_LAYER_PLATFORM_EXPORT_PATH(lcnativeapps.hrh)
-../inc/lcappexitobserver.h APP_LAYER_PLATFORM_EXPORT_PATH(lcappexitobserver.h)
-../inc/lclocationappinfo.h APP_LAYER_PLATFORM_EXPORT_PATH(lclocationappinfo.h)
-../inc/lclocationappfilter.h APP_LAYER_PLATFORM_EXPORT_PATH(lclocationappfilter.h)
-../inc/lcservice.h APP_LAYER_PLATFORM_EXPORT_PATH(lcservice.h)
-../inc/lcnotification.h APP_LAYER_PLATFORM_EXPORT_PATH(lcnotification.h)
-../inc/lcerrors.h APP_LAYER_PLATFORM_EXPORT_PATH(lcerrors.h)
--- a/loc_plat/location_centre_api/inc/lcappexitobserver.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +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: Observer class defintion to notify the termination of
-* Chained Location Applications.
-*
-*/
-#ifndef M_LCAPPEXITOBSERVER_H
-#define M_LCAPPEXITOBSERVER_H
-
-/**
- * @file lcappexitobserver.h
- *
- * This file provides the definitions for the observer class which is used
- * by Location Centre to notify the termination of a Chained Location based
- * Application.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-/**
- * @class MLcAppExitObserver
- * Observer class to notify the termination of a launched Location based
- * Application.
- *
- * This observer will provide the notification only when the Location based
- * Application is launched as a Chained application. This client
- * application needs to pass an instance of this class when calling
- * @ref CLcService::LaunchLocationApplicationL if it wants to be notified
- * of a Location Application exit event incase the Location based
- * Application is launched as a Chained application.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-class MLcAppExitObserver
- {
-public:
- /**
- * Notification for the termination of the chained Location based
- * Application.
- *
- * @since S60 v5.0
- * @param[in] aReason The reason that the Location based Application exited.
- * This will either be an error code, or the command
- * id that caused the Location based Application to exit.
- */
- virtual void HandleChainedLocationAppExitL( TInt aReason ) = 0;
- };
-
-#endif // M_LCAPPEXITOBSERVER_H
--- a/loc_plat/location_centre_api/inc/lcerrors.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +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: Error and Panic defintions for Location Centre API
-*
-*/
-
-#ifndef LCERRORS_H
-#define LCERRORS_H
-
-/**
- * @file lcerrors.h
- *
- * This file provides the defintions for Error and Panics which are
- * used in Location Centre.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-
-// CONSTANT DEFINTIONS
-#include <e32base.h>
-
-/**
- * Location Centre Panic Category
- */
-_LIT( KLcPanicCategory, "LocationCentre");
-
-/**
- * @enum TLCPanicCodes
- * Panic Codes for Location Centre
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-enum TLcPanicCodes
- {
- /**
- * Code with which Location Centre panics when an attempt is made
- * to access an element of @ref CLcLocationAppInfoArray from an index
- * which does not exist.
- */
- ELcInvalidIndex = 0
- };
-
-#endif // LCERRORS_H
--- a/loc_plat/location_centre_api/inc/lclocationappfilter.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,292 +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: Location Application Filters
-*
-*/
-
-#ifndef T_LCLOCATIONAPPFILTER_H
-#define T_LCLOCATIONAPPFILTER_H
-
-/**
- * @file lclocationappfilter.h
- *
- * This file provides the filters which can be used to customize the list
- * of Location based Application which can be retrieved from Location Centre
- * or which can be displayed in Location Centre.
- *
- * @note The components which can register with Location Centre are of
- * two types
- * - Applications
- * - Location based services / contents.
- *
- * These Client Applications or Services/Contents which register with Location
- * Centre will be called Location based Application henceforth.
- *
- * @lib lcservice.lib
- * @since S60 5.0
- */
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-/**
- * @class TLcLocationAppFilter
- * Location Application Filter.
- *
- * This class allows the client application to configure the list of Location
- * based Applications that the client intends to obtain from Location Centre
- * or the list of Location based Application that the client application wants
- * Location Centre to show.
- * The filtering is based on characteristics exhibited by the Location based
- * Applications. These characteristics can be of two types
- * - System Characteristics defined by
- * @ref CLcLocationAppInfo::TLcSystemCharacteristics and
- * - Application Characteristics defined by
- * @ref CLcLocationAppInfo::TLcApplicationCharacteristics.
- *
- * The default state of the filter class for various property is
- * - System Characteristics is @ref TLcSystemCharacteristics::ESysCharNone
- * - System Characteristic filter configuration is @ref EFilterStrict
- * - Application Characteristic is @ref TLcApplicationCharacteristics::EAppCharNone
- * - Application Characteristic filter configuration is @ref EFilterStrict
- *
- * This class is expected to be is passed as an input argument to the
- * @p GetLocationApplicationsL, @p GetLocationApplications and
- * @p LaunchLocationCentreL functions of @ref CLcService class.
- *
- * @see CLcService::GetLocationApplicationsL
- * @see CLcService::GetLocationApplications
- * @see CLcService::LaunchLocationCentreL
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-class TLcLocationAppFilter
- {
-public:
- /**
- * @enum TLcFilterConfig
- * The mode in which the application filtering should be done.
- * This enumeration is used by the client application to specify the way
- * in which filtering of applications should be done.
- */
- enum TLcFilterConfig
- {
- /**
- * Location based Application that exhibit only the characteristics
- * specified by the client applications must be used. If the
- * System / Application characteristics stored in this object
- * contains a bitmask of more than one characteristic, then only
- * those Location based Application which satisfy all the mentioned
- * characteristics will be considered for filtering.
- * These characteristics are specified by the enumerations
- * @ref CLcLocationAppInfo::TLcSystemCharacteristics and
- * @ref CLcLocationAppInfo::TLcApplicationCharacteristics
- */
- EFilterStrict = 0,
-
- /**
- * Applications that exhibit only the characteristics specified by
- * the client application alone or other characteristics in-addition
- * to the specified ones will be used for processing. If the
- * System / Application characteristics stored in this object
- * contains a bitmask of more than one characteristic, then
- * only those Location based Applications which satisfy all the
- * mentioned characteristics in addtion to optionally satisfying
- * other characteristics will be considered for filetering.
- * These characteristics are specified by the enumerations
- * @ref CLcLocationAppInfo::TLcSystemCharacteristics and
- * @ref CLcLocationAppInfo::TLcApplicationCharacteristics
- */
- EFilterInclusive = 1,
-
- /**
- * Location based Application that exhibit characteristics other than
- * those specified by the client application must be used. If the
- * System / Application characteristics stored in this object
- * contains a bitmask of more than one characteristic, then only
- * Location based Application which do not satisfy any of the
- * mentioned characteristics will be considered for filtering.
- * These characteristics are specified by the enumerations
- * @ref CLcLocationAppInfo::TLcSystemCharacteristics and
- * @ref CLcLocationAppInfo::TLcApplicationCharacteristics
- */
- EFilterExclusive = 2
- };
-
-public: // Exported Member Functions
- /**
- * Default Constructor
- */
- IMPORT_C TLcLocationAppFilter();
-
- /**
- * Accessor function which returns the currently configured System
- * characteristics which will be used for filtering. All the system
- * characteristics would be combined to form an integer bit-mask and
- * this function retrieves the current bit-mask. The individual system
- * characteristics are defined by
- * @ref CLcLocationAppInfo::TLcSystemCharacteristics enumeration.
- *
- * @note If the current configuration of the system characteristics is
- * the default value @ref CLcLocationAppInfo::ESysCharNone,
- * then it should not be treated as a bit-mask but as an independent
- * value alone.
- *
- * @since S60 5.0
- * @return Bit-mask holding the currently enabled System characteristics.
- */
- IMPORT_C TUint32 SystemCharacteristics() const;
-
- /**
- * Sets the requested system characteristic to the filter.
- *
- * All the system characteristics which the Client application intends
- * to be used for filtering must be combined to form a bit-mask
- * and this value is set to the filter.
- * The individual system characteristics are defined by
- * @ref CLcLocationAppInfo::TLcSystemCharacteristics enumeration.
- *
- * @since S60 5.0
- * @param[in] aSystemChar System Characteristic bit-mask value.
- * @return KErrArgument If the value of the input parameter is
- * if its not a valid mask.
- */
- IMPORT_C TInt SetSystemCharacteristic( TUint32 aSystemChar );
-
- /**
- * Retrieves the current value of the System characteristics filter option.
- * The value of the filter is defined by the @ref TLcFilterConfig
- * enumeration.
- *
- * @since S60 5.0
- * @return Current System characteristics filter configuration.
- */
- IMPORT_C TLcFilterConfig SysCharFilterConfiguration() const;
-
- /**
- * Sets the filter configuration option for system characteristics.
- * Location centre can be configured to treat the System
- * characteristics value based upon this flag.
- *
- * @since S60 5.0
- * @param[in] aFilterConfig The mode in which the System characteristics
- * value must be treated. The values which this
- * variable can assume is defined by the
- * @ref TLcFilterConfig enumeration.
- */
- IMPORT_C void SetSysCharFilterConfiguration(
- TLcFilterConfig aFilterConfig );
-
-
- /**
- * Accessor function which returns the currently configured Application
- * characteristics which will be used for filtering. All the application
- * characteristics would be combined to form an integer bit-mask and
- * this function retrieves the current bit-mask. The individual application
- * characteristics are defined by
- * @ref CLcLocationAppInfo::TLcApplicationCharacteristics enumeration.
- *
- * @note If the current configuration of the application characteristics
- * is the default value @ref EAppCharNone, then it should not be
- * treated as a bit-mask but as an independent value alone.
- *
- * @since S60 5.0
- * @return Bit-mask holding the currently enabled System
- * characteristics.
- */
- IMPORT_C TUint32 ApplicationCharacteristics() const;
-
- /**
- * Sets the requested Application characteristic to the filter.
- *
- * All the Application characteristics which the Client application
- * intends to be used for filtering must be combined to form a bit-mask
- * and this value is set to the filter.
- * The individual system characteristics are defined by
- * @ref CLcLocationAppInfo::TLcApplicationCharacteristics enumeration.
- *
- * @since S60 5.0
- * @param[in] aAppChar Application Characteristic bit-mask value.
- * @return KErrArgument If the value of the input parameter is
- * if its not a valid mask.
- */
- IMPORT_C TInt SetApplicationCharacteristics( TUint32 aAppChar );
-
- /**
- * Retrieves the current value of the Application characteristics
- * filter option. The value of the filter is defined by the
- * @ref TLcFilterConfig enumeration.
- *
- * @return Current Application characteristics filter configuration.
- */
- IMPORT_C TLcFilterConfig AppCharFilterConfiguration() const;
-
- /**
- * Sets the filter configuration option for application characteristics.
- * Location centre can be configured to treat the Application
- * characteristics value based upon this flag.
- *
- * @since S60 5.0
- * @param[in] aFilterConfig The mode in which the Application
- * characteristics value must be treated. The
- * values which this variable can assume is
- * defined by the @ref TLcFilterConfig
- * enumeration.
- */
- IMPORT_C void SetAppCharFilterConfiguration(
- TLcFilterConfig aFilterConfig );
-
-private: // Data
- /**
- * System characteristics which must be used for Filtering Location
- * applications. This variable contains a Bitmask of the enumeration
- * CLcLocationAppInfo::TLcSystemCharacteristics.
- * If the Client application decides to set the default value or
- * doesn't explicitly initialize this variable then the value used
- * would be ESysCharNone.
- */
- TUint32 iSystemChar;
-
- /**
- * Filtering option for System Characteristics.
- * If the client application decides to use the default value for this
- * filter then then value used would be EFilterStrict.
- */
- TLcFilterConfig iSysFilterConfig;
-
- /**
- * Application characteristics which must be used for Filtering Location
- * applications. This variable contains a Bitmask of the enumeration
- * CLcLocationAppInfo::TLcApplicationCharacteristics.
- * If the Client application decides to set the default value or
- * doesn't explicitly initialize this variable then the value used
- * would be EAppCharNone.
- */
- TUint32 iApplicationChar;
-
- /**
- * Filtering option for Application Characteristics.
- * If the client application decides to use the default value for this
- * filter then then value used would be EFilterStrict.
- */
- TLcFilterConfig iAppFilterConfig;
-
- /**
- * Reserved for future use.
- */
- TUint8 iReserved[8];
- };
-
-#endif // T_LCLOCATIONAPPFILTER_H
--- a/loc_plat/location_centre_api/inc/lclocationappinfo.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,669 +0,0 @@
-/*
-* ============================================================================
-* Name : lclocationappinfo.h
-/*
-* 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: Location Application Information structures.
-*
-*/
-
-/**
- * @file lclocationappinfo.h
- *
- * This file provides the information about the components registered with
- * Location Centre.
- *
- * @note The components which can register with Location Centre are of
- * two types
- * - Applications
- * - Location based services / contents.
- *
- * These Client Applications or Services/Contents which register with Location
- * Centre will be called Location based Applications henceforth.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-
-#ifndef C_LCLOCATIONAPPINFO_H
-#define C_LCLOCATIONAPPINFO_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-// USER INCLUDES
-#include "lclocationappfilter.h"
-
-// FORWARD DECLARATIONS
-class CGulIcon;
-
-/**
- * @class CLcLocationAppInfo
- * Location Application information.
- *
- * The class defines the information pertaining to an application registered
- * with Location Centre.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-class CLcLocationAppInfo : public CBase
- {
-public:
- /**
- * @enum TLcSystemCharacteristics
- * System Characteristics for the applications registered with Location
- * Centre.
- *
- * These characteristics can be combined and used to form a bit-mask
- * which can then be used while retrieving/displaying registered
- * applications from Location Centre.
- * The system characteristics are defined by Location Centre when an
- * application registers with it.
- */
- enum TLcSystemCharacteristics
- {
- /**
- * This characteristic can be used to retrieve/display all Location
- * Applications regardless of their System arrtibutes. This
- * characteristic cannot be combined with any other value.
- * This will be used as the default System characteristic.
- */
- ESysCharNone = 0,
-
- /**
- * This characteristic is associated with Location based Applications that
- * are installed on the ROM.
- */
- ESysCharRomBased = 1
- };
-
- /**
- * @enum TLcApplicationCharacteristics
- * Application Characteristics for the applications registered with
- * Location Centre.
- *
- * The application characteristics are defined by the Location based Applications
- * when they register with Location Centre. A Location Application can
- * define one or more characteristics when they register. These
- * characteristics can be combined and used to form a bit-mask which can
- * then be used while retrieving/displaying registered applications from
- * Location Centre.
- */
- enum TLcApplicationCharacteristics
- {
- /**
- * This characteristics is used for Location based Applications which do
- * not wish to publish any characteristics. These Location based Applications
- * would get displayed in Location Centre only when Location Centre is
- * launched from the application shell or when the user of the Location
- * Centre API does not specify any other Application characteristics in
- * filtering. This characteristic cannot be combined with any other value.
- * This will be used as the default Application characteristic.
- */
- EAppCharNone = 0,
-
- /**
- * This characteristic is used for Location based Applications which have
- * Settings related functionality. These Location based Applications are
- * used to configure the user's terminal or the remote server for
- * all Location related features.
- */
- EAppCharSettings = 1,
-
- /**
- * This characteristic is used for Location based Applications which have
- * Personal Data Management related functionality. These Location
- * based Applications enable the user to manage his personal information.
- */
- EAppCharPersonalDataManagement = 2,
-
- /**
- * This characteristic is used for Location based Applications which have
- * Navigation related functionality. These Location based Applications
- * help the terminal user to navigate from one location to another.
- */
- EAppCharNavigation = 4,
-
- /**
- * This characteristic is used for Location based Applications which are
- * related to Location based events. These Location based Applications are
- * generally based to trigger certain events based on the terminal's
- * current Location.
- */
- EAppCharLocationBasedEvents = 8,
-
- /**
- * This characteristic is used for Location based Applications which have
- * Remote positioning related functionality. These Location
- * based Applications are generally involved in determining the current
- * location of other terminals or objects.
- */
- EAppCharRemotePositioning = 16,
-
- /**
- * This characteristic is used for Location based Applications which are
- * related to Network services. These Location based Applications are
- * generally involved in the exchange of Location related information
- * and Location related services over the network.
- */
- EAppCharNetworkService = 32,
-
- /**
- * This characteristic is used for Location based Applications which are
- * used to send Location enhanced messages.
- */
- EAppCharLocationEnhancedMessages = 64,
-
- /**
- * This characteristic is used for Location based Applications which
- * provide Location based content which is stored on the terminal.
- */
- EAppCharOnDeviceLocationBasedContent = 128,
-
- /**
- * This characteristic is used for Location based Applications which
- * provide Location based content that is stored remotely and needs
- * to be accessed from the remote server. These Location based Applications
- * would need connection to the network to access the Location based
- * content.
- */
- EAppCharRemoteLocationBasedContent = 256,
-
- /**
- * This characteristic is used for Location based Applications which
- * position a particular geographic location of a map.
- */
- EAppCharMaps = 512
- };
-
- /**
- * @enum TLcLaunchMode
- * The mode in which Location Centre needs to launch the application
- * contained in the Location Application information object.
- */
- enum TLcLaunchMode
- {
- /**
- * The corresponding application would be launched in the mode
- * specified by it during registration with Location Centre.
- */
- EDefaultMode = 0,
-
- /**
- * The corresponding application would be launched as a stand
- * alone application.
- */
- EStandAloneMode = 1,
-
- /**
- * The corresponding application would be launched as a
- * chained application.
- */
- EChainedMode = 2
- };
-
-public: // Exported Functions
- /**
- * Constructs a new instance of Location Application information object.
- *
- * @return The new instance of Location Application information object.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CLcLocationAppInfo* NewL();
-
- /**
- * Constructs a new instance of Location Application information object.
- * Leaves the created instance on the cleanup stack.
- *
- * @return The new instance of Location Application information object.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CLcLocationAppInfo* NewLC();
-
- /**
- * Constructs a new instance of Location Application information object.
- *
- * @param[in] aLocAppInfo Location Application Information from which the
- * object should be constructed.
- * @return The new instance of Location Application information object.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CLcLocationAppInfo* NewL(
- const CLcLocationAppInfo& aLocAppInfo );
-
- /**
- * Constructs a new instance of Location Application information object.
- * Leaves the created instance on the cleanup stack.
- *
- * @param[in] aLocAppInfo Location Application Information from which the
- * object should be constructed.
- * @return The new instance of Location Application information object.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CLcLocationAppInfo* NewLC(
- const CLcLocationAppInfo& aLocAppInfo );
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Application
- * information object.
- */
- virtual ~CLcLocationAppInfo();
-
- /**
- * 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.
- */
- IMPORT_C TPtrC Id() const;
-
- /**
- * 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.
- */
- IMPORT_C TPtrC Name() const;
-
- /**
- * Gets the Icon for the Location Application.
- * This is the icon that would be displayed in Location Centre for this
- * application. If no icon is defined then a default icon would be used.
- *
- * The ownership of the icon would be transferred back to the caller
- * function.
- *
- * @since S60 v5.0
- * @return - Icon for the Location Application.
- * - NULL, If the Icon has not been set for the Location
- * based Application
- * @leave System wide error codes if the icon allocation or copying
- * fails.
- */
- IMPORT_C CGulIcon* IconL() const;
-
- /**
- * 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.
- *
- * @since S60 v5.0
- * @return Mode in which the Location Application would be launched.
- */
- IMPORT_C TLcLaunchMode LaunchMode() const;
-
- /**
- * 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.
- */
- IMPORT_C TUint32 SystemCharacteristics() const;
-
- /**
- * 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.
- */
- IMPORT_C TUint32 ApplicationCharacteristics() const;
-
-
-public: // Non exported methods
-
- /**
- * @internal
- * 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.
- * @leave KErrNoMemory If there is not enough memory to copy the string.
- * @leave KErrAlreadyExists If the value of the Location applicaton UID
- * has already been set.
- */
- void SetIdL( const TDesC& aId );
-
- /**
- * @internal
- * 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.
- * @leave KErrNoMemory If there is not enough memory to copy the string.
- * @leave KErrAlreadyExists If the value of the Location applicaton name.
- * has already been set.
- */
- void SetNameL( const TDesC& aName );
-
- /**
- * @internal
- * Set the Icon for the Location Application.
- *
- * @since S60 v5.0
- * @param[in] aIconType The type of the file which contains the Icon.
- * @param[in] aIconData Opaque data field which contains the actual data information.
- * @param[in] aIconId Id of the Icon in the Icon file.
- * @leave KErrAlreadyExists If the value of the Location applicaton Icon
- * has already been set.
- */
- void SetIconL( TInt aIconType,
- const TDesC& aIconData,
- TInt aIconId = 0 );
-
- /**
- * @internal
- * 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.
- */
- void SetLaunchMode( TLcLaunchMode aLaunchMode );
-
- /**
- * @internal
- * Sets the system characteristics for the Location Application.
- *
- * @since S60 v5.0
- * @param[in] aSysCharacteristics System Characteristics for the Location
- * Application.
- */
- void SetSystemCharacteristics( TUint32 aSysCharacteristics);
-
- /**
- * @internal
- * Sets the Application characteristics for the Location Application.
- *
- * @since S60 v5.0
- * @param[in] aAppCharacteristics Application Characteristics for the Location
- * Application.
- */
- void SetApplicationCharacteristics( TUint32 aAppCharacteristics);
-
-private:
- /**
- * Default C++ Constructor.
- */
- CLcLocationAppInfo();
-
- /**
- * Overloaded Copy Constructor.
- *
- * @param[in] aLCAppInfo Location Application information object from which
- * the new object should be constructred.
- */
- CLcLocationAppInfo(
- const CLcLocationAppInfo& aLCAppInfo );
-
- /**
- * Overloaded Assignment operator. By default, prohibit assignment
- * operator
- *
- * @param[in] aLCAppInfo Location Application information object from which
- * the new value needs to be assigned.
- * @return The Location Application information object after assigment.
- */
- CLcLocationAppInfo& operator= (
- const CLcLocationAppInfo& aLCAppInfo );
-
- /**
- * Second phase of the two phase constructor.
- */
- void ConstructL();
-
- /**
- * Second phase overloaded constructor
- */
- void ConstructL( const CLcLocationAppInfo& aLCAppInfo );
-
-private: // Data
- /**
- * 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;
-
- /**
- * Application Icon Data.
- * Icon for the Location Application. This is the icon that would be displayed
- * in Location Centre for this application. If no icon is defined then a
- * default icon would be used.
- *
- * Owns
- */
- HBufC* iApplicationIconData;
-
- /**
- * Application Icon Type.
- */
- TInt iApplicationIconType;
-
- /**
- * Application Icon Id.
- */
- TInt iIconId;
-
- /**
- * 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.
- */
- TLcLaunchMode iLaunchMode;
-
- /**
- * 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;
-
- /**
- * Reserved for future use.
- */
- TAny* iReserved;
- };
-
-/**
- * @class CLcLocationAppInfoArray
- * Array of CLocationAppInfo objects.
- *
- * Place holder for the information about the applications registered with
- * Location Centre. The class contains a list of individual Location Application
- * information items.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-class CLcLocationAppInfoArray : public CBase
- {
-public:
- /**
- * Constructs a new instance of Location Application information array.
- *
- * @return The new instance of Location Application information array.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CLcLocationAppInfoArray* NewL();
-
- /**
- * Constructs a new instance of Location Application information array.
- * Leaves the created instance on the cleanup stack.
- *
- * @return The new instance of Location Application information array.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CLcLocationAppInfoArray* NewLC();
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Application
- * information array. This includes all the Location Application
- * information objects that it owns.
- */
- IMPORT_C virtual ~CLcLocationAppInfoArray();
-
- /**
- * Returns the number of Location Application information objects in the
- * array.
- *
- * @since S60 v5.0
- * @return The number of objects.
- */
- IMPORT_C TInt Count() const;
-
- /**
- * Appends a Location Application information object to the array.
- * The ownership of the inserted object is transferred.
- *
- * @since S60 v5.0
- * @param[in] aLCAppInfo Location Application information object which is
- * to be inserted.
- * @leave System wide error code if the operation fails.
- */
- IMPORT_C void AppendL( CLcLocationAppInfo* aLCAppInfo );
-
- /**
- * Removes a Location Application information object corresponding to the
- * specified array position from the array.
- * The function does not delete the object which is removed but transfers
- * it back to the caller. The ownership of the returned object is also
- * transferred to the caller.
- *
- * @since S60 v5.0
- * @param[in] aIndex Index of the requested object in the array. The
- * position is relative to zero, i.e. zero implies
- * the object pointer at the beginning of the array.
- * @return Pointer to the requested object.
- * @panic @ref TLCPanicCodes::ELcArrayOutofBounds, if there is no object
- * corresponding to the index.
- */
- IMPORT_C CLcLocationAppInfo* Remove( TInt aIndex );
-
- /**
- * Resets the Location Application Info Array. It also deletes all the
- * Location Application Information objects present in the array.
- *
- * @since S60 v5.0
- */
- IMPORT_C void Reset();
-
- /**
- * Returns a Location Application information object corresponding to the
- * specified array position.
- * Only a reference to the internal object is returned, the ownership is
- * not transferred.
- *
- * @since S60 v5.0
- * @param[in] aIndex Index of the requested object in the array. The
- * position is relative to zero, i.e. zero implies
- * the object pointer at the beginning of the array.
- * @return Reference to the requested object.
- * @panic @ref TLcPanicCodes::ELcArrayOutofBounds, if there is no object
- * corresponding to the index.
- */
- IMPORT_C CLcLocationAppInfo& operator[]( TInt aIndex ) const;
-
-private:
- /**
- * Default C++ Constructor.
- */
- CLcLocationAppInfoArray();
-
- /**
- * Overloaded Copy Constructor. By default, prohibit copy constructor
- *
- * @param[in] aLCAppInfoArray Location Application information array from which
- * the new object should be constructred.
- */
- CLcLocationAppInfoArray(
- const CLcLocationAppInfoArray& aLCAppInfoArray );
-
- /**
- * Overloaded Assignment operator. By default, prohibit assignment
- * operator
- *
- * @param[in] aLCAppInfoArray Location Application information array from which
- * the new value needs to be assigned.
- * @return The Location Application information array after
- * assigment
- */
- CLcLocationAppInfoArray& operator=(
- const CLcLocationAppInfoArray& aLCAppInfoArray );
-
- /**
- * Second phase of the two phase constructor.
- */
- void ConstructL();
-
-private: // Data
- /**
- * Array of Location Centre application information objects.
- *
- * Owns
- */
- RPointerArray<CLcLocationAppInfo> iAppInfoArray;
-
- /**
- * Reserved for future use.
- */
- TAny* iReserved;
- };
-
-#endif // C_LCLOCATIONAPPINFO_H
--- a/loc_plat/location_centre_api/inc/lcnativeapps.hrh Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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: Unique Identifiers for Native Location Applications.
-*
-*/
-
-
-#ifndef LCNATIVEAPPS_HRH_
-#define LCNATIVEAPPS_HRH_
-
-/**
- * @file locationcentrenativeapps.hrh
- *
- * This file provides the System Wide unique identifiers for native Location
- * based applications. These applications include
- * - GPS Data
- * - Landmarks
- * - Positioning Settings
- *
- * These applications MUST use the same value for identifiers when registering
- * with Location Centre and the Client application ( user of the Location
- * Centre API ) can use these values to customize the list of applications
- * displayed in Location Centre.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-
-/**
- * System wide unique identifer for GPS Data application. GPS Data application
- * must use this identifier while registering with Location Centre.
- *
- * The Client application can use this value while filtering Location
- * Applications to be displayed in Location Centre while using the
- * @ref CLcService::LaunchLocationCentreL functions.
- */
-_LIT( KGpsDataIdentifier, "0x101F85A0" );
-
-/**
- * System wide unique identifer for Landmarks application. Landmarks application
- * must use this identifier while registering with Location Centre.
- *
- * The Client application can use this value while filtering Location
- * Applications to be displayed in Location Centre while using the
- * @ref CLcService::LaunchLocationCentreL functions.
- */
-_LIT( KLandmarksIdentifier, "0x101F85A2" );
-
-/**
- * System wide unique identifer for Positioning Settings application.
- * Positioning Settings application must use this identifier while
- * registering with Location Centre.
- *
- * The Client application can use this value while filtering Location
- * Applications to be displayed in Location Centre while using the
- * @ref CLcService::LaunchLocationCentreL functions.
- */
-_LIT( KPositioningSettingsIdentifer, "0x102831B" );
-
-#endif // LCNATIVEAPPS_HRH_
--- a/loc_plat/location_centre_api/inc/lcnotification.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +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: Observer class defintion to notify any changes to the
-* state of Location Applications.
-*
-*/
-
-#ifndef M_LCNOTIFICATION_H
-#define M_LCNOTIFICATION_H
-
-/**
- * @file lcnotification.h
- *
- * This file provides the definitions for the observer class which enables
- * the client application to listen to notifications from Location Centre.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-/**
- * @class MLcNotification
- * Observer class to notify the changes to the applications registered with
- * Location Centre.
- *
- * This client application needs to pass an instance of this class when calling
- * @ref CLcService::StartNotificationL
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-class MLcNotification
- {
-public:
- /**
- * Notification for the termination of the chained Location based Application.
- *
- * The notification can occur under the following conditions
- * - When a new Location based Application registers into Location
- * Centre. In this case, the Location based Application would be
- * immediately available for all Location Centre operations.
- * - When an already registered Location based Application de-registers.
- * In this case, the Location based Application will be removed from
- * Location Centre. Hence, it would not be available for any further Location
- * Centre operations.
- * - When a Location based Application is present on a removable media (like
- * Memory card)and the media is removed. In this case, for all practical
- * purposes the Location based Application behaves as in the previous context.
- * The difference being that the application does not get removed from
- * Location Centre but is marked as an Absent application. When the
- * removable media is re-inserted, the application immediately becomes
- * available for all Location Centre operations.
- * - When an removable media containing an Absent Location based Application
- * is re-inserted. In this case, the Location based Application would be
- * immediately available for all Location Centre operations.
- * - When the Location Centre server terminates pre-maturely. In this case, no
- * further notifications would be given to the Client application and all
- * further requests to the Location Centre server would fail with
- * @p KErrServerTerminated.
- *
- * @since S60 v5.0
- * @param[in] aErrorCode Error code for the notification completion.
- * The following are the values which the variable
- * can assume on completion of the request.
- * - KErrNone If there is an new Location based
- * Application registered to Location Centre, when
- * an existing Location based Application is removed
- * from Location Centre or when an Location based
- * Application becomes absent or present.
- * - KErrCancel If an outstanding request is Cancelled.
- * - KErrServerTerminated If the Location Centre server
- * is pre-maturely terminated.
- * - System wide error codes in other error conditions.
- */
- virtual void LcStatusChangedL( TInt aErrorCode ) = 0;
- };
-
-#endif // M_LCNOTIFICATION_H
--- a/loc_plat/location_centre_api/inc/lcservice.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,841 +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: Location Centre API interface.
-*
-*/
-/**
- * @file lcservice.h
- *
- * This file provides the interface class to Location Centre. Using this interface
- * the client application can operate upon components which have registered with
- * Location Centre.
- * The components which can register with Location Centre are of two types
- * - Applications
- * - Location based services / contents.
- *
- * These Client Applications or Services/Contents which register with Location
- * Centre will be called Location based Application henceforth.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-
-#ifndef C_LCSERVICE_H
-#define C_LCSERVICE_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-// USER INCLUDES
-#include "lclocationappinfo.h"
-
-// FORWARD DECLARATIONS
-class CLcServiceImpl;
-class MLcAppExitObserver;
-class MLcNotification;
-class TLcLocationAppFilter;
-
-/**
- * @class CLcService
- * Interface to Location Centre.
- *
- * This class allows the Client application to incorporate Location Centre
- * and Location Centre related functionalities into their application.
- * The following are the functionalities exposed by this API.
- *
- * - Get the list of Location based Applications registered with Location Centre.
- *
- * - Launch Location Centre with a customized set of Location based Application.
- *
- * - Launch a particular Location based Application.
- *
- * - Register for notification of changes to the state of the Location
- * based Applications.
- *
- * In additon to the above functions, the user can also customize the list
- * of Location based Applications using the @ref TLcLocationAppFilter filter.
- *
- * Since, this class acts as a Client side interface to the Location Centre
- * server, it is recommended that the Client application creates the
- * instance of this class during its construction and delete it only on
- * Exit.
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-class CLcService : public CBase
- {
-public:
- /**
- * @class CLcLaunchParam
- * Contains additional parameters for customized Location Centre
- * launching. It specifies the Location based Application that needs to be
- * displayed in Location Centre and the mode of launching for each of
- * these Location based Application when a User selects any of them. This
- * array of these structures is to be passed as an input to the
- * overloaded @ref LaunchLocationCentreL function
- */
- class CLcLaunchParam : public CBase
- {
- public:
- /**
- * Constructs a new instance of Launch parameter object.
- *
- * @since S60 v5.0
- * @param[in] aAppId Identifier for the Location based Application.
- * The identifier string is copied.
- * @param[in] aLaunchMode Launch mode when the terminal user selects
- * this Location based Application. The values
- * which this parameter can assume is defined
- * by the @ref CLcLocationAppInfo::TLcLaunchMode
- * enumeration.
- * If the user doesn't define a value for this
- * parameter then @ref CLcLocationAppInfo::EDefaultMode
- * is assumed.
- * @return The new instance of Launch parameter object.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CLcLaunchParam* NewL
- ( const TDesC& aAppId,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode =
- CLcLocationAppInfo::EDefaultMode );
-
- /**
- * Constructs a new instance of Launch parameters object.
- * Leaves the created instance on the cleanup stack.
- *
- * @since S60 v5.0
- * @param[in] aAppId Identifier for the Location based Application.
- * The identifier string is copied.
- * @param[in] aLaunchMode Launch mode when the terminal user selects
- * this Location based Application. The values
- * which this parameter can assume is defined
- * by the @ref CLcLocationAppInfo::TLcLaunchMode
- * enumeration.
- * If the user doesn't define a value for this
- * parameter then @ref CLcLocationAppInfo::EDefaultMode
- * is assumed.
- * @return The new instance of Launch parameter object.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CLcLaunchParam* NewLC
- ( const TDesC& aAppId,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode =
- CLcLocationAppInfo::EDefaultMode );
-
- /**
- * Virtual Destructor
- */
- virtual ~CLcLaunchParam();
-
- public: // Non Exported Methods
- /**
- * @internal
- * 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.
- */
- TPtrC Id() const;
-
- /**
- * @internal
- * Mode in which the Location Application would be launched.
- * If the mode defined is @ref CLcLocationAppInfo::EDefaultMode, then
- * the default mode specified by the application when registering with
- * Location Centre is used.
- *
- * @since S60 v5.0
- * @return Mode in which the Location Application would be launched.
- */
- CLcLocationAppInfo::TLcLaunchMode LaunchMode() const;
-
- private:
- /**
- * C++ Default Constructor
- */
- CLcLaunchParam( CLcLocationAppInfo::TLcLaunchMode aLaunchMode );
-
- /**
- * Second phase of the Symbian two phase construction.
- */
- void ConstructL( const TDesC& aAppId );
-
- private:
- /**
- * System wide unique identifier identifying the Location based
- * Application. This identifier is defined by the Location based
- * Application on registration with Location Centre.
- * Owns
- */
- HBufC* iId;
-
- /**
- * Mode in which the Location based Application would be launched. If
- * the mode defined is @ref CLcLocationAppInfo::EDefaultMode, then
- * the mode specified by the Location based Application when
- * registering with Location Centre is used.
- * If no value is specified for this paramter then it takes
- * @ref CLcLocationAppInfo::EDefaultMode as its value.
- */
- CLcLocationAppInfo::TLcLaunchMode iLaunchMode;
-
- };
-
-public: // Exported Functions
- /**
- * Constructs a new instance of Location Centre interface.
- *
- * @return The new instance of Location Centre interface object.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CLcService* NewL();
-
- /**
- * Constructs a new instance of Location Centre interface.
- * Leaves the created instance on the cleanup stack.
- *
- * @return The new instance of Location Centre interface object.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CLcService* NewLC();
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * interface.
- */
- virtual ~CLcService();
-
- /**
- * Launches Location Centre as a pop-up dialog with a list of
- * Location based Application.
- *
- * All Location based Applications which can be launched in the
- * specified mode are displayed in the Location Centre pop-up
- * dialog. The user can select any of the Location based
- * Applications displayed in the pop-up list and the
- * corresponding Location based Application would be launched
- * in the specified launching mode.
- *
- * @since S60 v5.0
- * @param [in] aLaunchMode Mode in which the the Location based
- * Applications displayed in the pop-up
- * must be launched. The default mode for
- * launching is the mode in which the
- * corresponding Location based Application
- * has registered with Location Centre.
- * @param[in] aChainedAppExitObserver Observer for notifications of
- * chained application termination
- * incase, the user launches any
- * Location based Application from the
- * pop-up in the chained mode. If
- * the user doesn't specify any value
- * for the observer then no callback
- * would be given on chained
- * application termination.
- * @leave KErrInUse - If there is an outstanding request present on Location Centre.
- * @leave KErrNotFound - If no Location based Applications were found
- * with the required configuration.
- * @leave KErrNotSupported - If Location Centre cannot be launched. This
- * generally occurs when the Client application
- * does not have a UI context.
- * @leave KErrServerTerminated - If the Location Centre server terminates
- * prematurely. In this case, all future
- * requests to Location Centre would also
- * fail with the same error code.
- * @leave System wide error code if the operation fails due to some other
- * reason.
- */
- IMPORT_C void LaunchLocationCentreL(
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode = CLcLocationAppInfo::EDefaultMode,
- MLcAppExitObserver* aChainedAppExitObserver = NULL );
-
- /**
- * Launches Location Centre as a pop-up dialog with a filtered list of
- * Location based Application.
- *
- * The Client application can configure Location Centre to display
- * only a subset of Location based Applications. This can be achieved
- * by passing an object of type @ref TLcLocationAppFilter as the
- * parameter to this function. Only those Location based Applications
- * which satisfy the filter conditions and can be launched in the
- * specified mode are displayed in Location Centre.
- * The user can select any of the Location based Applications displayed
- * in the pop-up list and the Location based Application would be
- * launched in the specified launching mode.
- *
- * The ownership of the filter is not transferred to Location Centre.
- *
- * @since S60 v5.0
- * @param[in] aLocationAppFilter Filter that needs to be applied
- * to customize the list of Location
- * based Applications to be displayed in
- * Location Centre.
- * @param [in] aLaunchMode Mode in which the the Location based
- * Applications displayed in the pop-up
- * must be launched. The default mode for
- * launching is the mode in which the
- * corresponding Location based application has
- * registered with Location Centre.
- * @param[in] aChainedAppExitObserver Observer for notifications of
- * chained application termination
- * incase, the user launches any
- * Location based Application from the
- * pop-up in the chained mode. Incase,
- * the user doesn't specify any value
- * for the observer then no callback
- * would be given on ahained
- * application termination.
- * @leave KErrInUse - If there is an outstanding request present on Location Centre.
- * @leave KErrNotFound - If no Location based Applications were found
- * with the required configuration.
- * @leave KErrNotSupported - If Location Centre cannot be launched. This
- * generally occurs when the Client application
- * does not have a UI context.
- * @leave KErrServerTerminated - If the Location Centre server terminates
- * prematurely. In this case, all future
- * requests to Location Centre would also
- * fail with the same error code.
- * @leave System wide error code if the operation fails due to some other
- * reason.
- */
- IMPORT_C void LaunchLocationCentreL(
- const TLcLocationAppFilter& aLocationAppFilter,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode = CLcLocationAppInfo::EDefaultMode,
- MLcAppExitObserver* aChainedAppExitObserver = NULL );
-
- /**
- * Launches Location Centre with the specified array of Location
- * based Applications in a pop-up dialog.
- *
- * The items of the array are first validated for their registration
- * with Location Centre and only those Location based Applications which are
- * registered with Location Centre and which can be launched in the
- * specified launch mode are displayed.
- * The user can select any of the Location based Application displayed in the
- * pop-up list and the corresponding Location based Application would be opened
- * the mode defined in the corresponding @ref TLcLaunchParam
- * object.
- *
- * The ownership of the specified array is not tranferred to Location
- * Centre.
- *
- * @since S60 v5.0
- * @param[in] aIncludeAppArray Array of Location based Applications which
- * are to be displayed in Location Centre.
- * @param[in] aChainedAppExitObserver Observer for notifications of
- * chained application termination
- * incase, the user launches any
- * Location based Application from the
- * pop-up in the chained mode. Incase,
- * the user doesn't specify any value
- * for the observer then no callback
- * would be given on chained
- * application termination.
- * @leave KErrInUse - If there is an outstanding request present on Location Centre.
- * @leave KErrNotFound - If none of the specified Location based
- * Applications were found registered with
- * Location Centre.
- * @leave KErrNotSupported - If Location Centre cannot be launched. This
- * generally occurs when the Client application
- * does not have a UI context.
- * @leave KErrServerTerminated - If the Location Centre server terminates
- * prematurely. In this case, all future
- * requests to Location Centre would also
- * fail with the same error code.
- * @leave System wide error code if the operation fails due to some other
- * reason.
- */
- IMPORT_C void LaunchLocationCentreL(
- const RPointerArray<CLcLaunchParam>& aIncludeAppArray,
- MLcAppExitObserver* aChainedAppExitObserver = NULL );
-
- /**
- * Launches Location Centre without the specified array of
- * Location based Applications in a pop-up dialog.
- *
- * Only those Location based Applications which are not a part of the
- * specified array and which can be launched in the specified mode
- * are displayed in Location Centre.
- * The user can select any of the Location based Application displayed in the
- * pop-up list and the corresponding Location based Application would be opened
- * the mode defined in the specified mode.
- *
- * The ownership of the specified array is not tranferred to Location
- * Centre.
- *
- * @since S60 v5.0
- * @param[in] aExcludeAppArray Array of identifiers of Location based
- * Application which are not to be displayed
- * in Location Centre.
- * These identifiers are to be defined by the
- * Location based Application on registration with
- * Location Centre.
- * @param [in] aLaunchMode Mode in which the all the Location
- * applications displayed in the pop-up
- * must be launched. The default mode for
- * launching is the mode in which the
- * corresponding application has registered
- * with Location Centre.
- * @param[in] aChainedAppExitObserver Observer for notifications of
- * chained application termination
- * incase, the user launches any
- * Location based Application from the
- * pop-up in the chained mode. Incase,
- * the user doesn't specify any value
- * for the observer then no callback
- * would be given on chained
- * application termination.
- * @leave KErrInUse - If there is an outstanding request present on Location Centre.
- * @leave KErrNotFound - If no Location based Applications were found
- * with the required configuration.
- * @leave KErrNotSupported - If Location Centre cannot be launched. This
- * generally occurs when the Client application
- * does not have a UI context.
- * @leave KErrServerTerminated - If the Location Centre server terminates
- * prematurely. In this case, all future
- * requests to Location Centre would also
- * fail with the same error code.
- * @leave System wide error code if the operation fails due to some other
- * reason.
- */
- IMPORT_C void LaunchLocationCentreL(
- const RArray<TPtrC>& aExcludeAppArray,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode = CLcLocationAppInfo::EDefaultMode,
- MLcAppExitObserver* aChainedAppExitObserver = NULL );
-
- /**
- * Launches Location Centre as a pop-up dialog with a list of
- * Location based Applications and the user can select a Location
- * based Application from the pop-up list displayed.
- *
- * @since S60 v5.0
- * @return If the terminal User has selected a Location based Application,
- * Unique identifier identifying the Location based Application
- * which was selected.
- * NULL string incase the terminal User cancelled the pop-up dialog.
- * The string returned is a reference to this object's internal string. Hence,
- * the Client Application must copy the string if it expects to retain
- * it.
- * @leave KErrInUse - If there is an outstanding request present on Location Centre.
- * @leave KErrNotFound - If no Location based Applications were found.
- * @leave KErrNotSupported - If Location Centre cannot be launched. This
- * generally occurs when the Client application
- * does not have a UI context.
- * @leave KErrServerTerminated - If the Location Centre server terminates
- * prematurely. In this case, all future
- * requests to Location Centre would also
- * fail with the same error code.
- * @leave System wide error code if the operation fails due to some other
- * reason.
- */
- IMPORT_C TPtrC SelectLocationApplicationL();
-
- /**
- * Launches Location Centre as a pop-up dialog with a filtered list of
- * Location based Applications and the user can select a Location
- * based Application from the pop-up list displayed.
- *
- * The Client application can configure Location Centre to display
- * only a subset of Location based Applications. This can be achieved
- * by passing an object of type @ref TLcLocationAppFilter as the
- * parameter to this function. Only those Location based Applications
- * which satisfy the filter conditions are displayed in Location Centre.
- * The user can select any of the Location based Applications displayed
- * in the pop-up list and the identifier corresponding to the selected
- * Location based Application would be returned back to the user.
- *
- * The ownership of the filter is not transferred to Location Centre.
- *
- * @since S60 v5.0
- * @param[in] aLocationAppFilter Filter that needs to be applied
- * to customize the list of Location
- * based Applications to be displayed in
- * Location Centre.
- * @return If the terminal User has selected a Location based Application,
- * Unique identifier identifying the Location based Application
- * which was selected.
- * NULL string incase the terminal User cancelled the pop-up dialog.
- * The string returned is a reference to this object's internal string. Hence,
- * the Client Application must copy the string if it expects to retain
- * it.
- * @leave KErrInUse - If there is an outstanding request present on Location Centre.
- * @leave KErrNotFound - If no Location based Applications were found.
- * @leave KErrNotSupported - If Location Centre cannot be launched. This
- * generally occurs when the Client application
- * does not have a UI context.
- * @leave KErrServerTerminated - If the Location Centre server terminates
- * prematurely. In this case, all future requests
- * to Location Centre would also fail with
- * the same error code.
- * @leave System wide error code if the operation fails due to some other
- * reason.
- */
- IMPORT_C TPtrC SelectLocationApplicationL(
- const TLcLocationAppFilter& aLocationAppFilter );
-
- /**
- * Launches Location Centre with based Applications in a pop-up
- * dialog and the user can select a Location based Application
- * from the pop-up list displayed.
- *
- * The Client application can configure Location Centre to either
- * display only those Location based Applications specified in
- * the array or to display all Location based Applications other
- * than those specified in the array.
- * The user can select any of the Location based Application displayed
- * in the pop-up list and the identifier corresponding to the selected
- * Location based Application would be returned back to the user.
- *
- * The ownership of the specified array is not tranferred to Location
- * Centre.
- *
- * @since S60 v5.0
- * @param[in] aArray Array of Location based Applications which
- * are to be displayed in Location Centre.
- * @param[in] aIncludeFlag If the flag value is
- * - ETrue, then only those Location based
- * Applications specified in the array would
- * be displayed in Location Centre.
- * - EFalse, then all Location based Applications
- * other than those specified in the array
- * would be displayed in Location Centre.
- * @return If the terminal User has selected a Location based Application,
- * Unique identifier identifying the Location based Application
- * which was selected.
- * The string returned is a reference to this object's internal string. Hence,
- * the Client Application must copy the string if it expects to retain
- * it.
- * NULL string incase the terminal User cancelled the pop-up dialog.
- * @leave KErrInUse - If there is an outstanding request present on Location Centre.
- * @leave KErrNotFound - If none of the specified Location based
- * Applications were found registered with
- * Location Centre.
- * @leave KErrNotSupported - If Location Centre cannot be launched. This
- * generally occurs when the Client application
- * does not have a UI context.
- * @leave KErrServerTerminated - If the Location Centre server terminates
- * prematurely. In this case, all future
- * requests to Location Centre would also
- * fail with the same error code.
- * @leave System wide error code if the operation fails due to some other
- * reason.
- */
- IMPORT_C TPtrC SelectLocationApplicationL(
- const RArray<TPtrC>& aAppArray,
- TBool aIncludeFlag );
-
- /**
- * Gets a list of all Location based Applications.
- *
- * This function returns a list of all Location based Applications
- * to the caller.
- *
- * The ownership of the list of Location based Applications is
- * transferred to the caller.
- *
- * @since S60 v5.0
- * @param[in] aLocationAppFilter Filter that needs to be applied
- * to customize the list of Location
- * Applications to be retrieved from
- * Location Centre.
- * @return CLcLocationAppInfoArray object containing a list
- * of applications registered with Location Centre.
- * @leave KErrNotFound, If there are no Location based Applications
- * available.
- * @leave KErrInUse - If there is an outstanding request present on Location Centre.
- * @leave KErrServerTerminated - If the Location Centre server terminates
- * prematurely. In this case, all future
- * requests to Location Centre would also
- * fail with the same error code.
- * @leave System wide error code if the array retrieval fails for
- * any other reason.
- */
- IMPORT_C CLcLocationAppInfoArray* GetLocationApplicationsL();
-
- /**
- * Gets a list of all Location based Applications.
- *
- * This is an asynchronous version and at any instant of time there
- * can be only one such request outstanding.
- *
- * The ownership of the list of Location based Applications is
- * transferred to the caller.
- *
- * @since S60 v5.0
- * @param[out] aStatus Status variable on which the completion of the
- * request would be communicated. The following
- * are the values which the variable can assume
- * on completion of the request.
- * Since, the CLcService class will use its internal
- * Active object for interacting with the Location
- * Centre server and not this aStatus directly, the
- * Client application must not use User::WaitforRequest
- * on this status variable.
- * - KErrNone, If the list of applications was
- * successfully retrieved.
- * - KErrInUse, If there is an outstanding
- * request present on Location Centre.
- * - KErrNotFound, If there are no Location
- * based Applications available.
- * - KErrCancel, If an outstanding request is
- * Cancelled.
- * - KErrServerTerminated - If the Location Centre
- * server terminates prematurely. In this
- * case, all future requests to Location
- * Centre would also fail with the same
- * error code.
- * - System wide error code if the array retrieval
- * fails for any other reason.
- * @param[out] aAppInfoArray Reference to the pointer of Application
- * information array. This pointer would be
- * updated with the @ref CLcLocationAppInfoArray
- * object containing a list of applications
- * registered with Location Centre on the
- * asynchronous completion of this function.
- */
- IMPORT_C void GetLocationApplications(
- TRequestStatus& aStatus,
- CLcLocationAppInfoArray*& aAppInfoArray );
-
- /**
- * Gets a filtered list of Location based Applications.
- *
- * The Client application can configure the list of Location based
- * Applications returned. This can be achieved by passing an object
- * of type @ref TLcLocationAppFilter as the parameter to this function.
- *
- * The ownership of the filter is not transferred to Location Centre.
- *
- * The ownership of the list of Location based Applications is
- * transferred to the caller.
- *
- * @since S60 v5.0
- * @param[in] aLocationAppFilter Filter that needs to be applied
- * to customize the list of Location
- * Applications to be retrieved from
- * Location Centre.
- * @return CLcLocationAppInfoArray object containing a list
- * of applications registered with Location Centre.
- * @leave KErrNotFound If there are no Location based Applications
- * corresponding to the filter paramter.
- * @leave KErrServerTerminated - If the Location Centre server terminates
- * prematurely. In this case, all future
- * requests to Location Centre would also
- * fail with the same error code.
- * @leave System wide error code if the array retrieval fails for
- * any other reason.
- */
- IMPORT_C CLcLocationAppInfoArray* GetLocationApplicationsL(
- const TLcLocationAppFilter& aLocationAppFilter );
-
- /**
- * Gets a filted list of Location based Applications.
- *
- * The Client application can configure the list of Location based
- * Applications returned. This can be achieved by passing an object
- * of type @ref TLcLocationAppFilter as the parameter to this function.
- * This is an asynchronous version and at any instant of time there
- * can be only one such request outstanding.
- *
- * The ownership of the filter is not transferred to Location Centre.
- *
- * The ownership of the list of Location based Applications is
- * transferred to the caller.
- *
- * @since S60 v5.0
- * @param[out] aStatus Status variable on which the completion of the
- * request would be communicated. The following
- * are the values which the variable can assume
- * on completion of the request.
- * Since, the CLcService class will use its internal
- * Active object for interacting with the Location
- * Centre server and not this aStatus directly, the
- * Client application must not use User::WaitforRequest
- * on this status variable.
- * - KErrNone, If the list of applications was
- * successfully retrieved.
- * - KErrInUse, If there is an outstanding
- * request present.
- * - KErrCancel, If an outstanding request is
- * Cancelled.
- * - KErrServerTerminated - If the Location Centre
- * server terminates prematurely. In
- * this case, all future requests to
- * Location Centre would also fail with
- * the same error code.
- * - System wide error code if the array retrieval
- * fails for any other reason.
- * @param[in] aLocationAppFilter Filter that needs to be applied
- * to customize the list of Location
- * Applications to be retrieved from
- * Location Centre.
- * @param[out] aAppInfoArray Reference to the pointer of Application
- * information array. This pointer would be
- * updated with the @ref CLcLocationAppInfoArray
- * object containing a list of applications
- * registered with Location Centre on the
- * asynchronous completion of this function.
- */
- IMPORT_C void GetLocationApplications(
- TRequestStatus& aStatus,
- const TLcLocationAppFilter& aLocationAppFilter,
- CLcLocationAppInfoArray*& aAppInfoArray );
-
- /**
- * Cancels an outstanding @ref GetLocationApplications request.
- */
- IMPORT_C void CancelGetLocationApplications();
-
- /**
- * Launches a Location based Application in the desired mode.
- *
- * The identifier passed to te function is first validated for
- * existence and registration with Location Centre. Incase, the
- * Location based Application exists and its has already registered with
- * Location Centre, then the function launches the Location
- * Application in the desired mode.
- *
- * @since S60 v5.0
- * @param[in] aAppIdentifier Unique identifier identifying the
- * Location based Application.
- * @param [in] aLaunchMode Mode in which the all the Location based
- * Applications displayed in the pop-up
- * must be launched. The default mode for
- * launching is the mode in which the
- * corresponding Location based Application
- * has registered with Location Centre.
- * @param[in] aChainedAppExitObserver Observer for notifications of
- * chained application termination
- * incase, the user launches any
- * Location based Application from the
- * pop-up in the chained mode. Incase,
- * the user doesn't specify any value
- * for the observer then no callback
- * would be given on chained
- * application termination. If a value
- * is specified for the observer for
- * Stand alone lauunching then the
- * Observer value would be ignored.
- * @leave KErrNotFound, If there is no Location based Application
- * corresponding to the identifer or if the Location
- * based Application cannot be launched in the
- * specified mode.
- * @leave KErrInUse - If there is an outstanding request present on Location
- * Centre.
- * @leave KErrServerTerminated - If the Location Centre server terminates
- * prematurely. In this case, all future
- * requests to Location Centre would also fail
- * with the same error code.
- * @leave System wide error code if the operation fails for any other
- * reason.
- */
- IMPORT_C void LaunchLocationApplicationL(
- const TDesC& aAppIdentifier,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode = CLcLocationAppInfo::EDefaultMode,
- MLcAppExitObserver* aChainedAppExitObserver = NULL );
-
- /**
- * Sets an observer for notifying changes to the Location Centre server.
- *
- * The notification can occur under the following conditions
- * - When a new Location based Application registers into Location Centre.
- * In this case, the Location based Application would be immediately available
- * for all Location Centre operations.
- * - When an already registered Location based Application de-registers.
- * In this case, the Location based Application will be removed from Location
- * Centre. Hence, it would not be available for any further Location Centre
- * operations.
- * - When a Location based Application is present on a removable media
- * (like Memory card) and the media is removed. In this case, for all practical
- * purposes the Location based Application behaves as in the previous context.
- * The difference being that the Location based Application does not get removed
- * from Location Centre but is marked as an Absent application. When the
- * removable media is re-inserted, the Location based Application immediately
- * becomes available for all Location Centre operations.
- * - When an removable media containing an Absent Application is re-inserted. In
- * this case, the Location based Application would be immediately available for
- * all Location Centre operations.
- * - When the Location Centre server terminates pre-maturely. In this case, no
- * further notifications would be given to the Client application and all
- * further requests to the Location Centre server would fail with
- * @p KErrServerTerminated.
- *
- * @since S60 v5.0
- * @param[in] aObserver Observer to which notification would be issued.
- * @leave KErrAlreadyExists If the observer has already been set.
- * @leave KErrServerTerminated - If the Location Centre server terminates
- * prematurely. In this case, all future requests to
- * Location Centre would also fail with the same
- * error code.
- */
- IMPORT_C void SetObserverL( MLcNotification& aObserver );
-
- /**
- * Removes the observer that has already been set using the @ref SetObserverL method.
- *
- * @since S60 v5.0
- * @return KErrNone, If the observer removal was successful.
- * KErrNotFound, If no observer was set previously.
- */
- IMPORT_C TInt RemoveObserver();
-
-private:
- /**
- * Default C++ Constructor.
- */
- CLcService();
-
- /**
- * Overloaded Copy Constructor. By default, prohibit copy constructor
- *
- * @param[in] aLocationCentre Location Centre interface object from which the new
- * object should be constructed.
- */
- CLcService( const CLcService& aLocationCentre );
-
- /**
- * Overloaded Assignment operator. By default, prohibit assignment
- * operator
- *
- * @param[in] aLocationCentre Location Centre interface object from which the new
- * object should be assigned.
- * @return the Location Centre interface object after assigment.
- */
- CLcService& operator= (
- const CLcService& aLCAppInfo );
-
- /**
- * Second phase of the two phase constructor.
- */
- void ConstructL();
-
-private: // Data
- /**
- * Location Centre Implementation. Hides the actual implementation
- * of the Location Centre API.
- *
- * Owns
- */
- CLcServiceImpl* iImplementation;
- };
-
-#endif // C_LCSERVICE_H
--- a/loc_plat/location_centre_api/location_centre_api.metaxml Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" ?>
-<api id="cf2b175d7f6596aeba30f6dc00e467e1" dataversion="2.0">
- <name>Location Centre API</name>
- <description>Provides the interface for the client applications to use the services provided by Location Centre, like launching the Location Centre (in pop-up form), querying and listing registered applications, launching registered applications etc. Client applications can also provide characteristics based filters while listing or querying for registered applications or while launching Location Centre Pop-up.</description>
- <type>c++</type>
- <collection>locationcentre</collection>
- <libs>
- </libs>
- <release category="platform"/>
- <attributes>
- <!-- This indicates wether the api provedes separate html documentation -->
- <!-- or is the additional documentation generated from headers. -->
- <!-- If you are unsuere then the value is "no" -->
- <htmldocprovided>no</htmldocprovided>
- <adaptation>no</adaptation>
- </attributes>
-</api>
--- a/loc_plat/location_centre_api/tsrc/bmarm/testlcu.def Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
-
--- a/loc_plat/location_centre_api/tsrc/bwins/testlcu.def Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
-
--- a/loc_plat/location_centre_api/tsrc/conf/testlc.cfg Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,270 +0,0 @@
-[Define]
-
-KWithObserver 1
-KWithOutObserver 0
-
-KErrNotFound -1
-KErrCancel -3
-KErrNotSupported -5
-
-[Enddefine]
-
-[Test]
-title TCLC000
-create testlc Obj
-Obj CheckTLcLocationAppFilter
-print CheckTLcLocationAppFilter...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC001
-create testlc Obj
-Obj CheckFilterSystemCharacteristics 0
-print CheckFilterSystemCharacteristics...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC002
-create testlc Obj
-Obj CheckFilterApplicationCharacteristics 0
-print CheckFilterApplicationCharacteristics...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC003
-create testlc Obj
-Obj CheckSysCharFilterConfiguration 0
-print CheckSysCharFilterConfiguration...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC004
-create testlc Obj
-Obj CheckAppCharFilterConfiguration 0
-print CheckAppCharFilterConfiguration...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC005
-create testlc Obj
-Obj CheckArrayNewL
-print CheckArrayNewL...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC006
-create testlc Obj
-Obj CheckArrayNewLC
-print CheckArrayNewLC...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC007
-create testlc Obj
-Obj CheckCount
-print CheckCount...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC008
-create testlc Obj
-Obj CheckAppendL
-print CheckAppendL...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC009
-create testlc Obj
-Obj CheckRemoveL
-print CheckRemoveL...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC010
-create testlc Obj
-Obj CheckResetL
-print CheckResetL...
-delete Obj
-[Endtest]
-
-
-[Test]
-title TCLC011
-create testlc Obj
-Obj CheckOperatorL
-print CheckOperatorL...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC012
-create testlc Obj
-Obj CheckNewL
-print CheckNewL...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC013
-create testlc Obj
-Obj CheckNewLC
-print CheckNewLC...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC014
-create testlc Obj
-Obj CheckCopyNewL
-print CheckCopyNewL...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC015
-create testlc Obj
-Obj CheckCopyNewLC
-print CheckCopyNewLC...
-delete Obj
-[Endtest]
-
-
-[Test]
-title TCLC016
-create testlc Obj
-Obj CheckId
-print CheckId...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC017
-create testlc Obj
-Obj CheckName
-print CheckName...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC018
-create testlc Obj
-Obj CheckLaunchMode
-print CheckLaunchMode...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC019
-create testlc Obj
-Obj CheckSystemCharacteristics
-print CheckSystemCharacteristics...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC020
-create testlc Obj
-Obj CheckApplicationCharacteristics
-print CheckApplicationCharacteristics...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC021
-create testlc Obj
-Obj CheckServiceNewL
-print CheckServiceNewL...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC022
-create testlc Obj
-Obj CheckServiceNewLC
-print CheckServiceNewLC...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC023
-create testlc Obj
-Obj TestGetLocationApplicationsL
-print TestGetLocationApplicationsL...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC024
-create testlc Obj
-Obj TestGetLocationApplicationsAsynL
-print TestGetLocationApplicationsAsynL...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC025
-create testlc Obj
-Obj TestGetLocationApplicationsFilterL
-print TestGetLocationApplicationsFilterL...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC026
-create testlc Obj
-Obj TestGetLocationApplicationsFilterAsynL
-print TestGetLocationApplicationsFilterAsynL...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC027
-create testlc Obj
-Obj TestSetRemoveObserverL KWithObserver
-print TestSetRemoveObserverL...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC028
-create testlc Obj
-allownextresult KErrNotFound
-Obj TestSetRemoveObserverL KWithOutObserver
-print TestSetRemoveObserverL...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC029
-create testlc Obj
-allownextresult KErrCancel
-Obj TestCancelGetLocationApplications
-print TestCancelGetLocationApplications...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC030
-create testlc Obj
-Obj TestCLcLaunchParamNewL
-print TestCLcLaunchParamNewL...
-delete Obj
-[Endtest]
-
-[Test]
-title TCLC031
-create testlc Obj
-Obj TestCLcLaunchParamNewL
-print TestCLcLaunchParamNewL...
-delete Obj
-[Endtest]
--- a/loc_plat/location_centre_api/tsrc/eabi/testlcu.def Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- _Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-
--- a/loc_plat/location_centre_api/tsrc/group/bld.inf Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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: Test Module DLL to Location Centre API
-*
-*/
-
-
-
-PRJ_PLATFORMS
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-DEFAULT
-
-PRJ_TESTEXPORTS
-// NOTE: If using ARS requirements all export operations should be done under this.
-// 'abld test export'
-
-PRJ_EXPORTS
-// Specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-// If there's no destination then the source file will be copied
-// to the same name in /epoc32/include
-// Example:
-/*
-/agnmodel/inc/AGMCOMON.H
-*/
-
-PRJ_TESTMMPFILES
-// NOTE: If using ARS requirements .mmp file operation should be done under this.
-// 'abld test build'
-testlc.mmp
-
-PRJ_MMPFILES
-// Specify the .mmp files required for building the important component
-// releasables.
-//
-// Specify "tidy" if the component you need to build doesn't need to be
-// released. Specify "ignore" if the MMP file exists but should be
-// ignored.
-// Example:
-/*
-/agnmodel/group/agnmodel.mmp
-#if defined(MARM)
-/agnmodel/group/agsvexe.mmp
-#endif
-*/
-
-// End of File
\ No newline at end of file
--- a/loc_plat/location_centre_api/tsrc/group/testlc.mmp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +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: Test Module DLL to Location Centre API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET testlc.dll
-TARGETTYPE dll
-UID 0x1000008D 0x101FB3E3
-
-CAPABILITY ALL -TCB
-/* Remove comments and replace 0x00000000 with correct vendor id */
-// VENDORID 0x00000000
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID 0x00000000
-
-//TARGETPATH
-DEFFILE testlc.def
-
-SOURCEPATH ../src
-SOURCE testlc.cpp
-SOURCE testlcBlocks.cpp
-SOURCE testlcservice.cpp
-SOURCE testlocationappinfo.cpp
-SOURCE testlocationappinfoarray.cpp
-SOURCE testlocationappfilter.cpp
-
-USERINCLUDE ../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-
-LIBRARY euser.lib
-LIBRARY stiftestinterface.lib
-LIBRARY stiftestengine.lib
-LIBRARY lcservice.lib
-
-LANG SC
-
-// End of File
--- a/loc_plat/location_centre_api/tsrc/group/testlc.pkg Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-;
-; Copyright (c) 2009 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:
-;
-;
-; Installation file for Location Centre API Test module
-;
-;Languages
-&EN
-;
-; UID is the app's UID
-;
-#{"Location_centre_test"},(0x101FB3E3),3,0,0,TYPE=SA
-;
-; Localised Vendor name
-%{"Nokia-EN"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Supports Series 60 v 3.0
-;This line indicates that this installation is for the Series 60 platform v3.0
-;This line must appear _exactly_ as shown below in the sis file
-;If this line is missing or incorrect, the sis file will not be able
-;to be installed on Series 60 v3.0 platforms
-[0x101F6F88], 0, 0, 0, {"Series60ProductID"}
-;
-;
-
-; File to install
-
-
-"\epoc32\release\armv5\urel\testlc.dll"-"C:\sys\bin\testlc.dll"
-"..\conf\testlc.cfg"-"C:\testframework\testlc.cfg"
-"..\init\testframework.ini"-"C:\testframework\testframework.ini"
-
--- a/loc_plat/location_centre_api/tsrc/inc/testlc.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,370 +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: Test Class which has the list of test cases
-*
-*/
-
-
-
-#ifndef TESTLC_H
-#define TESTLC_H
-
-// INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-
-
-// CONSTANTS
-// Logging path
-_LIT( KtestlcLogPath, "\\logs\\testframework\\testlc\\" );
-// Log file
-_LIT( KtestlcLogFile, "testlc.txt" );
-_LIT( KtestlcLogFileWithTitle, "testlc_[%S].txt" );
-
-// FORWARD DECLARATIONS
-class CTestLc;
-
-// CLASS DECLARATION
-
-/**
-* CTestLc test class for STIF Test Framework TestScripter.
-* This is the testclass for Location Centre API
-*
-* @lib testlbslocacquisition.lib
-* @since S60 v5.0
-*/
-NONSHARABLE_CLASS(CTestLc) : public CScriptBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CTestLc* NewL( CTestModuleIf& aTestModuleIf );
-
- /**
- * Destructor.
- */
- virtual ~CTestLc();
-
- public: // Functions from base classes
-
- /**
- * From CScriptBase Runs a script line.
- * @since S60 v5.0
- * @param aItem Script line containing method name and parameters
- * @return Symbian OS error code
- */
- virtual TInt RunMethodL( CStifItemParser& aItem );
-
- private:
-
- /**
- * C++ default constructor.
- */
- CTestLc( CTestModuleIf& aTestModuleIf );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- /**
- * Frees all resources allocated from test methods.
- * @since S60 v5.0
- */
- void Delete();
-
- /**
- * Test Case for Creating the new instance of CLcService
- * This will test for Successful Creation on NewL
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckServiceNewL( CStifItemParser& aItem );
-
- /**
- * Test Case for Creating the new instance of CLcService
- * This will test for Successful Creation on NewLC
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckServiceNewLC( CStifItemParser& aItem );
-
- /**
- * Test Case for Getting all the Location Applications
- * This will test for Successful Get.
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestGetLocationApplicationsL( CStifItemParser& aItem );
-
- /**
- * Test Case for Getting all the Location Applications Asynchronously.
- * This will test for Successful Get.
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestGetLocationApplicationsAsynL( CStifItemParser& aItem );
-
- /**
- * Test Case for Getting all the Location Applications using Filter.
- * This will test for Successful Get
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestGetLocationApplicationsFilterL( CStifItemParser& aItem );
-
- /**
- * Test Case for Getting all the Location Applications using Filter.
- * This will test for Successful Get
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestGetLocationApplicationsFilterAsynL( CStifItemParser& aItem );
-
- /**
- * Test Case for Setting and Removing the Observer.
- * This will test for Successful Set and Remove.
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestSetRemoveObserverL( CStifItemParser& aItem );
-
- /**
- * Test Case for Cancelling the GetLocationApplications request.
- * This will test for Successful Cancel
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestCancelGetLocationApplications( CStifItemParser& aItem );
-
- /**
- * Test Case for Creating new instance of CLcLaunchParam
- * This will test for Successful Create.
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestCLcLaunchParamNewL( CStifItemParser& aItem );
-
- /**
- * Test Case for Creating new instance of CLcLaunchParam
- * This will test for Successful Create.
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestCLcLaunchParamNewLC( CStifItemParser& aItem );
-//---------- appinfo
- /**
- * Method to Check the LocationApp Info NewL
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckNewL( CStifItemParser& aItem );
-
- /**
- * Method to Check the LocationApp Info NewLC
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckNewLC( CStifItemParser& aItem );
-
- /**
- * Method to Check the LocationApp Info NewLC
- * Copy Constructor
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckCopyNewL( CStifItemParser& aItem );
-
- /**
- * Method to Check the LocationApp Info NewLC
- * Copy Constructor
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckCopyNewLC( CStifItemParser& aItem );
-
- /**
- * Method to Check Id
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckId( CStifItemParser& aItem );
-
- /**
- * Method to Check Name
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckName( CStifItemParser& aItem );
-
- /**
- * Method to Check Launch Mode
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckLaunchMode( CStifItemParser& aItem );
-
- /**
- * Method to Check System Characteristics
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckSystemCharacteristics( CStifItemParser& aItem );
-
- /**
- * Method to Check Application Characteristics
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckApplicationCharacteristics( CStifItemParser& aItem );
-
-//-----------Array
- /**
- * Method to Check the Creation of AppInfo Array using NewL
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckArrayNewL( CStifItemParser& aItem );
-
- /**
- * Method to Check the Creation of AppInfo Array using NewLC
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckArrayNewLC( CStifItemParser& aItem );
-
- /**
- * Method to Check the Count of AppInfo Array
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckCount( CStifItemParser& aItem );
-
- /**
- * Method to Check the append to AppInfo Array
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckAppendL( CStifItemParser& aItem );
-
- /**
- * Method to Check the Remove from AppInfo Array
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckRemoveL( CStifItemParser& aItem );
-
- /**
- * Method to Check the Reset of AppInfo Array
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckResetL( CStifItemParser& aItem );
-
- /**
- * Method to Check the [] Operator of AppInfo Array
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckOperatorL( CStifItemParser& aItem );
-
-// ----- Filter
- /**
- * Method to Check Creation of TLcLocationAppFilter
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckTLcLocationAppFilter( CStifItemParser& aItem );
-
- /**
- * Method to Check set of FilterSystemCharacteristics
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckFilterSystemCharacteristics( CStifItemParser& aItem );
-
- /**
- * Method to Check set of FilterApplicationCharacteristics
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckFilterApplicationCharacteristics( CStifItemParser& aItem );
-
-
- /**
- * Method to Check set of SysCharFilterConfiguration
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckSysCharFilterConfiguration( CStifItemParser& aItem );
-
- /**
- * Method to Check set of AppCharFilterConfiguration
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckAppCharFilterConfiguration( CStifItemParser& aItem );
-
- private: // Data Members
-
-
- };
-
-#endif // TESTLC_H
-
-// End of File
--- a/loc_plat/location_centre_api/tsrc/inc/testlcservice.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +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: Test Class which has the list of test cases for CLcService
-*
-*/
-
-
-#ifndef CTESTLCSERVICE_H
-#define CTESTLCSERVICE_H
-
-// System Includes
-#include <StifLogger.h>
-#include <StifTestModule.h>
-#include <e32base.h>
-#include <e32std.h>
-#include <lcnotification.h>
-#include <lcappexitobserver.h>
-
-
-//Forward Declarations
-class CLcService;
-
-// Constants
-
-// CLASS DECLARATION
-/**
- * Test Class to invoke the CLcService methods
- *
- * This class is a helper class. The status variable of this active obect is
- * used to provide the asynchronous method Calls.
- *
- * @lib testlc.lib
- * @since S60 v5.0
- */
-
-class CTestLcService :public CActive, public MLcNotification, public MLcAppExitObserver
- {
- public: // Constructors and destructor
-
- /**
- * C++ default constructor.
- */
- CTestLcService(CStifLogger* aLog);
-
- /**
- * Destructor.
- */
- ~CTestLcService();
-
- public:
-
- //From CActive
- void RunL();
- void DoCancel();
- TInt RunError(TInt aError);
-
- // From MLcNotification
- void LcStatusChangedL( TInt aErrorCode );
-
- // From MLcAppExitObserver
- void HandleChainedLocationAppExitL( TInt aReason );
-
- /**
- * Test Case for Creating the new instance of CLcService
- * This will test for Successful Creation on NewL
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckServiceNewL();
-
- /**
- * Test Case for Creating the new instance of CLcService
- * This will test for Successful Creation on NewLC
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckServiceNewLC();
-
- /**
- * Test Case for Getting all the Location Applications
- * This will test for Successful Get.
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestGetLocationApplicationsL();
-
- /**
- * Test Case for Getting all the Location Applications Asynchronously.
- * This will test for Successful Get.
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestGetLocationApplicationsAsynL();
-
- /**
- * Test Case for Getting all the Location Applications using Filter.
- * This will test for Successful Get
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestGetLocationApplicationsFilterL();
-
- /**
- * Test Case for Getting all the Location Applications using Filter.
- * This will test for Successful Get
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestGetLocationApplicationsFilterAsynL();
-
- /**
- * Test Case for Setting and Removing the Observer.
- * This will test for Successful Set and Remove.
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestSetRemoveObserverL(TInt aObserverState);
-
- /**
- * Test Case for Cancelling the GetLocationApplications request.
- * This will test for Successful Cancel
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestCancelGetLocationApplications();
-
- /**
- * Test Case for Creating new instance of CLcLaunchParam
- * This will test for Successful Create.
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestCLcLaunchParamNewL();
-
- /**
- * Test Case for Creating new instance of CLcLaunchParam
- * This will test for Successful Create.
- *
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt TestCLcLaunchParamNewLC();
-
-
- private: //data
- /**
- * CLcService Instance
- */
- CLcService* iLcService;
-
- /**
- * Pointer to Stif Logger - Does not Own
- */
- CStifLogger* iLog;
-
- };
-
-#endif // CTESTLCSERVICE_H
-
-// End of File
--- a/loc_plat/location_centre_api/tsrc/inc/testlocationappfilter.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +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: Test Class which has the list of test cases for TLcLocationAppFilter
-*
-*/
-
-
-#ifndef CTESTLOCATIONAPPFILTER_H
-#define CTESTLOCATIONAPPFILTER_H
-
-// System Includes
-#include <StifLogger.h>
-#include <StifParser.h>
-#include <StifTestModule.h>
-#include <e32base.h>
-#include <e32std.h>
-#include <bautils.h>
-#include <f32file.h>
-
-// Constants
-
-// CLASS DECLARATION
-/**
- * Test Class For TLcLocationAppFilter
- *
- * This has TLcLocationAppFilter object which invokes TLcLocationAppFilter methods
- *
- * @lib testlc.lib
- * @since S60 v5.0
- */
-
-class CTestLocationAppFilter : public CBase
- {
- public:
-
- // Constructors and destructor
- /**
- * C++ default constructor.
- */
- CTestLocationAppFilter(CStifLogger* aLog);
-
- /**
- * Destructor.
- */
- ~CTestLocationAppFilter();
-
- public:
-
- // New functions
- /**
- * Method to Check Creation of TLcLocationAppFilter
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckTLcLocationAppFilter( );
-
- /**
- * Method to Check set of FilterSystemCharacteristics
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckFilterSystemCharacteristics( TInt aChoice );
-
- /**
- * Method to Check set of FilterApplicationCharacteristics
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckFilterApplicationCharacteristics( TInt aChoice );
-
- /**
- * Method to Check set of SysCharFilterConfiguration
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckSysCharFilterConfiguration( TInt aChoice );
-
- /**
- * Method to Check set of AppCharFilterConfiguration
- * @since S60 v5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckAppCharFilterConfiguration( TInt aChoice );
-
- private: //data
-
- /**
- * Pointer to Stif Logger - Does not Own
- */
- CStifLogger* iLog;
-
- };
-
-#endif // CTESTLOCATIONAPPFILTER_H
-
-// End of File
--- a/loc_plat/location_centre_api/tsrc/inc/testlocationappinfo.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +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: Test Class which has the list of test cases for CLcLocationAppInfo
-*
-*/
-
-
-#ifndef CTESTLOCATIONAPPINFO_H
-#define CTESTLOCATIONAPPINFO_H
-
-// System Includes
-#include <StifLogger.h>
-#include <StifParser.h>
-#include <StifTestModule.h>
-#include <e32base.h>
-#include <e32std.h>
-#include <bautils.h>
-#include <f32file.h>
-
-//Forward Declarations
-class CLcLocationAppInfo;
-
-// Constants
-
-// CLASS DECLARATION
-/**
- * Test Class For CLcLocationAppInfo
- *
- * This has CLcLocationAppInfo object which invokes CLcLocationAppInfo methods
- *
- * @lib testlc.lib
- * @since S60 v5.0
- */
-
-class CTestLocationAppInfo : public CBase
- {
- public:
-
- // Constructors and destructor
- /**
- * C++ default constructor.
- */
- CTestLocationAppInfo(CStifLogger* aLog);
-
- /**
- * Destructor.
- */
- ~CTestLocationAppInfo();
-
- public:
-
- // New functions
- /**
- * Method to Check the LocationApp Info NewL
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckNewL( );
-
- /**
- * Method to Check the LocationApp Info NewLC
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckNewLC( );
-
- /**
- * Method to Check the LocationApp Info NewLC
- * Copy Constructor
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckCopyNewL( );
-
- /**
- * Method to Check the LocationApp Info NewLC
- * Copy Constructor
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckCopyNewLC( );
-
- /**
- * Method to Check Id
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckId( );
-
- /**
- * Method to Check Name
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckName( );
-
- /**
- * Method to Check Launch Mode
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckLaunchMode( );
-
- /**
- * Method to Check System Characteristics
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckSystemCharacteristics( );
-
- /**
- * Method to Check Application Characteristics
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckApplicationCharacteristics( );
-
- private: //data
- /**
- * CLcLocationAppInfo Instance
- */
- CLcLocationAppInfo* iLcLocationAppInfo;
-
- /**
- * Pointer to Stif Logger - Does not Own
- */
- CStifLogger* iLog;
-
- };
-
-#endif // CTESTLOCATIONAPPINFO_H
-
-// End of File
--- a/loc_plat/location_centre_api/tsrc/inc/testlocationappinfoarray.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +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: Test Class which has the list of test cases for CLcLocationAppInfo
-*
-*/
-
-
-#ifndef CTestLocationAppInfoArray_H
-#define CTestLocationAppInfoArray_H
-
-// System Includes
-#include <StifLogger.h>
-#include <StifParser.h>
-#include <StifTestModule.h>
-#include <e32base.h>
-#include <e32std.h>
-#include <bautils.h>
-#include <f32file.h>
-
-//Forward Declarations
-class CLcLocationAppInfoArray;
-
-// Constants
-
-// CLASS DECLARATION
-/**
- * Test Class For CLcLocationAppInfo
- *
- * This has CLcLocationAppInfo object which invokes CLcLocationAppInfo methods
- *
- * @lib testlc.lib
- * @since S60 v5.0
- */
-
-class CTestLocationAppInfoArray : public CBase
- {
- public:
-
- // Constructors and destructor
- /**
- * C++ default constructor.
- */
- CTestLocationAppInfoArray(CStifLogger* aLog);
-
- /**
- * Destructor.
- */
- ~CTestLocationAppInfoArray();
-
- public:
-
- // New functions
- /**
- * Method to Check the Creation of AppInfo Array using NewL
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckArrayNewL( );
-
- /**
- * Method to Check the Creation of AppInfo Array using NewLC
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckArrayNewLC( );
-
- /**
- * Method to Check the Count of AppInfo Array
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckCount( );
-
- /**
- * Method to Check the append to AppInfo Array
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckAppendL( );
-
- /**
- * Method to Check the Remove from AppInfo Array
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckRemoveL( );
-
- /**
- * Method to Check the Reset of AppInfo Array
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckResetL( );
-
- /**
- * Method to Check the [] Operator of AppInfo Array
- * @since S60 5.0
- * Returns KErrNone if successful.
- *
- */
- TInt CheckOperatorL( );
-
- private: //data
- /**
- * CLcLocationAppInfo Instance
- */
- CLcLocationAppInfoArray* iLcLocationAppInfoArray;
-
- /**
- * Pointer to Stif Logger - Does not Own
- */
- CStifLogger* iLog;
-
- };
-
-#endif // CTestLocationAppInfoArray_H
-
-// End of File
--- a/loc_plat/location_centre_api/tsrc/init/testframework.ini Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-#
-# This is STIFTestFramework initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-# - Set Test Reporting mode. TestReportMode's possible values are:
-# + 'Summary': Summary of the tested test cases.
-# + 'Environment': Hardware and software info.
-# + 'TestCases': Test case report.
-# + 'FullReport': Set of all above ones.
-# + Example 'TestReportMode= Summary TestCases'
-#
-# - CreateTestReport setting controls report creation mode
-# + YES, Test report will created.
-# + NO, No Test report.
-#
-# - File path indicates the base path of the test report.
-# - File name indicates the name of the test report.
-#
-# - File format indicates the type of the test report.
-# + TXT, Test report file will be txt type, for example 'TestReport.txt'.
-# + HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# - File output indicates output source of the test report.
-# + FILE, Test report logging to file.
-# + RDEBUG, Test report logging to using rdebug.
-#
-# - File Creation Mode indicates test report overwriting if file exist.
-# + OVERWRITE, Overwrites if the Test report file exist.
-# + APPEND, Continue logging after the old Test report information if
-# report exist.
-# - Sets a device reset module's dll name(Reboot).
-# + If Nokia specific reset module is not available or it is not correct one
-# StifHWResetStub module may use as a template for user specific reset
-# module.
-
-[Engine_Defaults]
-
-TestReportMode= FullReport # Possible values are: 'Empty', 'Summary', 'Environment',
- 'TestCases' or 'FullReport'
-
-CreateTestReport= YES # Possible values: YES or NO
-
-TestReportFilePath= C:\LOGS\TestFramework\
-TestReportFileName= TestReport
-
-TestReportFormat= TXT # Possible values: TXT or HTML
-TestReportOutput= FILE # Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-#[New_Module]
-#ModuleName= demomodule
-#[End_Module]
-
-[New_Module]
-ModuleName= TestScripter
-TestCaseFile= C:\Testframework\testlc.cfg
-[End_Module]
-
-# Load testmoduleXXX, optionally with initialization file and/or test case files
-#[New_Module]
-#ModuleName= testmodulexxx
-
-#TestModuleXXX used initialization file
-#IniFile= c:\testframework\init.txt
-
-#TestModuleXXX used configuration file(s)
-#TestCaseFile= c:\testframework\testcases1.cfg
-#TestCaseFile= c:\testframework\testcases2.cfg
-#TestCaseFile= c:\testframework\manualtestcases.cfg
-
-#[End_Module]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIFTestFramework logging overwrite parameters for Logger.
-# Hardware and emulator environment logging path and styles can
-# be configured from here to overwrite the Logger's implemented values.
-#
-# Settings description:
-# - Indicates option for creation log directory/directories. If log directory/directories
-# is/are not created by user they will make by software.
-# + YES, Create log directory/directories if not allready exist.
-# + NO, Log directory/directories not created. Only created one is used.
-#
-# - Overwrite emulator path setting.
-# + Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined
-# Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-# will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-# - Overwrite emulator's logging format.
-# + TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-# + HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-# - Overwrited emulator logging output source.
-# + FILE, Logging to file(s).
-# + RDEBUG, Logging to using rdebug(s).
-#
-# - Overwrite hardware path setting (Same description as above in emulator path).
-# - Overwrite hardware's logging format(Same description as above in emulator format).
-# - Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-# - File Creation Mode indicates file overwriting if file exist.
-# + OVERWRITE, Overwrites if file(s) exist.
-# + APPEND, Continue logging after the old logging information if file(s) exist.
-#
-# - Will thread id include to the log filename.
-# + YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-# + NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-# - Will time stamps include the to log file.
-# + YES, Time stamp added to each line in log file(s). Time stamp is
-# for example'12.Nov.2003 115958 LOGGING INFO'
-# + NO, No time stamp(s).
-#
-# - Will line breaks include to the log file.
-# + YES, Each logging event includes line break and next log event is in own line.
-# + NO, No line break(s).
-#
-# - Will event ranking include to the log file.
-# + YES, Event ranking number added to each line in log file(s). Ranking number
-# depends on environment's tics, for example(includes time stamp also)
-# '012 12.Nov.2003 115958 LOGGING INFO'
-# + NO, No event ranking.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#'
-
-#CreateLogDirectories= YES # Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML # Possible values: TXT or HTML
-#EmulatorOutput= FILE # Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML # Possible values: TXT or HTML
-#HardwareOutput= FILE # Possible values: FILE or RDEBUG
-
-#FileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES # Possible values: YES or NO
-#WithTimeStamp= YES # Possible values: YES or NO
-#WithLineBreak= YES # Possible values: YES or NO
-#WithEventRanking= YES # Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
--- a/loc_plat/location_centre_api/tsrc/src/testlc.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +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: Test Class which has the list of test cases
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <Stiftestinterface.h>
-#include "testlc.h"
-#include <SettingServerClient.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CTestLc::CTestLc
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CTestLc::CTestLc(
- CTestModuleIf& aTestModuleIf ):
- CScriptBase( aTestModuleIf )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CTestLc::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CTestLc::ConstructL()
- {
- //Read logger settings to check whether test case name is to be
- //appended to log file name.
- RSettingServer settingServer;
- TInt ret = settingServer.Connect();
- if(ret != KErrNone)
- {
- User::Leave(ret);
- }
- // Struct to StifLogger settigs.
- TLoggerSettings loggerSettings;
- // Parse StifLogger defaults from STIF initialization file.
- ret = settingServer.GetLoggerSettings(loggerSettings);
- if(ret != KErrNone)
- {
- User::Leave(ret);
- }
- // Close Setting server session
- settingServer.Close();
-
- TFileName logFileName;
-
- if(loggerSettings.iAddTestCaseTitle)
- {
- TName title;
- TestModuleIf().GetTestCaseTitleL(title);
- logFileName.Format(KtestlcLogFileWithTitle, &title);
- }
- else
- {
- logFileName.Copy(KtestlcLogFile);
- }
-
- iLog = CStifLogger::NewL( KtestlcLogPath,
- logFileName,
- CStifLogger::ETxt,
- CStifLogger::EFile,
- EFalse );
-
- }
-
-// -----------------------------------------------------------------------------
-// CTestLc::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CTestLc* CTestLc::NewL(
- CTestModuleIf& aTestModuleIf )
- {
- CTestLc* self = new (ELeave) CTestLc( aTestModuleIf );
-
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
-
- return self;
-
- }
-
-// Destructor
-CTestLc::~CTestLc()
- {
-
- // Delete resources allocated from test methods
- Delete();
-
- // Delete logger
- delete iLog;
-
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point.
-// Returns: CScriptBase: New CScriptBase derived object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL(
- CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
- {
-
- return ( CScriptBase* ) CTestLc::NewL( aTestModuleIf );
-
- }
-
-
-// End of File
--- a/loc_plat/location_centre_api/tsrc/src/testlcblocks.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,589 +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: Test Class which has the list of test cases
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <e32svr.h>
-#include <StifParser.h>
-#include <Stiftestinterface.h>
-
-#include "testlc.h"
-#include "testlcservice.h"
-#include "testlocationappinfo.h"
-#include "testlocationappfilter.h"
-#include "testlocationappinfoarray.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CTestLc::Delete
-// Delete here all resources allocated and opened from test methods.
-// Called from destructor.
-// -----------------------------------------------------------------------------
-//
-void CTestLc::Delete()
- {
-
- }
-
-// -----------------------------------------------------------------------------
-// CTestLc::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt CTestLc::RunMethodL(
- CStifItemParser& aItem )
- {
-
- static TStifFunctionInfo const KFunctions[] =
- {
- ENTRY( "CheckServiceNewL", CTestLc::CheckServiceNewL ),
- ENTRY( "CheckServiceNewLC", CTestLc::CheckServiceNewLC ),
- ENTRY( "TestGetLocationApplicationsL", CTestLc::TestGetLocationApplicationsL ),
- ENTRY( "TestGetLocationApplicationsAsynL", CTestLc::TestGetLocationApplicationsAsynL ),
- ENTRY( "TestGetLocationApplicationsFilterL", CTestLc::TestGetLocationApplicationsFilterL ),
- ENTRY( "TestGetLocationApplicationsFilterAsynL", CTestLc::TestGetLocationApplicationsFilterAsynL ),
- ENTRY( "TestSetRemoveObserverL", CTestLc::TestSetRemoveObserverL ),
- ENTRY( "TestCancelGetLocationApplications", CTestLc::TestCancelGetLocationApplications ),
- ENTRY( "TestCLcLaunchParamNewL", CTestLc::TestCLcLaunchParamNewL ),
- ENTRY( "TestCLcLaunchParamNewLC", CTestLc::TestCLcLaunchParamNewLC ),
-
- ENTRY( "CheckNewL", CTestLc::CheckNewL ),
- ENTRY( "CheckNewLC", CTestLc::CheckNewLC ),
- ENTRY( "CheckCopyNewL", CTestLc::CheckCopyNewL ),
- ENTRY( "CheckCopyNewLC", CTestLc::CheckCopyNewLC ),
- ENTRY( "CheckId", CTestLc::CheckId ),
- ENTRY( "CheckName", CTestLc::CheckName ),
- ENTRY( "CheckLaunchMode", CTestLc::CheckLaunchMode ),
- ENTRY( "CheckSystemCharacteristics", CTestLc::CheckSystemCharacteristics ),
- ENTRY( "CheckApplicationCharacteristics", CTestLc::CheckApplicationCharacteristics ),
-
- ENTRY( "CheckArrayNewL", CTestLc::CheckArrayNewL ),
- ENTRY( "CheckArrayNewLC", CTestLc::CheckArrayNewLC ),
- ENTRY( "CheckCount", CTestLc::CheckCount ),
- ENTRY( "CheckAppendL", CTestLc::CheckAppendL ),
- ENTRY( "CheckRemoveL", CTestLc::CheckRemoveL ),
- ENTRY( "CheckResetL", CTestLc::CheckResetL ),
- ENTRY( "CheckOperatorL", CTestLc::CheckOperatorL ),
-
- ENTRY( "CheckTLcLocationAppFilter", CTestLc::CheckTLcLocationAppFilter ),
- ENTRY( "CheckFilterSystemCharacteristics", CTestLc::CheckFilterSystemCharacteristics ),
- ENTRY( "CheckFilterApplicationCharacteristics", CTestLc::CheckFilterApplicationCharacteristics ),
- ENTRY( "CheckSysCharFilterConfiguration", CTestLc::CheckSysCharFilterConfiguration ),
- ENTRY( "CheckAppCharFilterConfiguration", CTestLc::CheckAppCharFilterConfiguration ),
-
-
- //ADD NEW ENTRY HERE
-
- };
-
- const TInt count = sizeof( KFunctions ) /
- sizeof( TStifFunctionInfo );
-
- return RunInternalL( KFunctions, count, aItem );
-
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckServiceNewL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckServiceNewL( CStifItemParser& /*aItem*/ )
- {
- CTestLcService* testLcService = new(ELeave)
- CTestLcService(iLog);
- TInt err = testLcService->CheckServiceNewL();
- delete testLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckServiceNewLC
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckServiceNewLC( CStifItemParser& /*aItem*/ )
- {
- CTestLcService* testLcService = new(ELeave)
- CTestLcService(iLog);
- TInt err = testLcService->CheckServiceNewLC();
- delete testLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestGetLocationApplicationsL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::TestGetLocationApplicationsL( CStifItemParser& /*aItem*/ )
- {
- CTestLcService* testLcService = new(ELeave)
- CTestLcService(iLog);
- TInt err = testLcService->TestGetLocationApplicationsL();
- delete testLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestGetLocationApplicationsAsynL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::TestGetLocationApplicationsAsynL( CStifItemParser& /*aItem*/ )
- {
- CTestLcService* testLcService = new(ELeave)
- CTestLcService(iLog);
- TInt err = testLcService->TestGetLocationApplicationsAsynL();
- delete testLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestGetLocationApplicationsFilterL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::TestGetLocationApplicationsFilterL( CStifItemParser& /*aItem*/ )
- {
- CTestLcService* testLcService = new(ELeave)
- CTestLcService(iLog);
- TInt err = testLcService->TestGetLocationApplicationsFilterL();
- delete testLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestGetLocationApplicationsFilterAsynL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::TestGetLocationApplicationsFilterAsynL( CStifItemParser& /*aItem*/ )
- {
- CTestLcService* testLcService = new(ELeave)
- CTestLcService(iLog);
- TInt err = testLcService->TestGetLocationApplicationsFilterAsynL();
- delete testLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestSetRemoveObserverL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::TestSetRemoveObserverL( CStifItemParser& aItem )
- {
- TInt choice;
- User::LeaveIfError(aItem.GetNextInt(choice));
-
- CTestLcService* testLcService = new(ELeave)
- CTestLcService(iLog);
- TInt err = testLcService->TestSetRemoveObserverL(choice);
- delete testLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestCancelGetLocationApplications
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::TestCancelGetLocationApplications( CStifItemParser& /*aItem*/ )
- {
- CTestLcService* testLcService = new(ELeave)
- CTestLcService(iLog);
- TInt err = testLcService->TestCancelGetLocationApplications();
- delete testLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestCLcLaunchParamNewL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::TestCLcLaunchParamNewL( CStifItemParser& /*aItem*/ )
- {
- CTestLcService* testLcService = new(ELeave)
- CTestLcService(iLog);
- TInt err = testLcService->TestCLcLaunchParamNewL();
- delete testLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestCLcLaunchParamNewLC
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::TestCLcLaunchParamNewLC( CStifItemParser& /*aItem*/ )
- {
- CTestLcService* testLcService = new(ELeave)
- CTestLcService(iLog);
- TInt err = testLcService->TestCLcLaunchParamNewLC();
- delete testLcService;
- return err;
- }
-
-//-------------------Info
-
-// ---------------------------------------------------------
-// CTestLc::CheckNewL
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckNewL( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfo* testLocationAppInfo = new(ELeave)
- CTestLocationAppInfo(iLog);
- TInt err = testLocationAppInfo->CheckNewL();
- delete testLocationAppInfo;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckNewLC
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckNewLC( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfo* testLocationAppInfo = new(ELeave)
- CTestLocationAppInfo(iLog);
- TInt err = testLocationAppInfo->CheckNewLC();
- delete testLocationAppInfo;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckCopyNewL
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckCopyNewL( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfo* testLocationAppInfo = new(ELeave)
- CTestLocationAppInfo(iLog);
- TInt err = testLocationAppInfo->CheckCopyNewL();
- delete testLocationAppInfo;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckCopyNewLC
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckCopyNewLC( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfo* testLocationAppInfo = new(ELeave)
- CTestLocationAppInfo(iLog);
- TInt err = testLocationAppInfo->CheckCopyNewLC();
- delete testLocationAppInfo;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckId
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckId( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfo* testLocationAppInfo = new(ELeave)
- CTestLocationAppInfo(iLog);
- TInt err = testLocationAppInfo->CheckId();
- delete testLocationAppInfo;
- return err;
- }
-
-
-// ---------------------------------------------------------
-// CTestLc::CheckName
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckName( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfo* testLocationAppInfo = new(ELeave)
- CTestLocationAppInfo(iLog);
- TInt err = testLocationAppInfo->CheckName();
- delete testLocationAppInfo;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckLaunchMode
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckLaunchMode( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfo* testLocationAppInfo = new(ELeave)
- CTestLocationAppInfo(iLog);
- TInt err = testLocationAppInfo->CheckLaunchMode();
- delete testLocationAppInfo;
- return err;
- }
-
-
-// ---------------------------------------------------------
-// CTestLc::CheckSystemCharacteristics
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckSystemCharacteristics( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfo* testLocationAppInfo = new(ELeave)
- CTestLocationAppInfo(iLog);
- TInt err = testLocationAppInfo->CheckSystemCharacteristics();
- delete testLocationAppInfo;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckApplicationCharacteristics
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckApplicationCharacteristics( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfo* testLocationAppInfo = new(ELeave)
- CTestLocationAppInfo(iLog);
- TInt err = testLocationAppInfo->CheckApplicationCharacteristics();
- delete testLocationAppInfo;
- return err;
- }
-
-//-------------------Array
-
-// ---------------------------------------------------------
-// CTestLc::CheckArrayNewL
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckArrayNewL( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfoArray* testLocationAppInfoArray = new(ELeave)
- CTestLocationAppInfoArray(iLog);
- TInt err = testLocationAppInfoArray->CheckArrayNewL();
- delete testLocationAppInfoArray;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckArrayNewLC
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckArrayNewLC( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfoArray* testLocationAppInfoArray = new(ELeave)
- CTestLocationAppInfoArray(iLog);
- TInt err = testLocationAppInfoArray->CheckArrayNewLC();
- delete testLocationAppInfoArray;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckCount
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckCount( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfoArray* testLocationAppInfoArray = new(ELeave)
- CTestLocationAppInfoArray(iLog);
- TInt err = testLocationAppInfoArray->CheckCount();
- delete testLocationAppInfoArray;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckAppendL
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckAppendL( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfoArray* testLocationAppInfoArray = new(ELeave)
- CTestLocationAppInfoArray(iLog);
- TInt err = testLocationAppInfoArray->CheckAppendL();
- delete testLocationAppInfoArray;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckRemoveL
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckRemoveL( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfoArray* testLocationAppInfoArray = new(ELeave)
- CTestLocationAppInfoArray(iLog);
- TInt err = testLocationAppInfoArray->CheckRemoveL();
- delete testLocationAppInfoArray;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckResetL
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckResetL( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfoArray* testLocationAppInfoArray = new(ELeave)
- CTestLocationAppInfoArray(iLog);
- TInt err = testLocationAppInfoArray->CheckResetL();
- delete testLocationAppInfoArray;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckOperatorL
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckOperatorL( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppInfoArray* testLocationAppInfoArray = new(ELeave)
- CTestLocationAppInfoArray(iLog);
- TInt err = testLocationAppInfoArray->CheckOperatorL();
- delete testLocationAppInfoArray;
- return err;
- }
-
-//-----------Filter
-// ---------------------------------------------------------
-// CTestLc::CheckTLcLocationAppFilter
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckTLcLocationAppFilter( CStifItemParser& /*aItem*/ )
- {
- CTestLocationAppFilter* testLocationAppFilter = new(ELeave)
- CTestLocationAppFilter(iLog);
- TInt err = testLocationAppFilter->CheckTLcLocationAppFilter( );
- delete testLocationAppFilter;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckFilterSystemCharacteristics
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckFilterSystemCharacteristics( CStifItemParser& aItem )
- {
- TInt choice;
- User::LeaveIfError(aItem.GetNextInt(choice));
-
- CTestLocationAppFilter* testLocationAppFilter = new(ELeave)
- CTestLocationAppFilter(iLog);
- TInt err = testLocationAppFilter->CheckFilterSystemCharacteristics( choice );
- delete testLocationAppFilter;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckFilterApplicationCharacteristics
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckFilterApplicationCharacteristics( CStifItemParser& aItem )
- {
- TInt choice;
- User::LeaveIfError(aItem.GetNextInt(choice));
-
- CTestLocationAppFilter* testLocationAppFilter = new(ELeave)
- CTestLocationAppFilter(iLog);
- TInt err = testLocationAppFilter->CheckFilterApplicationCharacteristics( choice );
- delete testLocationAppFilter;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckSysCharFilterConfiguration
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckSysCharFilterConfiguration( CStifItemParser& aItem )
- {
- TInt choice;
- User::LeaveIfError(aItem.GetNextInt(choice));
-
- CTestLocationAppFilter* testLocationAppFilter = new(ELeave)
- CTestLocationAppFilter(iLog);
- TInt err = testLocationAppFilter->CheckSysCharFilterConfiguration( choice );
- delete testLocationAppFilter;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLc::CheckAppCharFilterConfiguration
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLc::CheckAppCharFilterConfiguration( CStifItemParser& aItem )
- {
- TInt choice;
- User::LeaveIfError(aItem.GetNextInt(choice));
-
- CTestLocationAppFilter* testLocationAppFilter = new(ELeave)
- CTestLocationAppFilter(iLog);
- TInt err = testLocationAppFilter->CheckAppCharFilterConfiguration( choice );
- delete testLocationAppFilter;
- return err;
- }
-
-// End of File
--- a/loc_plat/location_centre_api/tsrc/src/testlcservice.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,400 +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: Test Class which has the list of test cases for CLcService
-*
-*/
-
-
-// System Includes
-#include <lcservice.h>
-
-// User Includes
-#include "testlcservice.h"
-
-
-// Constant Declarations
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ Default Constructor
-// ---------------------------------------------------------------------------
-//
-CTestLcService::CTestLcService(CStifLogger* aLog)
- :CActive(0),iLog(aLog)
- {
- CActiveScheduler::Add(this);
- }
-
-// ---------------------------------------------------------------------------
-// C++ Destructor
-// ---------------------------------------------------------------------------
-//
-CTestLcService::~CTestLcService()
- {
- if( IsActive() )
- {
- Cancel();
- }
- }
-
-// ---------------------------------------------------------
-// CTestLcService::RunL
-//
-// RunL to Handle Completed Request
-// ---------------------------------------------------------
-//
-void CTestLcService::RunL()
- {
- if(iStatus != KErrCancel)
- {
- iLog->Log(_L("RunL %d"),iStatus.Int());
- CActiveScheduler::Stop();
- }
- }
-
-// ---------------------------------------------------------
-// CTestLcService::DoCancel
-//
-// To Handle Cancel Request
-// ---------------------------------------------------------
-//
-void CTestLcService::DoCancel()
- {
- iLcService->CancelGetLocationApplications();
- iLog->Log(_L("CancelL Done"));
-
- }
-
-// ---------------------------------------------------------
-// CTestLcService::RunError
-//
-// To Handle Error in RunL
-// ---------------------------------------------------------
-//
-TInt CTestLcService::RunError(TInt aError)
- {
- iLog->Log(_L("Leave in RunError %d"),aError);
- CActiveScheduler::Stop();
- return KErrNone;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::LcStatusChangedL
-//
-// ---------------------------------------------------------
-//
-void CTestLcService::LcStatusChangedL( TInt /*aErrorCode*/ )
- {
- // No implementation
- }
-
-// ---------------------------------------------------------
-// CTestLcService::HandleChainedLocationAppExitL
-//
-// ---------------------------------------------------------
-//
-void CTestLcService::HandleChainedLocationAppExitL( TInt aReason )
- {
- iLog->Log(_L("In HandleChainedLocationAppExitL returned with : %d"), aReason);
- }
-
-// ---------------------------------------------------------
-// CTestLcService::CheckServiceNewL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLcService::CheckServiceNewL()
- {
- TInt err = KErrNone;
- TRAP(err, iLcService = CLcService::NewL());
- iLog->Log(_L("CheckServiceNewL return - %d"),err);
- delete iLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::CheckServiceNewLC
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLcService::CheckServiceNewLC()
- {
- TInt err = KErrNone;
- TRAP(err, iLcService = CLcService::NewLC();
- CleanupStack::Pop(iLcService));
- iLog->Log(_L("CheckServiceNewLC return - %d"),err);
- delete iLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestGetLocationApplicationsL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLcService::TestGetLocationApplicationsL()
- {
- TInt err = KErrNone;
- iLcService = CLcService::NewL();
- CLcLocationAppInfoArray* array = iLcService->GetLocationApplicationsL( );
- TInt countItems = array->Count( );
- CLcLocationAppInfo& info1 =(*array)[countItems - 1];
-
- TPtrC name1 = info1.Name( );
- TPtrC id1 = info1.Id( );
-
- if( 0 == name1.Compare(_L("Positioning settings")) &&
- 0 == id1.Compare(_L("1028313B")) &&
- CLcLocationAppInfo::EChainedMode == info1.LaunchMode() &&
- CLcLocationAppInfo::ESysCharRomBased == info1.SystemCharacteristics() &&
- CLcLocationAppInfo::EAppCharSettings == info1.ApplicationCharacteristics() )
- {
- iLog->Log(_L("TestGetLocationApplicationsL Passed"));
- }
- else
- {
- err = KErrGeneral;
- iLog->Log(_L("TestGetLocationApplicationsL Failed"));
- }
-
- array->Remove(countItems - 1);
- array->Reset();
-
- delete array;
- delete iLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestGetLocationApplicationsAsynL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLcService::TestGetLocationApplicationsAsynL()
- {
- TInt err = KErrNone;
- iLcService = CLcService::NewL();
- CLcLocationAppInfoArray* array;
- iLcService->GetLocationApplications( iStatus, array );
- SetActive();
- CActiveScheduler::Start();
-
- TInt countItems = array->Count( );
- CLcLocationAppInfo& info1 =(*array)[countItems - 1];
-
- TPtrC name1 = info1.Name( );
- TPtrC id1 = info1.Id( );
-
- if( 0 == name1.Compare(_L("Positioning settings")) &&
- 0 == id1.Compare(_L("1028313B")) &&
- CLcLocationAppInfo::EChainedMode == info1.LaunchMode() &&
- CLcLocationAppInfo::ESysCharRomBased == info1.SystemCharacteristics() &&
- CLcLocationAppInfo::EAppCharSettings == info1.ApplicationCharacteristics() )
- {
- iLog->Log(_L("TestGetLocationApplicationsL Passed"));
- }
- else
- {
- err = KErrGeneral;
- iLog->Log(_L("TestGetLocationApplicationsL Failed"));
- }
-
- delete array;
- delete iLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestGetLocationApplicationsFilterL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLcService::TestGetLocationApplicationsFilterL()
- {
- TInt err = KErrNone;
- iLcService = CLcService::NewL();
- TLcLocationAppFilter filter;
- filter.SetApplicationCharacteristics( CLcLocationAppInfo::EAppCharSettings );
- filter.SetSystemCharacteristic( CLcLocationAppInfo::ESysCharRomBased );
- filter.SetAppCharFilterConfiguration( TLcLocationAppFilter::EFilterStrict );
- filter.SetSysCharFilterConfiguration( TLcLocationAppFilter::EFilterStrict );
-
- CLcLocationAppInfoArray* array=iLcService->GetLocationApplicationsL(filter);
-
- TInt countItems = array->Count( );
- CLcLocationAppInfo& info1 =(*array)[countItems - 1];
-
- TPtrC name1 = info1.Name( );
- TPtrC id1 = info1.Id( );
-
- if( 0 == name1.Compare(_L("Positioning settings")) &&
- 0 == id1.Compare(_L("1028313B")) )
- {
- iLog->Log(_L("TestGetLocationApplicationsFilterL Passed"));
- }
- else
- {
- err = KErrGeneral;
- iLog->Log(_L("TestGetLocationApplicationsFilterL Failed"));
- }
-
- delete array;
- delete iLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestGetLocationApplicationsFilterAsynL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLcService::TestGetLocationApplicationsFilterAsynL()
- {
- TInt err = KErrNone;
- iLcService = CLcService::NewL();
- TLcLocationAppFilter filter;
- filter.SetApplicationCharacteristics( CLcLocationAppInfo::EAppCharSettings );
- filter.SetSystemCharacteristic( CLcLocationAppInfo::ESysCharRomBased );
- filter.SetAppCharFilterConfiguration( TLcLocationAppFilter::EFilterStrict );
- filter.SetSysCharFilterConfiguration( TLcLocationAppFilter::EFilterStrict );
-
- CLcLocationAppInfoArray* array;
- iLcService->GetLocationApplications(iStatus, filter, array);
-
- SetActive();
- CActiveScheduler::Start();
-
- TInt countItems = array->Count( );
- CLcLocationAppInfo& info1 =(*array)[countItems - 1];
-
- TPtrC name1 = info1.Name( );
- TPtrC id1 = info1.Id( );
-
- iLog->Log(_L("countItems = %d"), countItems);
-
- if( 0 == name1.Compare(_L("Positioning settings")) &&
- 0 == id1.Compare(_L("1028313B")) )
- {
- iLog->Log(_L("TestGetLocationApplicationsFilterL Passed"));
- }
- else
- {
- err = KErrGeneral;
- iLog->Log(_L("TestGetLocationApplicationsFilterL Failed"));
- }
-
- delete array;
- delete iLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestSetRemoveObserverL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLcService::TestSetRemoveObserverL(TInt aObserverState)
- {
- TInt err = KErrNone;
- iLcService = CLcService::NewL();
-
- if( 1 == aObserverState )
- iLcService->SetObserverL(*this);
-
- err = iLcService->RemoveObserver();
-
- if( KErrNone == err )
- {
- iLog->Log(_L("TestSetRemoveObserverL Passed with %d"), err);
- }
- else
- {
- iLog->Log(_L("TestSetRemoveObserverL Failed with %d"), err);
- }
-
- delete iLcService;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestCancelGetLocationApplications
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLcService::TestCancelGetLocationApplications()
- {
- iLcService = CLcService::NewL();
- CLcLocationAppInfoArray* array;
- iLcService->GetLocationApplications( iStatus, array );
- SetActive();
-
- Cancel();
-
- iLog->Log(_L("In TestCancelGetLocationApplications: returned with : %d"), iStatus.Int());
-
- delete iLcService;
- return iStatus.Int();
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestCLcLaunchParamNewL
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLcService::TestCLcLaunchParamNewL()
- {
- TInt err = KErrNone;
- CLcService::CLcLaunchParam* lcLaunchParam;
- TBuf<128> buf;
-
- TRAP(err, lcLaunchParam = CLcService::CLcLaunchParam::NewL(buf));
-
- iLog->Log(_L("CheckNewL return with %d"), err);
-
- delete lcLaunchParam;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLcService::TestCLcLaunchParamNewLC
-//
-// (other items are commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLcService::TestCLcLaunchParamNewLC()
- {
- TInt err = KErrNone;
- CLcService::CLcLaunchParam* lcLaunchParam;
- TBuf<128> buf;
-
- TRAP(err, lcLaunchParam = CLcService::CLcLaunchParam::NewLC(buf);
- CleanupStack::Pop(lcLaunchParam));
-
- iLog->Log(_L("CheckNewLC return with %d"), err);
-
- delete lcLaunchParam;
- return err;
- }
-
--- a/loc_plat/location_centre_api/tsrc/src/testlocationappfilter.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +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: Test Class which has the list of test cases for TLcLocationAppFilter
-*
-*/
-
-
-// System Includes
-#include <lclocationappfilter.h>
-#include <lclocationappinfo.h>
-
-// User Includes
-#include "testlocationappfilter.h"
-
-
-// Constant Declarations
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ Default Constructor
-// ---------------------------------------------------------------------------
-//
-CTestLocationAppFilter::CTestLocationAppFilter(CStifLogger* aLog)
- : iLog(aLog)
- {
-
- }
-
-// ---------------------------------------------------------------------------
-// C++ Destructor
-// ---------------------------------------------------------------------------
-//
-CTestLocationAppFilter::~CTestLocationAppFilter()
- {
-
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppFilter::CheckTLcLocationAppFilter
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppFilter::CheckTLcLocationAppFilter( )
- {
- TInt err = KErrNone;
- TLcLocationAppFilter lcLocationAppFilter;
-
- if( CLcLocationAppInfo::ESysCharNone == lcLocationAppFilter.SystemCharacteristics() &&
- CLcLocationAppInfo::EAppCharNone == lcLocationAppFilter.ApplicationCharacteristics() &&
- TLcLocationAppFilter::EFilterStrict == lcLocationAppFilter.SysCharFilterConfiguration() &&
- TLcLocationAppFilter::EFilterStrict == lcLocationAppFilter.AppCharFilterConfiguration() )
- {
- iLog->Log(_L("TestGetLocationApplicationsL Passed"));
- }
- else
- {
- err = KErrGeneral;
- iLog->Log(_L("TestGetLocationApplicationsL Failed"));
- }
-
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppFilter::CheckFilterSystemCharacteristics
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppFilter::CheckFilterSystemCharacteristics( TInt aChoice )
- {
- TInt err = KErrNone;
- TLcLocationAppFilter lcLocationAppFilter;
-
- switch(static_cast<CLcLocationAppInfo::TLcSystemCharacteristics>(aChoice))
- {
- case CLcLocationAppInfo::ESysCharNone:
- if( (KErrNone != (err=lcLocationAppFilter.SetSystemCharacteristic(CLcLocationAppInfo::ESysCharNone))) &&
- (CLcLocationAppInfo::ESysCharNone != lcLocationAppFilter.SystemCharacteristics()) )
- err = KErrArgument;
- break;
- default:
- if( (KErrNone != (err=lcLocationAppFilter.SetSystemCharacteristic(CLcLocationAppInfo::ESysCharRomBased))) &&
- (CLcLocationAppInfo::ESysCharRomBased != lcLocationAppFilter.SystemCharacteristics()) )
- err = KErrArgument;
- }
-
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppFilter::CheckFilterApplicationCharacteristics
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppFilter::CheckFilterApplicationCharacteristics( TInt aChoice )
- {
- TInt err = KErrNone;
- TLcLocationAppFilter lcLocationAppFilter;
-
- switch(static_cast<CLcLocationAppInfo::TLcApplicationCharacteristics>(aChoice))
- {
- case CLcLocationAppInfo::EAppCharNone:
- if( (KErrNone != (err=lcLocationAppFilter.SetApplicationCharacteristics(CLcLocationAppInfo::EAppCharNone))) &&
- (CLcLocationAppInfo::EAppCharNone != lcLocationAppFilter.ApplicationCharacteristics()) )
- err = KErrArgument;
- break;
- case CLcLocationAppInfo::EAppCharSettings:
- if( (KErrNone != (err=lcLocationAppFilter.SetApplicationCharacteristics(CLcLocationAppInfo::EAppCharSettings))) &&
- (CLcLocationAppInfo::EAppCharSettings != lcLocationAppFilter.ApplicationCharacteristics()) )
- err = KErrArgument;
- break;
- case CLcLocationAppInfo::EAppCharPersonalDataManagement:
- if( (KErrNone != (err=lcLocationAppFilter.SetApplicationCharacteristics(CLcLocationAppInfo::EAppCharPersonalDataManagement))) ||
- (CLcLocationAppInfo::EAppCharPersonalDataManagement != lcLocationAppFilter.ApplicationCharacteristics()) )
- err = KErrArgument;
- break;
- case CLcLocationAppInfo::EAppCharNavigation:
- if( (KErrNone != (err=lcLocationAppFilter.SetApplicationCharacteristics(CLcLocationAppInfo::EAppCharNavigation))) ||
- (CLcLocationAppInfo::EAppCharNavigation != lcLocationAppFilter.ApplicationCharacteristics()) )
- err = KErrArgument;
- break;
- case CLcLocationAppInfo::EAppCharLocationBasedEvents:
- if( (KErrNone != (err=lcLocationAppFilter.SetApplicationCharacteristics(CLcLocationAppInfo::EAppCharLocationBasedEvents))) ||
- (CLcLocationAppInfo::EAppCharLocationBasedEvents != lcLocationAppFilter.ApplicationCharacteristics()) )
- err = KErrArgument;
- break;
- case CLcLocationAppInfo::EAppCharRemotePositioning:
- if( (KErrNone != (err=lcLocationAppFilter.SetApplicationCharacteristics(CLcLocationAppInfo::EAppCharRemotePositioning))) ||
- (CLcLocationAppInfo::EAppCharRemotePositioning != lcLocationAppFilter.ApplicationCharacteristics()) )
- err = KErrArgument;
- break;
- case CLcLocationAppInfo::EAppCharNetworkService:
- if( (KErrNone != (err=lcLocationAppFilter.SetApplicationCharacteristics(CLcLocationAppInfo::EAppCharNetworkService))) ||
- (CLcLocationAppInfo::EAppCharNetworkService != lcLocationAppFilter.ApplicationCharacteristics()) )
- err = KErrArgument;
- break;
- case CLcLocationAppInfo::EAppCharLocationEnhancedMessages:
- if( (KErrNone != (err=lcLocationAppFilter.SetApplicationCharacteristics(CLcLocationAppInfo::EAppCharLocationEnhancedMessages))) ||
- (CLcLocationAppInfo::EAppCharLocationEnhancedMessages != lcLocationAppFilter.ApplicationCharacteristics()) )
- err = KErrArgument;
- break;
- case CLcLocationAppInfo::EAppCharOnDeviceLocationBasedContent:
- if( (KErrNone != (err=lcLocationAppFilter.SetApplicationCharacteristics(CLcLocationAppInfo::EAppCharOnDeviceLocationBasedContent))) ||
- (CLcLocationAppInfo::EAppCharOnDeviceLocationBasedContent != lcLocationAppFilter.ApplicationCharacteristics()) )
- err = KErrArgument;
- break;
- case CLcLocationAppInfo::EAppCharRemoteLocationBasedContent:
- if( (KErrNone != (err=lcLocationAppFilter.SetApplicationCharacteristics(CLcLocationAppInfo::EAppCharRemoteLocationBasedContent))) ||
- (CLcLocationAppInfo::EAppCharRemoteLocationBasedContent != lcLocationAppFilter.ApplicationCharacteristics()) )
- err = KErrArgument;
- break;
- default:
- if( (KErrNone != (err=lcLocationAppFilter.SetApplicationCharacteristics(CLcLocationAppInfo::EAppCharMaps))) ||
- (CLcLocationAppInfo::EAppCharMaps != lcLocationAppFilter.ApplicationCharacteristics()) )
- err = KErrArgument;
- }
-
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppFilter::CheckSysCharFilterConfiguration
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppFilter::CheckSysCharFilterConfiguration( TInt aChoice )
- {
- TInt err = KErrNone;
- TLcLocationAppFilter lcLocationAppFilter;
-
- switch(static_cast<TLcLocationAppFilter::TLcFilterConfig>(aChoice))
- {
- case TLcLocationAppFilter::EFilterStrict:
- lcLocationAppFilter.SetSysCharFilterConfiguration(TLcLocationAppFilter::EFilterStrict);
- if( (TLcLocationAppFilter::EFilterStrict != lcLocationAppFilter.SysCharFilterConfiguration()) )
- err = KErrArgument;
- break;
- case TLcLocationAppFilter::EFilterInclusive:
- lcLocationAppFilter.SetSysCharFilterConfiguration(TLcLocationAppFilter::EFilterInclusive);
- if( (TLcLocationAppFilter::EFilterInclusive != lcLocationAppFilter.SysCharFilterConfiguration()) )
- err = KErrArgument;
- break;
- default:
- lcLocationAppFilter.SetSysCharFilterConfiguration(TLcLocationAppFilter::EFilterExclusive);
- if( (TLcLocationAppFilter::EFilterExclusive != lcLocationAppFilter.SysCharFilterConfiguration()) )
- err = KErrArgument;
- }
-
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppFilter::CheckAppCharFilterConfiguration
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppFilter::CheckAppCharFilterConfiguration( TInt aChoice )
- {
- TInt err = KErrNone;
- TLcLocationAppFilter lcLocationAppFilter;
-
- switch(static_cast<TLcLocationAppFilter::TLcFilterConfig>(aChoice))
- {
- case TLcLocationAppFilter::EFilterStrict:
- lcLocationAppFilter.SetAppCharFilterConfiguration(TLcLocationAppFilter::EFilterStrict);
- if( (TLcLocationAppFilter::EFilterStrict != lcLocationAppFilter.AppCharFilterConfiguration()) )
- err = KErrArgument;
- break;
- case TLcLocationAppFilter::EFilterInclusive:
- lcLocationAppFilter.SetAppCharFilterConfiguration(TLcLocationAppFilter::EFilterInclusive);
- if( (TLcLocationAppFilter::EFilterInclusive != lcLocationAppFilter.AppCharFilterConfiguration()) )
- err = KErrArgument;
- break;
- default:
- lcLocationAppFilter.SetAppCharFilterConfiguration(TLcLocationAppFilter::EFilterExclusive);
- if( (TLcLocationAppFilter::EFilterExclusive != lcLocationAppFilter.AppCharFilterConfiguration()) )
- err = KErrArgument;
- }
-
- return err;
- }
--- a/loc_plat/location_centre_api/tsrc/src/testlocationappinfo.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +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: Test Class which has the list of test cases for CLcLocationAppInfo
-*
-*/
-
-
-
-// System Includes
-#include <lclocationappinfo.h>
-
-// User Includes
-#include "testlocationappinfo.h"
-
-
-// Constant Declarations
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ Default Constructor
-// ---------------------------------------------------------------------------
-//
-CTestLocationAppInfo::CTestLocationAppInfo(CStifLogger* aLog)
- : iLcLocationAppInfo(NULL),iLog(aLog)
- {
-
- }
-
-// ---------------------------------------------------------------------------
-// C++ Destructor
-// ---------------------------------------------------------------------------
-//
-CTestLocationAppInfo::~CTestLocationAppInfo()
- {
-
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfo::CheckNewL
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfo::CheckNewL()
- {
- TInt err = KErrNone;
-
- TRAP(err, iLcLocationAppInfo = CLcLocationAppInfo::NewL());
-
- iLog->Log(_L("CheckNewL return with %d"), err);
-
- delete iLcLocationAppInfo;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfo::CheckNewLC
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfo::CheckNewLC()
- {
- TInt err = KErrNone;
-
- TRAP(err, iLcLocationAppInfo = CLcLocationAppInfo::NewLC();
- CleanupStack::Pop(iLcLocationAppInfo));
-
- iLog->Log(_L("CheckNewLC return with %d"), err);
-
- delete iLcLocationAppInfo;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfo::CheckCopyNewL
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfo::CheckCopyNewL()
- {
- TInt err = KErrNone;
-
- CLcLocationAppInfo* lcLocationAppInfo = CLcLocationAppInfo::NewL();
-
- TRAP(err, iLcLocationAppInfo = CLcLocationAppInfo::NewL(*lcLocationAppInfo));
-
- iLog->Log(_L("CheckCopyNewL return with %d"), err);
-
- delete lcLocationAppInfo;
- delete iLcLocationAppInfo;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfo::CheckCopyNewLC
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfo::CheckCopyNewLC()
- {
- TInt err = KErrNone;
-
- CLcLocationAppInfo* lcLocationAppInfo = CLcLocationAppInfo::NewLC();
-
- TRAP(err, iLcLocationAppInfo = CLcLocationAppInfo::NewLC(*lcLocationAppInfo);
- CleanupStack::Pop(iLcLocationAppInfo));
-
- iLog->Log(_L("CheckCopyNewLC return with %d"), err);
-
- CleanupStack::PopAndDestroy(lcLocationAppInfo);
-
- delete iLcLocationAppInfo;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfo::CheckId
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfo::CheckId()
- {
- TInt err = KErrNone;
-
- iLcLocationAppInfo = CLcLocationAppInfo::NewL();
-
- if(0 != (iLcLocationAppInfo->Id()).Compare(_L("")) )
- err = KErrGeneral;
-
- iLog->Log(_L("CheckId return with %d"), err);
-
- delete iLcLocationAppInfo;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfo::CheckName
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfo::CheckName()
- {
- TInt err = KErrNone;
-
- iLcLocationAppInfo = CLcLocationAppInfo::NewL();
-
- if(0 != (iLcLocationAppInfo->Name()).Compare(_L("")) )
- err = KErrGeneral;
-
- iLog->Log(_L("CheckName return with %d"), err);
-
- delete iLcLocationAppInfo;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfo::CheckLaunchMode
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfo::CheckLaunchMode()
- {
- TInt err = KErrNone;
-
- iLcLocationAppInfo = CLcLocationAppInfo::NewL();
-
- if(CLcLocationAppInfo::EDefaultMode != iLcLocationAppInfo->LaunchMode())
- err = KErrGeneral;
-
- iLog->Log(_L("LaunchMode return with %d"), err);
-
- delete iLcLocationAppInfo;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfo::CheckSystemCharacteristics
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfo::CheckSystemCharacteristics()
- {
- TInt err = KErrNone;
-
- iLcLocationAppInfo = CLcLocationAppInfo::NewL();
-
- if(CLcLocationAppInfo::ESysCharNone != iLcLocationAppInfo->SystemCharacteristics())
- err = KErrGeneral;
-
- iLog->Log(_L("CheckSystemCharacteristics return with %d"), err);
-
- delete iLcLocationAppInfo;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfo::CheckApplicationCharacteristics
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfo::CheckApplicationCharacteristics()
- {
- TInt err = KErrNone;
-
- iLcLocationAppInfo = CLcLocationAppInfo::NewL();
-
- if(CLcLocationAppInfo::EAppCharNone != iLcLocationAppInfo->ApplicationCharacteristics())
- err = KErrGeneral;
-
- iLog->Log(_L("CheckApplicationCharacteristics return with %d"), err);
-
- delete iLcLocationAppInfo;
- return err;
- }
--- a/loc_plat/location_centre_api/tsrc/src/testlocationappinfoarray.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,206 +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: Test Class which has the list of test cases for CLcLocationAppInfo
-*
-*/
-
-
-
-// System Includes
-#include <lclocationappinfo.h>
-
-// User Includes
-#include "testlocationappinfoarray.h"
-
-
-// Constant Declarations
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ Default Constructor
-// ---------------------------------------------------------------------------
-//
-CTestLocationAppInfoArray::CTestLocationAppInfoArray(CStifLogger* aLog)
- : iLcLocationAppInfoArray(NULL),iLog(aLog)
- {
-
- }
-
-// ---------------------------------------------------------------------------
-// C++ Destructor
-// ---------------------------------------------------------------------------
-//
-CTestLocationAppInfoArray::~CTestLocationAppInfoArray()
- {
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfoArray::CheckArrayNewL
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfoArray::CheckArrayNewL( )
- {
- TInt err = KErrNone;
-
- TRAP(err, iLcLocationAppInfoArray = CLcLocationAppInfoArray::NewL());
-
- iLog->Log(_L("CheckArrayNewL return with %d"), err);
-
- delete iLcLocationAppInfoArray;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfoArray::CheckArrayNewLC
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfoArray::CheckArrayNewLC( )
- {
- TInt err = KErrNone;
-
- TRAP(err, iLcLocationAppInfoArray = CLcLocationAppInfoArray::NewLC();
- CleanupStack::Pop(iLcLocationAppInfoArray));
-
- iLog->Log(_L("CheckArrayNewLC return with %d"), err);
-
- delete iLcLocationAppInfoArray;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfoArray::CheckCount
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfoArray::CheckCount( )
- {
- TInt err = KErrNone;
-
- iLcLocationAppInfoArray = CLcLocationAppInfoArray::NewL();
-
- if( 0 != iLcLocationAppInfoArray->Count() )
- err = KErrGeneral;
-
- iLog->Log(_L("CheckCount return with %d"), err);
-
- delete iLcLocationAppInfoArray;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfoArray::CheckAppendL
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfoArray::CheckAppendL( )
- {
- TInt err = KErrNone;
-
- iLcLocationAppInfoArray = CLcLocationAppInfoArray::NewL();
- CLcLocationAppInfo* lcLocationAppInfo = CLcLocationAppInfo::NewL();
-
- iLcLocationAppInfoArray->AppendL(lcLocationAppInfo);
-
- if( 1 != iLcLocationAppInfoArray->Count() )
- err = KErrGeneral;
-
- iLog->Log(_L("CheckCount return with %d"), err);
-
- iLcLocationAppInfoArray->Reset();
- delete iLcLocationAppInfoArray;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfoArray::CheckRemoveL
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfoArray::CheckRemoveL( )
- {
- TInt err = KErrNone;
-
- iLcLocationAppInfoArray = CLcLocationAppInfoArray::NewL();
- CLcLocationAppInfo* lcLocationAppInfo = CLcLocationAppInfo::NewL();
-
- iLcLocationAppInfoArray->AppendL(lcLocationAppInfo);
-
- if( NULL == iLcLocationAppInfoArray->Remove( 0 ) )
- err = KErrGeneral;
-
- iLog->Log(_L("CheckCount return with %d"), err);
-
- delete lcLocationAppInfo;
- delete iLcLocationAppInfoArray;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfoArray::CheckResetL
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfoArray::CheckResetL( )
- {
- TInt err = KErrNone;
-
- iLcLocationAppInfoArray = CLcLocationAppInfoArray::NewL();
- CLcLocationAppInfo* lcLocationAppInfo = CLcLocationAppInfo::NewL();
-
- iLcLocationAppInfoArray->AppendL(lcLocationAppInfo);
-
- if( 1 != iLcLocationAppInfoArray->Count() )
- err = KErrGeneral;
-
- iLog->Log(_L("CheckCount return with %d"), err);
-
- iLcLocationAppInfoArray->Reset();
- delete iLcLocationAppInfoArray;
- return err;
- }
-
-// ---------------------------------------------------------
-// CTestLocationAppInfoArray::CheckOperatorL
-//
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CTestLocationAppInfoArray::CheckOperatorL( )
- {
- TInt err = KErrNone;
-
- iLcLocationAppInfoArray = CLcLocationAppInfoArray::NewL();
- CLcLocationAppInfo* lcLocationAppInfo = CLcLocationAppInfo::NewL();
-
- iLcLocationAppInfoArray->AppendL(lcLocationAppInfo);
-
- CLcLocationAppInfo& lcLocationAppInfo1 = (*iLcLocationAppInfoArray)[0];
-
- iLog->Log(_L("CheckCount return with %d"), err);
-
- iLcLocationAppInfoArray->Reset();
- delete iLcLocationAppInfoArray;
- return err;
- }
-
--- a/loc_pub/location_centre_registration_api/location_centre_registration_api.metaxml Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" ?>
-<api id="0c49fe703c3253c4ca4de1ec09fe9878" dataversion="2.0">
- <name>Location Centre Registration API</name>
- <description>Provides the interface for the client applications to register to Location Centre</description>
- <type>file</type>
- <collection>locationsystemui</collection>
- <libs>
- </libs>
- <release category="public"/>
- <attributes>
- <!-- This indicates wether the api provedes separate html documentation -->
- <!-- or is the additional documentation generated from headers. -->
- <!-- If you are unsuere then the value is "no" -->
- <htmldocprovided>no</htmldocprovided>
- <adaptation>no</adaptation>
- </attributes>
-</api>
Binary file locationcentre/cenrep/keys_locationcentre.xls has changed
Binary file locationcentre/conf/locationcentre.confml has changed
Binary file locationcentre/conf/locationcentre_10283137.crml has changed
Binary file locationcentre/data/locationcentrestub.sis has changed
--- a/locationcentre/group/bld.inf Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2009 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: This file provides the information required for building the
-* Location Centre sub-system
-*
-*
-*/
-
-
-PRJ_EXPORTS
-// Export Localization files
-../loc/lc.loc APP_LAYER_LOC_EXPORT_PATH(lc.loc)
-
-// Export SIS File
-../data/locationcentrestub.sis /epoc32/data/z/system/install/locationcentrestub.sis
-
-// Export IBY Files
-// Core IBY Files
-../rom/lc.iby CORE_APP_LAYER_IBY_EXPORT_PATH(lc.iby)
-
-// Language IBY Files
-../rom/lc_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(lc_resources.iby)
-
-// Stub IBY Files
-../rom/lcstub.iby CORE_APP_LAYER_IBY_EXPORT_PATH(lcstub.iby)
-
-// Export Configuration Markup language and Central Repository Mark up language files
-../conf/locationcentre.confml APP_LAYER_CONFML(locationcentre.confml)
-../conf/locationcentre_10283137.crml APP_LAYER_CRML(locationcentre_10283137.crml)
-
-
-// Include Bld.infs
-
-// Location Centre Utilities
-#include "../lcutils/group/bld.inf"
-
-// Location Centre Service Project
-#include "../lcservice/group/bld.inf"
-
-// Location Centre Server Project
-#include "../lcserver/group/bld.inf"
-
-// Location Centre Application
-#include "../lcapp/group/bld.inf"
-
-// End of File
--- a/locationcentre/install/locationcentre.pkg Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-;
-; Copyright (c) 2009 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: Package file for Location Centre
-;
-;
-; Installation file for Location Centre Application, Client, Server and Utils
-;
-;Languages
-&EN
-;
-; UID is the app's UID
-;
-#{"Location Centre"},(0x10283138),1,0,0,TYPE=PU
-;
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Supports Series 60 v 3.0
-;This line indicates that this installation is for the Series 60 platform v0.9
-;This line must appear _exactly_ as shown below in the sis file
-;If this line is missing or incorrect, the sis file will not be able
-;to be installed on Series 60 v3.0 platforms
-[0x101F7961], 0, 0, 0, {"Series60ProductID"}
-;
-;
-
-; Location Centre Utils
-"\epoc32\release\armv5\urel\lcutils.dll" - "!:\sys\bin\lcutils.dll"
-
-; Location Centre Client Library
-"\epoc32\release\armv5\urel\lcservice.dll" - "!:\sys\bin\lcservice.dll"
-
-; Location Centre Server
-"\epoc32\release\armv5\urel\lcserver.exe" - "!:\sys\bin\lcserver.exe"
-
-; Location Centre Application
-"\epoc32\release\armv5\urel\lcapp.exe" - "!:\sys\bin\lcapp.exe"
-"\epoc32\data\z\resource\apps\lcapp_aif.mif" - "!:\resource\apps\lcapp_aif.mif"
-"\epoc32\data\z\resource\apps\lcapp.rsc" - "!:\resource\apps\lcapp.rsc"
-"\epoc32\data\Z\private\10003a3f\apps\lcapp_reg.rsc" - "!:\private\10003a3f\import\apps\lcapp_reg.rsc"
--- a/locationcentre/install/locationcentrestub.pkg Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-;
-; Copyright (c) 2009 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: Package file for Location Centre Stub
-;
-;
-; Installation file for Location Centre Application, Client, Server and Utils
-;
-;Languages
-&EN
-;
-; UID is the app's UID
-;
-#{"Location Centre"},(0x10283138),1,0,0,TYPE=SA
-;
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Supports Series 60 v 3.0
-;This line indicates that this installation is for the Series 60 platform v0.9
-;This line must appear _exactly_ as shown below in the sis file
-;If this line is missing or incorrect, the sis file will not be able
-;to be installed on Series 60 v3.0 platforms
-;(0x101F7961), 0, 0, 0, {"Series60ProductID"}
-;
-;
-
-; Location Centre Utils
-"" - "Z:\sys\bin\lcutils.dll"
-
-; Location Centre Client Library
-"" - "Z:\sys\bin\lcservice.dll"
-
-; Location Centre Server
-"" - "Z:\sys\bin\lcserver.exe"
-
-; Location Centre Application
-"" - "Z:\sys\bin\lcapp.exe"
-"" - "Z:\resource\apps\lcapp_aif.mif"
-"" - "Z:\resource\apps\lcapp.rsc"
-"" - "Z:\private\10003a3f\import\apps\lcapp_reg.rsc"
--- a/locationcentre/lcapp/data/lcapp.rss Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +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: Resource file defintion for project Location Centre Application
-*
-*/
-
-
-// RESOURCE IDENTIFIER
-NAME LCAP // 4 letter ID
-
-// SYSTEM INCLUDES
-#include <eikon.rh>
-#include <appinfo.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <bldvariant.hrh>
-#include <avkon.hrh>
-#include <avkon.loc>
-#include <data_caging_paths_strings.hrh>
-
-// USER INCLUDES
-#include <lc.loc>
-#include "lcapp.hrh"
-
-// CONSTANT DEFINTIONS
-#define LC_ICON_FILE_NAME APP_RESOURCE_DIR"\\lcapp_aif.mif"
-
-// RESOURCE DEFINITIONS
-
-// ---------------------------------------------------------------------------
-// RESOURCE RSS_SIGNATURE
-// ---------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
- {
- }
-
-// ---------------------------------------------------------------------------
-// RESOURCE RSS_SIGNATURE
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF
- {
- buf="lcapp";
- }
-
-// ---------------------------------------------------------------------------
-// RESOURCE RSS_SIGNATURE
-// ---------------------------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
- {
- }
-
-
-RESOURCE LOCALISABLE_APP_INFO r_lcapp_localisable_app_info
- {
- short_caption = qtn_apps_location_grid;
- caption_and_icon = CAPTION_AND_ICON_INFO
- {
- caption = qtn_apps_location_list;
- number_of_icons = 1;
- icon_file = LC_ICON_FILE_NAME;
- };
- }
-
-RESOURCE AVKON_VIEW r_lc_view
- {
- menubar = r_lc_menubar;
- cba = r_lc_cba;
- }
-
-RESOURCE MENU_BAR r_lc_menubar
- {
- titles=
- {
- MENU_TITLE
- {
- menu_pane = r_lc_menu;
- txt = "";
- }
- };
- }
-
-RESOURCE MENU_PANE r_lc_menu
- {
- items=
- {
- MENU_ITEM
- {
- command = ELcOpen;
- txt = qtn_options_open;
- flags = EEikMenuItemAction;
- },
- MENU_ITEM
- {
- command = EAknCmdHelp;
- txt = qtn_options_help;
- },
- MENU_ITEM
- {
- command = EAknCmdExit;
- txt = qtn_options_exit;
- }
- };
- }
-
-RESOURCE CBA r_lc_cba
- {
- flags = 0;
- buttons =
- {
- CBA_BUTTON
- {
- id = EAknSoftkeyOptions;
- txt = text_softkey_option;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyExit;
- txt = text_softkey_exit;
- },
- CBA_BUTTON
- {
- id = ELcOpen;
- txt = qtn_msk_open;
- }
- };
- }
-
-RESOURCE CBA r_lc_cba_empty
- {
- flags = 0;
- buttons =
- {
- CBA_BUTTON
- {
- id = EAknSoftkeyOptions;
- txt = text_softkey_option;
- },
- CBA_BUTTON
- {
- id = EAknSoftkeyExit;
- txt = text_softkey_exit;
- },
- CBA_BUTTON
- {
- id = ELcCommandNone;
- }
- };
- }
-
-RESOURCE HOTKEYS r_lcapp_hotkeys
- {
- control=
- {
- };
- }
-
-RESOURCE LISTBOX r_lc_listbox
- {
- flags = EAknListBoxSelectionList;
- }
-
-RESOURCE TBUF r_loc_title_centre
- {
- buf = qtn_loc_title_centre;
- }
--- a/locationcentre/lcapp/data/lcapp_reg.rss Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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: Application registration information file for Location Centre
-* Registration API test application.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-#include <lcapp.rsg>
-
-// USER INCLUDES
-#include "../inc/lcappuid.hrh"
-
-#define LC_RESOURCE_FILE_NAME APP_RESOURCE_DIR"\\lcapp"
-
-// ---------------------------------------------------------------------------
-// UID Defintions
-// ---------------------------------------------------------------------------
-//
-UID2 KUidAppRegistrationResourceFile
-UID3 KLcAppUid
-
-// ---------------------------------------------------------------------------
-// Application Information registration resource
-// ---------------------------------------------------------------------------
-//
-RESOURCE APP_REGISTRATION_INFO
- {
- app_file = "lcapp";
- localisable_resource_file = LC_RESOURCE_FILE_NAME;
- localisable_resource_id = R_LCAPP_LOCALISABLE_APP_INFO;
- }
-
-// End of File
--- a/locationcentre/lcapp/group/bld.inf Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +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: Build information file for project Location Centre Application
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-// Location Centre Application Project defintion file.
-lcapp.mmp
-
-PRJ_TESTMMPFILES
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE lcapp_aif.mif
-OPTION SOURCES -c32 qgn_menu_location.svg
-END
-
--- a/locationcentre/lcapp/group/lcapp.mmp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +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: Project definition file for project Location Centre Application
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <platform_paths.hrh> // For the MW_LAYER_SYSTEMINCLUDE
-#include <data_caging_paths.hrh>
-
-// USER INCLUDES
-#include "../inc/lcappuid.hrh"
-
-TARGET lcapp.exe
-TARGETTYPE exe
-UID 0x100039ce KLcAppUid
-
-VERSION 1.0
-
-VENDORID VID_DEFAULT
-CAPABILITY CAP_APPLICATION
-
-SOURCEPATH ../src
-SOURCE lcapp.cpp
-SOURCE lcdocument.cpp
-SOURCE lcappui.cpp
-SOURCE lccontainer.cpp
-SOURCE lcview.cpp
-SOURCE lclistboxmodel.cpp
-
-SOURCEPATH ../data
-START RESOURCE lcapp.rss
-HEADER
-TARGETPATH APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-START RESOURCE lcapp_reg.rss
-DEPENDS lcapp.rsg
-TARGETPATH /private/10003a3f/apps
-END
-
-USERINCLUDE ../inc
-USERINCLUDE ../../inc
-USERINCLUDE ../../../inc
-USERINCLUDE ../../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY featmgr.lib
-LIBRARY euser.lib
-LIBRARY apparc.lib
-LIBRARY cone.lib
-LIBRARY eikcore.lib
-LIBRARY avkon.lib
-LIBRARY bafl.lib
-LIBRARY eikcoctl.lib
-LIBRARY efsrv.lib
-LIBRARY lcservice.lib
-LIBRARY eikctl.lib
-LIBRARY egul.lib
-LIBRARY fbscli.lib
-LIBRARY estor.lib
-LIBRARY commonengine.lib
-LIBRARY aknskins.lib
-LIBRARY aknskinsrv.lib
-LIBRARY aknswallpaperutils.lib
-LIBRARY hlplch.lib
-LIBRARY aknicon.lib
-
-
--- a/locationcentre/lcapp/inc/lcapp.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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: Application class for Location Centre Application.
-*
-*/
-
-
-#ifndef C_LCAPP_H
-#define C_LCAPP_H
-
-// SYSTEM INCLUDES
-#include <aknapp.h>
-
-/**
- * Location Centre Application's App class. This class extents the CAknApplication
- * class for Location Centre.
- *
- * @lib lcapp.exe
- * @since S60 v5.0
- */
-class CLcApp : public CAknApplication
- {
-private: // Inherited from Base classes
- /**
- * Inherited from CAknApplication
- */
- CApaDocument* CreateDocumentL();
-
- /**
- * Inherited from CAknApplication
- */
- TUid AppDllUid() const;
- };
-
-#endif // C_LCAPP_H
-
-// End of File
-
--- a/locationcentre/lcapp/inc/lcapp.hrh Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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: Eumeration commands Location Centre Application.
-*
-*/
-
-
-/**
- * Location Centre Command for opening the currently selected element
- */
-enum TLcCommands
- {
- ELcCommandNone = 0x6000,
- ELcOpen
- };
-
-
-
--- a/locationcentre/lcapp/inc/lcappui.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +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: Application class for Location Centre Application UI.
-*
-*/
-
-
-#ifndef C_LCAPPUI_H
-#define C_LCAPPUI_H
-
-// SYSTEM INCLUDES
-#include <eikapp.h>
-#include <eikdoc.h>
-#include <e32std.h>
-#include <coeccntx.h>
-#include <aknViewAppUi.h>
-#include <lcnotification.h>
-
-// FORWARD DECLARATIONS
-class CLcView;
-class CLcService;
-class CLcListBoxModel;
-
-/**
- * Location Centre Application Event Handler.
- *
- * @since v5.0
- */
-class MLcEventHandler
- {
-public:
- /**
- * Abstract function which is implemented by the Location Centre Event handler.
- * The implmentation must handle the event specified by the Event type.
- *
- * @param[in] aEvent, Event Type.
- */
- virtual void HandleEventL( TInt aEvent ) = 0;
- };
-
-/**
- * Location Centre Application's App UI class. This class extents the CAknAppUi
- * class for Location Centre.
- *
- * @since S60 v5.0
- */
-class CLcAppUi : public CAknViewAppUi,
- public MLcNotification,
- public MLcEventHandler
- {
-public:
- /**
- * Second phase of the two phase constructor
- *
- * Called by the Application framework
- */
- void ConstructL();
-
- /**
- * Virtual destructor
- */
- virtual ~CLcAppUi();
-
-public: // Inherited from Base classes
-
- /**
- * Inherited from CAknViewAppUi
- */
- void HandleCommandL(TInt aCommand);
-
- /**
- * Inherited from MLcNotification
- */
- void LcStatusChangedL( TInt aErrorCode );
-
- /**
- * Inherited from MLcEventHandler
- */
- void HandleEventL( TInt aEvent );
-
-private: // Inherited from Base classes
-
- /**
- * Inherited from CAknViewAppUi
- */
- virtual TKeyResponse HandleKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType );
-
-private:
- /**
- * Location Centre Application's view class
- */
- CLcView* iLcView;
-
- /**
- * Location Centre API interface object
- *
- * Owns
- */
- CLcService* iLcService;
-
- /**
- * Location Centre list box model
- *
- * Owns
- */
- CLcListBoxModel* iListBoxModel;
- };
-
-#endif // C_LCAPPUI_H
-
-// End of File
--- a/locationcentre/lcapp/inc/lcappuid.hrh Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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: UID Defintions for Location Centre Application.
-*
-*/
-
-
-#ifndef LCAPPUID_HRH
-#define LCAPPUID_HRH
-
-/**
- * Application UID Definitions for Location Centre Application
- */
-#define KLcAppUid 0x10283139
-
-#endif //LCAPPUID_HRH
--- a/locationcentre/lcapp/inc/lccontainer.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +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: Container class for Location Centre Application UI.
-*
-*/
-
-
-#ifndef C_LCCONTAINER_H
-#define C_LCCONTAINER_H
-
-// SYSTEM INCLUDES
-#include <coecntrl.h>
-#include <eiklbo.h>
-
-// FORWARD DECLARATIONS
-class CLcAppUi;
-class CLcListBoxModel;
-class CAknSingleLargeStyleListBox;
-class MLcEventHandler;
-
-/**
- * Location Centre Application's Container class. This class is the chief
- * windowing component of Location Centre which displays the List of
- * Location based Applications and Contents/Services
- *
- * @lib lcapp.exe
- * @since S60 v5.0
- */
-class CLcContainer : public CCoeControl,
- public MEikListBoxObserver
- {
-public:
- /**
- * Static Two phase constructor
- *
- * @param[in] aRect, Client Rectangle for this window owning control.
- * @param[in] aEventHandler, Location Centre Event Handle.
- * @param[in] aListBoxModel, List box model.
- */
- static CLcContainer* NewL( const TRect& aRect,
- MLcEventHandler& aEventHandler,
- CLcListBoxModel& aListBoxModel );
-
- /**
- * Virtual destructor
- */
- ~CLcContainer();
-
- /**
- * Returns the help context
- *
- * @param aContext The help context that has to be determined
- */
- void GetHelpContext( TCoeHelpContext& aContext ) const;
-
- /**
- * Returns the Selected List box item
- *
- * @return TInt Index corresponding selected List box item.
- */
- TInt GetFocussedItem();
-
- /**
- * Updates the Container object with a new list of Location based Applications
- * and Contents/Services.
- *
- * @param[in] aListBoxModel, New List box model object.
- */
- void UpdateL( CLcListBoxModel& aListBoxModel );
-
- /**
- * Updates the listbox icons for Location Centre List Box.
- */
- void UpdateIconsL();
-
-protected: // Inherited from Base classes
-
- /**
- * Inherited from CCoeControl
- */
- void SizeChanged();
-
- /**
- * Inherited from CCoeControl
- */
- TInt CountComponentControls() const;
-
- /**
- * Inherited from CCoeControl
- */
- CCoeControl* ComponentControl( TInt aIndex ) const;
-
- /**
- * Inherited from CCoeControl
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType );
-
- /**
- * Inherited from CCoeControl
- */
- void HandleResourceChange( TInt aType );
-
- /**
- * Inherited from MEikListBoxObserver
- */
- void HandleListBoxEventL( CEikListBox* aListBox,
- TListBoxEvent aEventType );
-
- /**
- * Handles Focus Change to list
- */
- void FocusChanged( TDrawNow aDrawNow );
-
-private:
-
- /**
- * C++ Default constructor
- */
- CLcContainer( MLcEventHandler& aEventHandler,
- CLcListBoxModel& aListBoxModel );
-
- /**
- * Second phase of the two phase constructor
- */
- void ConstructL( const TRect& aRect );
-
- /**
- * Sets the Title text
- * @param aResourceText Resource to create title
- */
- void MakeTitleL( TInt aResourceText );
-
- /**
- * Creates the List box and List box model.
- */
- void CreateListboxL();
-
-public:
- /**
- * List box
- * Owns
- */
- CAknSingleLargeStyleListBox* iListBox;
-
- /**
- * Help context
- */
- TCoeContextName iContextName;
-
- /**
- * Location Centre Event handler
- */
- MLcEventHandler& iEventHandler;
-
- /**
- * Location Centre list box model
- */
- CLcListBoxModel* iListBoxModel;
- };
-
-#endif // C_LCCONTAINER_H
-
-// End of File
--- a/locationcentre/lcapp/inc/lcdocument.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +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: Document class for Location Centre Application UI.
-*
-*/
-
-
-#ifndef C_LCDOCUMENT_H
-#define C_LCDOCUMENT_H
-
-// SYSTEM INCLUDES
-#include <AknDoc.h>
-
-// FORWARD DECLARATIONS
-class CEikAppUi;
-
-/**
- * Location Centre Application's document class.
- *
- * @lib lcapp.exe
- * @since S60 v5.0
- */
-class CLcDocument : public CAknDocument
- {
-public:
- /**
- * Static Two phase constructor
- */
- static CLcDocument* NewL( CEikApplication& aApp );
-
- /**
- * Virtual destructor
- */
- virtual ~CLcDocument();
-
-private:
- /**
- * C++ Default constructor
- */
- CLcDocument( CEikApplication& aApp );
-
- /**
- * Second phase of the two phase constructor
- */
- void ConstructL();
-
-private: // Inherited from Base class
-
- /**
- * Inherited from CAknDocument
- */
- CEikAppUi* CreateAppUiL();
- };
-
-#endif // C_LCDOCUMENT_H
-
-// End of File
-
--- a/locationcentre/lcapp/inc/lclistbox.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +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: List box defintion for Location System UI
-*
-*/
-
-
-#ifndef C_LCLISTBOX_H
-#define C_LCLISTBOX_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-#include <aknlists.h>
-
-// FORWARD DECLARATIONS
-class CLcLocationAppInfoArray;
-class CLcListBoxModel;
-
-/**
- * List box for Location Centre
- *
- * This class specializes the CAknSingleLargeStyleListBox class for Location
- * Centre. This class takes the ownership of the listbox model and exposes
- * functions for updation of the list.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-class CLcListBox : public CAknSingleLargeStyleListBox
- {
-public:
- /**
- * Constructs a new instance of Location Centre list box.
- *
- * @param[in] aAppArray Array of Location based Applicaions and Contents/Services
- * The ownership of the array is transferred.
- * @param[in] aParent Parent Window.
- * @return The new instance of Location Centre listbox object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcListBox* NewL(
- CLcLocationAppInfoArray* aAppArray,
- const CCoeControl* aParent,
- MEikListBoxObserver* aObserver );
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre listbox object.
- */
- virtual ~CLcListBox();
-
- /**
- * Updates the list box contents. This function deletes the previous instance
- * of the Location based Applications and Contents/Services application
- * information and replaces it with this new list.
- *
- * @param[in] aAppArray Array of Location based Applicaions and Contents/Services
- * The ownership of the array is transferred.
- */
- void UpdateListBoxContentsL( CLcLocationAppInfoArray* aAppArray );
-
-private:
- /**
- * Overloaded constructor
- */
- CLcListBox();
-
- /**
- * Second phase of the two phase constructor
- */
- void ConstructL( CLcLocationAppInfoArray* aAppArray,
- const CCoeControl* aParent,
- MEikListBoxObserver* aObserver );
-
- /**
- * Updates the Location Centre List-box's Icons array to point to the
- * latest set of icons.
- */
- void UpdateIconsL();
-
-private: // data
- /**
- * Listbox model
- *
- * Owns
- */
- CLcListBoxModel* iListBoxModel;
- };
-
-#endif // C_LCLISTBOX_H
--- a/locationcentre/lcapp/inc/lclistboxmodel.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +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: List box model for the list-box used to display the Location
-* Centre pop-up and the list in Location Centre Application.
-*
-*/
-
-
-#ifndef C_LCLISTBOXMODEL_H
-#define C_LCLISTBOXMODEL_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-#include <bamdesca.h> // MDesCArray
-
-// FORWARD DECLARATIONS
-class CLcLocationAppInfoArray;
-class CLcListBoxModel;
-
-/**
- * List box model for Location Centre
- *
- * This class provides the implementation of the list-box model for Location
- * Centre lists. Currently this is used in both the Location Centre pop-up
- * and in Location Centre Application.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-class CLcListBoxModel : public CBase,
- public MDesCArray
- {
-public:
- /**
- * Constructs a new instance of Location Centre list box model.
- *
- * @param[in] aAppArray Array of Location based Applicaions and Contents/Services
- * The ownership of the array is transferred.
- * @return The new instance of Location Centre model object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcListBoxModel* NewL( CLcLocationAppInfoArray* aAppArray );
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * model object.
- */
- virtual ~CLcListBoxModel();
-
- /**
- * Updates the Listbox model with a new Array of Location based Applications
- * and Contents/Services.
- *
- * @param[in] aAppArray Array of Location based Applicaions and Contents/Services
- * The ownership of the array is transferred.
- */
- void UpdateModel( CLcLocationAppInfoArray* aAppArray );
-
- /**
- * Accessor method for retrieving the Application Information array.
- *
- * @return CLcLocationAppInfoArray, Reference to the existing Application
- * Information array.
- */
- CLcLocationAppInfoArray& AppArray();
-
- /**
- * Returns the Application's Identifer corresponding to the index passed.
- *
- * @param[in] aIndex, Index of the Location Application whose Identifier
- * is requested.
- */
- TPtrC AppInfoId( TInt aIndex ) const;
-
-public: // Inherited from Base classes
- /**
- * Inherited from MDesCArray
- */
- virtual TInt MdcaCount() const;
-
- /**
- * Inherited from MDesCArray
- */
- virtual TPtrC16 MdcaPoint( TInt aIndex ) const;
-
-private:
- /**
- * Overloaded constructor
- */
- CLcListBoxModel( CLcLocationAppInfoArray* aAppArray );
-
- /**
- * Second phase of the two phase constructor
- */
- void ConstructL();
-
-private: // data
-
- /**
- * Buffer for packing the MdcaPoint
- *
- * Owns
- */
- HBufC16* iBuffer;
-
- /**
- * Application Information Array
- */
- CLcLocationAppInfoArray* iAppArray;
- };
-
-#endif // C_LCLISTBOXMODEL_H
--- a/locationcentre/lcapp/inc/lcview.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +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: View class for Location Centre Application UI.
-*
-*/
-
-
-#ifndef C_LCAPPVIEW_H_
-#define C_LCAPPVIEW_H_
-
-// SYSTEM INCLUDES
-#include <aknview.h>
-#include <aknViewAppUi.h>
-
-// FORWARD DECLARATIONS
-class CLcContainer;
-class MLcEventHandler;
-class CLcListBoxModel;
-
-/**
- * Location Centre Application's View class.
- *
- * @lib lcapp.exe
- * @since S60 v5.0
- */
-class CLcView : public CAknView
- {
-public:
- /**
- * Static Two phase constructor
- *
- * @param[in] aEventHandler, Location Centre Event Handle.
- * @param[in] aListBoxModel, List box model.
- * @return CLcView*, Pointer to the newly created object.
- */
- static CLcView* NewL( MLcEventHandler& aEventHandler,
- CLcListBoxModel& aListBoxModel );
-
- /**
- * Static Two phase constructor.
- * Leaves the created instance on the Cleanup Stack.
- *
- * @param[in] aEventHandler, Location Centre Event Handle.
- * @param[in] aListBoxModel, List box model.
- * @return CLcView*, Pointer to the newly created object.
- */
- static CLcView* NewLC( MLcEventHandler& aEventHandler,
- CLcListBoxModel& aListBoxModel );
-
- /**
- * C++ Destructor.
- */
- virtual ~CLcView ();
-
- /**
- * Handles the event generated when the Screen size is changed when
- * this View is being displayed.
- */
- void ScreenSizeChanged();
-
- /**
- * Updates the View object with a new list of Location based Applications
- * and Contents/Services.
- *
- * @param[in] aListBoxModel, New List box model object.
- */
- void UpdateL( CLcListBoxModel& aListBoxModel );
-
- /**
- * Updates the listbox icons for Location Centre List Box.
- */
- void UpdateIconsL();
-
- /**
- * Returns the Selected List box item
- *
- * @return TInt Index corresponding selected List box item.
- */
- TInt GetFocussedItem();
-
-public: // Inherited from Base classes
-
- /**
- * Inherited from CAknView
- */
- void DoActivateL( const TVwsViewId& aPrevViewId,
- TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
-
- /**
- * Inherited from CAknView
- */
- void DoDeactivate();
-
- /**
- * Inherited from CAknView
- */
- TUid Id() const;
-
- /**
- * Inherited from CAknView
- */
- void HandleCommandL(TInt aCommand);
-
- /**
- * Inherited from CAknView
- */
- void DynInitMenuPaneL( TInt aResourceId,
- CEikMenuPane* aMenuPane );
-
-private:
- /**
- * Overloaded C++ Contructor.
- */
- CLcView( MLcEventHandler& aEventHandler,
- CLcListBoxModel& aListBoxModel );
-
- /**
- * Second phase of the two phase constructor.
- */
- void ConstructL();
-
- /**
- * Handles the visbility of the S60 Help feature.
- *
- * @param aMenuPane, Menu pane object on which the Help feature must
- * be evaluated.
- */
- void HandleHelpFeature( CEikMenuPane& aMenuPane ) const;
-
-private:
- /**
- * Location Centre Container.
- * Owns.
- */
- CLcContainer* iContainer;
-
- /**
- * Location Centre Event Handler.
- * Reference.
- */
- MLcEventHandler& iEventHandler;
-
- /**
- * Location Centre Listbox model.
- * Reference.
- */
- CLcListBoxModel* iListBoxModel;
-
- };
-
-#endif // C_LCAPPVIEW_H_
-
--- a/locationcentre/lcapp/src/lcapp.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +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: App class for Location Centre Application UI.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <eikstart.h>
-
-// USER INCLUDES
-#include "lcapp.h"
-#include "lcdocument.h"
-#include "lcappuid.hrh"
-
-// ------------------------ Local Functions ----------------------------------
-
-// ---------------------------------------------------------------------------
-// CApaApplication* NewApplication
-// ---------------------------------------------------------------------------
-//
-LOCAL_C CApaApplication* NewApplication()
- {
- return new CLcApp;
- }
-
-// ----------------- Member funtions for CLcApp ------------------------------
-
-// ---------------------------------------------------------------------------
-// TUid CLcApp::AppDllUid
-// ---------------------------------------------------------------------------
-//
-TUid CLcApp::AppDllUid() const
- {
- return TUid::Uid( KLcAppUid );
- }
-
-// ---------------------------------------------------------------------------
-// CApaDocument* CLcApp::CreateDocumentL
-// ---------------------------------------------------------------------------
-//
-CApaDocument* CLcApp::CreateDocumentL()
- {
- return CLcDocument::NewL( *this );
- }
-
-// ------------------------ Global Functions ----------------------------------
-
-// ---------------------------------------------------------------------------
-// TInt E32Main
-// ---------------------------------------------------------------------------
-//
-GLDEF_C TInt E32Main()
- {
- return EikStart::RunApplication( NewApplication );
- }
-
-// End of File
-
--- a/locationcentre/lcapp/src/lcappui.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +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: Application class for Location Centre Application UI.
-*
-*/
-
-
-// SYSTEM FILES
-#include <avkon.hrh>
-#include <lcservice.h>
-#include <lclocationappinfo.h>
-#include <lclocationappfilter.h>
-#include <AknsConstants.h>
-#include <aknnotewrappers.h>
-#include <textresolver.h>
-
-// USER INCLUDES
-#include "lcappui.h"
-#include "lcapp.hrh"
-#include "lcview.h"
-#include "lclistboxmodel.h"
-
-// ----------------- Member funtions for CLcApp ------------------------------
-
-// ---------------------------------------------------------------------------
-// void CLcAppUi::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcAppUi::ConstructL()
- {
- BaseConstructL( EAknEnableSkin | EAknEnableMSK |EAknSingleClickCompatible );
-
- // Create the Service class
- iLcService = CLcService::NewL();
- iLcService->SetObserverL( *this );
-
- // Handle condition where the function leaves with KErrNotFound
- // Create the Listbox Model
-
- CLcLocationAppInfoArray* appInfoArray = NULL;
- TRAPD( error, appInfoArray = iLcService->GetLocationApplicationsL());
- if ( KErrNotFound == error || KErrNone == error )
- {
- CleanupStack::PushL( appInfoArray );
- // The ownership of the array is transferred.
- iListBoxModel = CLcListBoxModel::NewL( appInfoArray );
- CleanupStack::Pop( appInfoArray );
- }
- else
- {
- // Not handling other error conditions. So better let others handle it.
- User::Leave( error );
- }
-
- // Create the View object and add it to the View stack
- CLcView* lcView = CLcView::NewL( *this, *iListBoxModel );
- CleanupStack::PushL( lcView );
- AddViewL( lcView );
- CleanupStack::Pop( lcView );
- iLcView = lcView;
- }
-
-// ---------------------------------------------------------------------------
-// CLcAppUi::~CLcAppUi
-// ---------------------------------------------------------------------------
-//
-CLcAppUi::~CLcAppUi()
- {
- // Delete the Service class
- delete iLcService;
-
- // Delete the Model
- delete iListBoxModel;
- }
-
-// ---------------------------------------------------------------------------
-// TKeyResponse CLcAppUi::HandleKeyEventL
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CLcAppUi::HandleKeyEventL( const TKeyEvent& /*aKeyEvent*/,
- TEventCode /*aType*/ )
- {
- return EKeyWasNotConsumed;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAppUi::HandleCommandL
-// ---------------------------------------------------------------------------
-//
-void CLcAppUi::HandleCommandL( TInt aCommand )
- {
- switch ( aCommand )
- {
- case EAknSoftkeyExit:
- case EEikCmdExit:
- {
- Exit();
- break;
- }
- case ELcOpen:
- {
- HandleEventL( ELcOpen );
- break;
- }
- default:
- {
- break;
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAppUi::LcStatusChangedL
-// ---------------------------------------------------------------------------
-//
-void CLcAppUi::LcStatusChangedL( TInt aErrorCode )
- {
- // Update the listbox only if its a valid update.
- if ( KErrNone == aErrorCode )
- {
- // There has been a change in Location Centre's registry. We have to
- // update the list of Applications
-
- CLcLocationAppInfoArray* appInfoArray = NULL;
- TRAPD( error, appInfoArray = iLcService->GetLocationApplicationsL());
- if ( KErrNotFound == error || KErrNone == error )
- {
- // The ownership of the new array is transferred.
- iListBoxModel->UpdateModel( appInfoArray );
- iLcView->UpdateL( *iListBoxModel );
- }
- else
- {
- // Not handling other error conditions. So better let others handle it.
- User::Leave( error );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAppUi::HandleEventL
-// ---------------------------------------------------------------------------
-//
-void CLcAppUi::HandleEventL( TInt aEvent )
- {
- switch( aEvent )
- {
- case KEikDynamicLayoutVariantSwitch:
- {
- // Request the Client container to change its rect to a new Rect
- iLcView->ScreenSizeChanged();
- break;
- }
- case KAknsMessageSkinChange:
- {
- iLcView->UpdateIconsL();
- break;
- }
- case ELcOpen:
- {
- // Obtain the Identifier corresponding to the Selected Item
- TInt selectedItem = iLcView->GetFocussedItem();
- if ( selectedItem >= 0 && selectedItem < iListBoxModel->MdcaCount())
- {
- TRAP_IGNORE( iLcService->
- LaunchLocationApplicationL( iListBoxModel->AppInfoId( selectedItem )));
- }
- break;
- }
- default:
- break;
- }
- }
-
-// End of File
--- a/locationcentre/lcapp/src/lccontainer.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,379 +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: Container class for Location Centre Application UI.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <avkon.hrh>
-#include <barsread.h>
-#include <lclocationappinfo.h>
-#include <aknlists.h>
-#include <AknIconArray.h> // Icon Array
-#include <eikclbd.h> // Column Listbox
-#include <gulicon.h> // Gul Icon
-#include <barsread.h> // TResourceReader
-#include <lcapp.rsg>
-#include <csxhelp/loccentre.hlp.hrh>
-#include <AknUtils.h>
-#include <eikspane.h> // Status pane
-#include <akntitle.h> // CAknTitlePane
-#include <StringLoader.h>
-
-// USER INCLUDES
-#include "lccontainer.h"
-#include "lcappui.h"
-#include "lclistboxmodel.h"
-#include "lcappuid.hrh"
-#include "lcapp.hrh"
-
-// CONSTANT DEFINITIONS
-const TInt KLcNoOfElements = 1;
-const TInt KMinSelectedItemNumber = 0;
-const TInt KViewListboxGranularity = 3; // The number of default Applications
-
-// ----------------- Member funtions for CLcContainer class ------------------
-
-// ---------------------------------------------------------------------------
-// CLcContainer::CLcContainer
-// ---------------------------------------------------------------------------
-//
-CLcContainer::CLcContainer( MLcEventHandler& aEventHandler,
- CLcListBoxModel& aListBoxModel )
- :iEventHandler( aEventHandler ),
- iListBoxModel( &aListBoxModel )
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CLcContainer::~CLcContainer
-// ---------------------------------------------------------------------------
-//
-CLcContainer::~CLcContainer()
- {
- // Delete the List box
- delete iListBox;
- }
-
-// ---------------------------------------------------------------------------
-// CLcContainer::NewL
-// ---------------------------------------------------------------------------
-//
-CLcContainer* CLcContainer::NewL( const TRect& aRect,
- MLcEventHandler& aEventHandler,
- CLcListBoxModel& aListBoxModel )
- {
- CLcContainer* self = new (ELeave) CLcContainer( aEventHandler, aListBoxModel );
- CleanupStack::PushL( self );
- self->ConstructL( aRect );
- CleanupStack::Pop();
-
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcContainer::CLcContainer
-// ---------------------------------------------------------------------------
-//
-void CLcContainer::ConstructL( const TRect& aRect )
- {
- // This is the cheif control for this application. This has to be made a
- // Window owning control
- CreateWindowL();
-
- // Create a New Title for the View
- MakeTitleL( R_LOC_TITLE_CENTRE );
-
- // Create the List box
- CreateListboxL();
-
- // Get the Help context
- iContextName = KLOC_HLP_LOC_CENTRE();
-
- SetRect(aRect);
- ActivateL();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcContainer::GetHelpContext
-// ---------------------------------------------------------------------------
-//
-void CLcContainer::GetHelpContext( TCoeHelpContext& aContext ) const
- {
- aContext.iContext = iContextName;
- aContext.iMajor = TUid::Uid( KLcAppUid );
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLcContainer::GetFocussedItem
-// ---------------------------------------------------------------------------
-//
-TInt CLcContainer::GetFocussedItem()
- {
- // No need to check for the List box.
- return iListBox->CurrentItemIndex();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcContainer::UpdateL
-// ---------------------------------------------------------------------------
-//
-void CLcContainer::UpdateL( CLcListBoxModel& aListBoxModel )
- {
- TBool itemRemoved = EFalse;
-
- if ( aListBoxModel.MdcaCount() < iListBoxModel->MdcaCount() )
- {
- itemRemoved = ETrue;
- }
-
- // Assign the latest list box model
- iListBoxModel = &aListBoxModel;
-
- // If there is a list box update it.
- if ( iListBox )
- {
- // First we have to update the Icons Array
- UpdateIconsL();
-
- if ( itemRemoved )
- {
- iListBox->HandleItemRemovalL();
- }
- else
- {
- iListBox->HandleItemAdditionL();
- }
-
- // Set the last element as the Selected element if the element has been
- // removed.
- TInt currentItem = iListBox->CurrentItemIndex();
- MDesCArray* array = iListBox->Model()->ItemTextArray();
- if( KErrNotFound == currentItem || currentItem >= array->MdcaCount() )
- {
- TInt newSelected = array->MdcaCount() - 1;
- if( newSelected >= KMinSelectedItemNumber )
- {
- iListBox->SetCurrentItemIndex( newSelected );
- }
- }
- }
-
- // Update the List box.
- DrawDeferred();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcContainer::UpdateIconsL
-// ---------------------------------------------------------------------------
-//
-void CLcContainer::UpdateIconsL()
- {
- // Update the Icons only if there are any elements the List box
- if ( iListBoxModel->MdcaCount())
- {
- // Create a new Icons Array
- CAknIconArray* icons = new( ELeave ) CAknIconArray( KViewListboxGranularity );
- CleanupStack::PushL( icons );
-
- CLcLocationAppInfoArray& appArray( iListBoxModel->AppArray());
- TInt count = appArray.Count();
- // Add All the icons to the Icons array
- for ( TInt i = 0; i < count; i++ )
- {
- icons->AppendL( appArray[i].IconL() );
- }
-
- // Get old icons and delete those. This is done because SetIconArray will
- // not do it.
- CAknIconArray* oldIcons =
- static_cast<CAknIconArray*>( iListBox->ItemDrawer()->ColumnData()->IconArray());
-
- delete oldIcons;
-
- //Set New Icons to array
- iListBox->ItemDrawer()->ColumnData()->SetIconArray( icons );
- CleanupStack::Pop(icons);
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcContainer::SizeChanged
-// ---------------------------------------------------------------------------
-//
-void CLcContainer::SizeChanged()
- {
- if ( iListBox )
- {
- iListBox->SetRect( Rect());
- }
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLcContainer::CountComponentControls
-// ---------------------------------------------------------------------------
-//
-TInt CLcContainer::CountComponentControls() const
- {
- return KLcNoOfElements;
- }
-
-// ---------------------------------------------------------------------------
-// CCoeControl* CLcContainer::CLcContainer
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CLcContainer::ComponentControl(TInt /* aIndex*/ ) const
- {
- return iListBox;
- }
-
-// ---------------------------------------------------------------------------
-// TKeyResponse CLcContainer::OfferKeyEventL
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CLcContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType )
- {
- switch ( aKeyEvent.iCode )
- {
- case EKeyLeftArrow:
- case EKeyRightArrow:
- {
- // No action in this application for the Right arrow and left
- // arrow.
- return EKeyWasNotConsumed;
- }
- default:
- {
- break;
- }
- }
- // Now it's List box's job to process the key event
- return iListBox->OfferKeyEventL( aKeyEvent, aType );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcContainer::HandleResourceChange
-// ---------------------------------------------------------------------------
-//
-void CLcContainer::HandleResourceChange( TInt aType )
- {
- // Pass the event to the base class
- CCoeControl::HandleResourceChange( aType );
-
- switch( aType )
- {
- // Dynamic Layout switch and Skin Change
- case KEikDynamicLayoutVariantSwitch:
- case KAknsMessageSkinChange:
- {
- // The Command Handler needs to handle this event. TRAP_IGNORE
- // the error incase it occurs
- TRAP_IGNORE( iEventHandler.HandleEventL( aType ));
- break;
- }
- default:
- {
- break;
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcContainer::HandleListBoxEventL
-// ---------------------------------------------------------------------------
-//
-void CLcContainer::HandleListBoxEventL( CEikListBox* /* aListBox */,
- TListBoxEvent aEventType )
- {
- switch (aEventType)
- {
- // List box Item Selection
- case EEventEnterKeyPressed:
- case EEventItemSingleClicked:
- {
- // A Location based Application or Content/Service has been
- // selected. This element has to be returned back to the Command
- // Hanlder inorder to enable it to take appropriate action.
- iEventHandler.HandleEventL( ELcOpen );
- break;
- }
- default:
- break;
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcContainer::FocusChanged
-// ---------------------------------------------------------------------------
-//
-void CLcContainer::FocusChanged( TDrawNow aDrawNow )
- {
- CCoeControl::FocusChanged( aDrawNow );
-
- // The focus event has to be explicitly handed over to all the compound
- // controls since CCoeControl does not do that implicitly
- iListBox->SetFocus( IsFocused(), aDrawNow );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcContainer::MakeTitleL
-// Sets the Title text
-//
-// @param aResourceText Resource to create title
-// ---------------------------------------------------------------------------
-//
-void CLcContainer::MakeTitleL( TInt aResourceText )
- {
- CEikStatusPane* statusPane =
- static_cast<CEikStatusPane*>( iEikonEnv->AppUiFactory()->StatusPane());
- // Obtain the title from the Status Pane
- CAknTitlePane* title = static_cast<CAknTitlePane*>( statusPane->
- ControlL( TUid::Uid( EEikStatusPaneUidTitle )));
-
- // Set the Title's buffer
- HBufC* buf = StringLoader::LoadL( aResourceText );
- title->SetText( buf ); // Takes ownership of buf
- }
-
-// ---------------------------------------------------------------------------
-// void CLcContainer::CreateListboxL
-// ---------------------------------------------------------------------------
-//
-void CLcContainer::CreateListboxL()
- {
- // Create the List box
- iListBox = new ( ELeave ) CAknSingleLargeStyleListBox;
- iListBox->ConstructL( this, EAknListBoxSelectionList );
- iListBox->SetContainerWindowL( *this );
- iListBox->SetListBoxObserver( this );
- iListBox->CreateScrollBarFrameL(ETrue);
- iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
- CEikScrollBarFrame::EAuto );
-
- UpdateIconsL();
-
- // The ownership of the List box model is retained with the Container.
- // This is needed because the model is used to return the identifier of the
- // Location based Application or Content/Service when its selected.
- iListBox->Model()->SetItemTextArray( iListBoxModel );
- iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
- iListBox->ItemDrawer()->ColumnData()->EnableMarqueeL( ETrue );
-
- iListBox->ActivateL();
- }
-
-// End of File
--- a/locationcentre/lcapp/src/lcdocument.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +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: Document class for Location Centre Application UI.
-*
-*/
-
-
-// INCLUDE FILES
-#include "lcdocument.h"
-#include "lcappui.h"
-
-// ----------------- Member funtions for CLcDocument class ------------------
-
-// ---------------------------------------------------------------------------
-// CLcDocument::CLcDocument
-// ---------------------------------------------------------------------------
-//
-CLcDocument::CLcDocument( CEikApplication& aApp )
- :CAknDocument( aApp )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CLcDocument::~CLcDocument
-// ---------------------------------------------------------------------------
-//
-CLcDocument::~CLcDocument()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CLcDocument* CLcDocument::NewL
-// ---------------------------------------------------------------------------
-//
-CLcDocument* CLcDocument::NewL( CEikApplication& aApp )
- {
- CLcDocument* self = new (ELeave) CLcDocument( aApp );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
-
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcDocument::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcDocument::ConstructL()
- {
- }
-
-// ---------------------------------------------------------------------------
-// CLcDocument::CLcDocument
-// ---------------------------------------------------------------------------
-//
-CEikAppUi* CLcDocument::CreateAppUiL()
- {
- return new (ELeave) CLcAppUi;
- }
-
-// End of File
--- a/locationcentre/lcapp/src/lclistbox.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* Copyright (c) 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: List box defintion for Location System UI
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <eikclbd.h>
-#include <gulicon.h>
-#include <AknIconArray.h>
-
-// USER INCLUDES
-#include "lclistbox.h"
-#include "lclistboxmodel.h"
-#include "lclocationappinfo.h"
-
-// CONSTANT DEFINTION
-const TInt KLcViewListboxGranularity = 2;
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLcListBox::CLcListBox
-// ---------------------------------------------------------------------------
-//
-CLcListBox::CLcListBox()
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- }
-
-// ---------------------------------------------------------------------------
-// CLcListBox::~CLcListBox
-// ---------------------------------------------------------------------------
-//
-CLcListBox::~CLcListBox()
- {
- // C++ Destructor. Free all resources associated with this class.
-
- // Delete the listbox model
- delete iListBoxModel;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcListBox::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcListBox::ConstructL( CLcLocationAppInfoArray* aAppArray,
- const CCoeControl* aParent,
- MEikListBoxObserver* aObserver )
- {
- // Create the List box model using the Application Info array
- iListBoxModel = CLcListBoxModel::NewL( aAppArray );
-
- // Call the base class constructor
- CAknSingleLargeStyleListBox::ConstructL( aParent, EAknListBoxSelectionList );
-
- // If the parent window has been set, the set it as the Container window
- if ( aParent )
- {
- SetContainerWindowL( *aParent );
- }
- // If the list box observer has been set then set ot to the list box
- if ( aObserver )
- {
- SetListBoxObserver( aObserver );
- }
- CreateScrollBarFrameL( ETrue );
-
- ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
- CEikScrollBarFrame::EAuto );
-
- // The ownership of the list box model is retained with the Container.
- // This is because the model contains the additional functionality of
- // changing the settings values in addition to retreiving it.
- Model()->SetItemTextArray( iListBoxModel );
- Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
-
- UpdateIconsL();
- // ItemDrawer()->ColumnData()->SetIconArray( NULL );
- ItemDrawer()->ColumnData()->EnableMarqueeL( ETrue );
-
- }
-
-// ---------------------------------------------------------------------------
-// CLcListBox* CLcListBox::NewL
-// ---------------------------------------------------------------------------
-//
-CLcListBox* CLcListBox::NewL(
- CLcLocationAppInfoArray* aAppArray,
- const CCoeControl* aParent,
- MEikListBoxObserver* aObserver )
- {
- CLcListBox* self = new ( ELeave ) CLcListBox;
- CleanupStack::PushL( self );
- self->ConstructL( aAppArray, aParent, aObserver );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcListBox::UpdateListBoxContents
-// ---------------------------------------------------------------------------
-//
-void CLcListBox::UpdateListBoxContentsL(
- CLcLocationAppInfoArray* aAppArray )
- {
- // This function transfers the ownership of the Application information
- // array. So first we have to delete the existing array and then we can
- iListBoxModel->UpdateListBoxContents( aAppArray );
-
- UpdateIconsL();
- }
-
-// -----------------------------------------------------------------------------
-// CLocPsySettingsContainer::UpdateIconsL
-// -----------------------------------------------------------------------------
-void CLcListBox::UpdateIconsL()
- {
- CLcLocationAppInfoArray& iconArray( iListBoxModel->AppInfoArray());
-
- CAknIconArray* icons = new( ELeave ) CAknIconArray( KLcViewListboxGranularity );
- CleanupStack::PushL( icons );
-
- // Append each of the Icon elements to this array.
- for ( TInt i = 0; i < iconArray.Count(); i++ )
- {
- TRAPD( error, icons->AppendL( iconArray[i].IconL()));
- if ( error )
- {
- User::Leave( error );
- }
- }
-
- // Destroy the old icons because SetIconArray() does not destroy them.
- CArrayPtr<CGulIcon>* oldIcons = ItemDrawer()->ColumnData()->IconArray();
- if( oldIcons )
- {
- oldIcons->ResetAndDestroy();
- delete oldIcons;
- }
-
- // Transfer ownership of icon array to the lbx.
- // SetIconArray() Does not delete the Old icon array
- ItemDrawer()->ColumnData()->SetIconArray( icons );
- CleanupStack::Pop( icons );
-
- // Draws listbox again
- HandleItemAdditionL();
- HandleItemRemovalL();
- }
-
--- a/locationcentre/lcapp/src/lclistboxmodel.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +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: List box model for the list-box used to display the Location
-* Centre Application
-*
-*/
-
-
-// SYSTEM INCLUDES
-
-// USER INCLUDES
-#include "lclistboxmodel.h"
-#include "lclocationappinfo.h"
-#include "lcerrors.h"
-
-// CONSTANT DEFINTION
-const TInt KLcBufferSize = 128;
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLcListBoxModel::CLcListBoxModel
-// ---------------------------------------------------------------------------
-//
-CLcListBoxModel::CLcListBoxModel( CLcLocationAppInfoArray* aAppArray )
- :iAppArray( aAppArray )
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- }
-
-// ---------------------------------------------------------------------------
-// CLcListBoxModel::~CLcListBoxModel
-// ---------------------------------------------------------------------------
-//
-CLcListBoxModel::~CLcListBoxModel()
- {
- // C++ Destructor. Free all resources associated with this class.
-
- // Delete the MdcaPoint buffer
- delete iBuffer;
-
- // Delete the Application information array
- delete iAppArray;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcListBoxModel::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcListBoxModel::ConstructL()
- {
- // Create the Buffer for packing the MdcaPoint
- iBuffer = HBufC16::NewL( KLcBufferSize );
- }
-
-// ---------------------------------------------------------------------------
-// CLcListBoxModel* CLcListBoxModel::NewL
-// ---------------------------------------------------------------------------
-//
-CLcListBoxModel* CLcListBoxModel::NewL( CLcLocationAppInfoArray* aAppArray )
- {
- CLcListBoxModel* self = new ( ELeave ) CLcListBoxModel( aAppArray );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcListBoxModel::UpdateModel
-// ---------------------------------------------------------------------------
-//
-void CLcListBoxModel::UpdateModel( CLcLocationAppInfoArray* aAppArray )
- {
- // The model contents have changed. We have to remove the old App array
- // and assign the new one.
-
- delete iAppArray;
-
- // Now assign the new one
- iAppArray = aAppArray;
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfoArray& CLcListBoxModel::AppArray
-// ---------------------------------------------------------------------------
-//
-CLcLocationAppInfoArray& CLcListBoxModel::AppArray()
- {
- // If the Array is not set then there is a programming error from which
- // we cannot recover. So Panic the Application
- if( !iAppArray )
- {
- User::Panic( KLcPanicCategory, ELcInvalidIndex );
- }
- return *iAppArray;
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLcListBoxModel::AppInfoId
-// ---------------------------------------------------------------------------
-//
-TPtrC CLcListBoxModel::AppInfoId( TInt aIndex ) const
- {
- // Check if the element requested is out of array bounds
- if( aIndex < 0 || aIndex >= iAppArray->Count())
- {
- User::Panic( KLcPanicCategory, ELcInvalidIndex );
- }
-
- return (*iAppArray)[ aIndex ].Id();
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLcListBoxModel::MdcaCount
-// ---------------------------------------------------------------------------
-//
-TInt CLcListBoxModel::MdcaCount() const
- {
- if ( iAppArray )
- {
- return iAppArray->Count();
- }
- else
- {
- return 0;
- }
- }
-
-// ---------------------------------------------------------------------------
-// TPtrC16 CLcListBoxModel::MdcaPoint
-// ---------------------------------------------------------------------------
-//
-TPtrC16 CLcListBoxModel::MdcaPoint( TInt aIndex ) const
- {
- // If the Array is not set then there is a programming error from which
- // we cannot recover. So Panic the Application
- if( !iAppArray )
- {
- User::Panic( KLcPanicCategory, ELcInvalidIndex );
- }
-
- // Pack the contents into the Buffer. We dont have to re-allocate the buffer
- // everytime because the length of the name field is restricted in the
- // Location Centre Registration API
-
- // Tabulator Defintion
- _LIT( KTab, "\t" );
-
- // Create formatted item string.
- // list_single_large_pane:
- // list item string format: "1\tTextLabel\t0\t0"
- // where 0 is an index to icon array
- TPtr16 buf( iBuffer->Des());
- buf.Zero();
-
- // Append the Icon Index
- buf.AppendNum( aIndex );
-
- // Append the Tab Key
- buf.Append( KTab );
-
- // Append the Application Information
- buf.Append( (*iAppArray)[aIndex].Name());
-
- // Append the Tab Key
- buf.Append( KTab );
-
- // Append the Tab Key
- buf.Append( KTab );
- return buf;
- }
--- a/locationcentre/lcapp/src/lcview.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,293 +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: View class for Location Centre Application UI.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <lcapp.rsg>
-#include <hlplch.h>
-#include <featmgr.h>
-#include <eikmenup.h>
-#include <eikbtgpc.h>
-
-// USER INCLUDES
-#include "lcview.h"
-#include "lccontainer.h"
-#include "lcappui.h"
-#include "lclistboxmodel.h"
-#include "lcapp.hrh"
-
-// CONSTANT DEFINTIONS
-const TUid KLcViewId = TUid::Uid( 1 );
-
-// ----------------- Member funtions for CLcView class -----------------------
-
-// ---------------------------------------------------------------------------
-// CLcView::CLcView
-// ---------------------------------------------------------------------------
-//
-CLcView::CLcView( MLcEventHandler& aEventHandler,
- CLcListBoxModel& aListBoxModel )
- :iEventHandler( aEventHandler ),
- iListBoxModel( &aListBoxModel )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CLcView::~CLcView
-// ---------------------------------------------------------------------------
-//
-CLcView::~CLcView()
- {
- if ( iContainer )
- {
- AppUi()->RemoveFromViewStack( *this, iContainer );
- }
-
- delete iContainer;
-
- FeatureManager::UnInitializeLib();
- }
-
-// ---------------------------------------------------------------------------
-// CLcView* CLcView::NewL
-// ---------------------------------------------------------------------------
-//
-CLcView* CLcView::NewL( MLcEventHandler& aEventHandler,
- CLcListBoxModel& aListBoxModel )
- {
- CLcView* self = CLcView::NewLC( aEventHandler, aListBoxModel );
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcView* CLcView::NewLC
-// ---------------------------------------------------------------------------
-//
-CLcView* CLcView::NewLC( MLcEventHandler& aEventHandler,
- CLcListBoxModel& aListBoxModel )
- {
- CLcView* self = new ( ELeave ) CLcView( aEventHandler, aListBoxModel );
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcView::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcView::ConstructL()
- {
- BaseConstructL( R_LC_VIEW );
-
- // Feature manager required for Help feature check
- FeatureManager::InitializeLibL();
-
- }
-
-// ---------------------------------------------------------------------------
-// void CLcView::ScreenSizeChanged
-// ---------------------------------------------------------------------------
-//
-void CLcView::ScreenSizeChanged()
- {
- // Request the Client container to change its rect to a new Rect
- if( iContainer )
- {
- iContainer->SetRect( ClientRect());
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcView::UpdateL
-// ---------------------------------------------------------------------------
-//
-void CLcView::UpdateL( CLcListBoxModel& aListBoxModel )
- {
- // Set the new List box model.
- iListBoxModel = &aListBoxModel;
-
- // Now update the contaier.
- if (iContainer)
- {
- iContainer->UpdateL(*iListBoxModel);
- }
-
- if (iListBoxModel->MdcaCount())
- {
- if (Cba())
- {
- Cba()->SetCommandSetL(R_LC_CBA);
- }
- }
- else
- {
- if (Cba())
- {
- Cba()->SetCommandSetL(R_LC_CBA_EMPTY);
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcView::UpdateIconsL
-// ---------------------------------------------------------------------------
-//
-void CLcView::UpdateIconsL()
- {
- if ( iContainer )
- {
- iContainer->UpdateIconsL();
- }
- iContainer->DrawDeferred();
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLcView::GetFocussedItem
-// ---------------------------------------------------------------------------
-//
-TInt CLcView::GetFocussedItem()
- {
- if ( iContainer )
- {
- return iContainer->GetFocussedItem();
- }
- else
- {
- return KErrNotFound;
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcView::DoActivateL
-// ---------------------------------------------------------------------------
-//
-void CLcView::DoActivateL( const TVwsViewId& /* PrevViewId*/,
- TUid /* aCustomMessageId*/,
- const TDesC8& /* aCustomMessage */)
- {
- // Destroy the existing container if it exists
- if( iContainer )
- {
- AppUi()->RemoveFromViewStack( *this, iContainer );
- delete iContainer;
- iContainer=NULL;
- }
-
- // Create new Container
- iContainer = CLcContainer::NewL( ClientRect(), iEventHandler, *iListBoxModel );
- iContainer->SetMopParent( this );
- AppUi()->AddToViewStackL( *this, iContainer );
-
- if( iListBoxModel->MdcaCount())
- {
- Cba()->SetCommandSetL( R_LC_CBA );
- }
- else
- {
- Cba()->SetCommandSetL( R_LC_CBA_EMPTY );
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcView::DoDeactivate
-// ---------------------------------------------------------------------------
-//
-void CLcView::DoDeactivate()
- {
- // Destroy Container
- if ( iContainer )
- {
- AppUi()->RemoveFromViewStack( *this, iContainer );
- delete iContainer;
- iContainer = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// TUid CLcView::Id
-// ---------------------------------------------------------------------------
-//
-TUid CLcView::Id() const
- {
- return KLcViewId;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcView::HandleCommandL
-// ---------------------------------------------------------------------------
-//
-void CLcView::HandleCommandL( TInt aCommand )
- {
- // This Class only handles the Help feature. All the other events are handled
- // by the App UI class.
- switch( aCommand )
- {
- case EAknCmdHelp:
- {
- HlpLauncher::LaunchHelpApplicationL( iCoeEnv->WsSession(),
- AppUi()->AppHelpContextL());
- break;
- }
- default:
- {
- AppUi()->HandleCommandL( aCommand );
- break;
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcView::DynInitMenuPaneL
-// ---------------------------------------------------------------------------
-//
-void CLcView::DynInitMenuPaneL( TInt aResourceId,
- CEikMenuPane* aMenuPane )
- {
- if ( aResourceId == R_LC_MENU )
- {
- HandleHelpFeature( *aMenuPane );
-
- if( iListBoxModel->MdcaCount())
- {
- aMenuPane->SetItemDimmed( ELcOpen, EFalse );
- }
- else
- {
- aMenuPane->SetItemDimmed( ELcOpen, ETrue );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcView::HandleHelpFeature
-// ---------------------------------------------------------------------------
-//
-void CLcView::HandleHelpFeature( CEikMenuPane& aMenuPane ) const
- {
- // The Help menu item must be displayed only if the Feature is supported.
- // If not, the Help item must be dimmed in the Options menu.
- if ( FeatureManager::FeatureSupported( KFeatureIdHelp ))
- {
- aMenuPane.SetItemDimmed( EAknCmdHelp, EFalse );
- }
- else
- {
- aMenuPane.SetItemDimmed( EAknCmdHelp, ETrue );
- }
- }
--- a/locationcentre/lcserver/group/bld.inf Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +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: This file provides the information required for building the
-* Location Centre Server.
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Location Centre Server Private Interface headers
-../inc/lcserverinterface.h |../../../../inc/lcserverinterface.h
-
-PRJ_MMPFILES
-// Location Centre Server project definition
-lcserver.mmp
-
-PRJ_TESTMMPFILES
-
-// End of File
--- a/locationcentre/lcserver/group/lcserver.mmp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +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: Project Definition file for building Location Centre Server.
-* version : %version: 2 %
-*
-*/
-
-
-// SYSTEM INCLUDE
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-// DEFINES
-#define KLocationCentreServerUid3 0x10283138
-
-TARGET lcserver.exe
-TARGETTYPE exe
-UID 0x0 KLocationCentreServerUid3
-
-VERSION 1.0
-
-CAPABILITY CAP_SERVER ProtServ
-VENDORID VID_DEFAULT
-
-EPOCSTACKSIZE 0x8000
-
-
-SOURCEPATH ../src
-SOURCE lcserverstartup.cpp
-SOURCE lcserver.cpp
-SOURCE lcserversession.cpp
-SOURCE lcservershutdowntimer.cpp
-SOURCE lcserverengine.cpp
-SOURCE lcregistry.cpp
-SOURCE lcregistryupdate.cpp
-SOURCE lcregistrationparser.cpp
-SOURCE lcregapporder.cpp
-SOURCE lcregxmltaginfo.cpp
-SOURCE lcregxmlparserutils.cpp
-SOURCE lcregappinfo.cpp
-SOURCE lcregappstore.cpp
-
-USERINCLUDE ../inc
-USERINCLUDE ../../inc
-USERINCLUDE ../../../inc
-USERINCLUDE ../../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib
-LIBRARY efsrv.lib
-LIBRARY bafl.lib
-LIBRARY lcutils.lib
-LIBRARY estor.lib
-LIBRARY lcservice.lib
-LIBRARY apgrfx.lib
-LIBRARY PlatformEnv.lib
-LIBRARY xmlframework.lib
-LIBRARY centralrepository.lib
-LIBRARY apparc.lib
-LIBRARY charconv.lib
-LIBRARY CommonUI.lib
-LIBRARY apmime.lib
-LIBRARY edbms.lib
-LIBRARY javaregistryclient.lib
-LIBRARY flogger.lib
-
-// End of File
--- a/locationcentre/lcserver/inc/lcprivatecrkeys.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +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: Central Repository Key defintion for ordering of Location
-* based Applications and Content/Services in Location Centre.
-*
-*/
-
-
-#ifndef LCPRIVATECRKEYS_H_
-#define LCPRIVATECRKEYS_H_
-
-// System Includes
-#include <e32base.h>
-
-/**
- * The category UID for the keys in this header file.
- * UID of the Location Centre Central Repository Key. This key defines the
- * position of the Location based Applications and Contents/Services in
- * Location Centre and the value for Location Centre Server Shutdown timer value.
- */
-const TUid KCRUidLocationCentre = { 0x10283137 };
-
-
-/**
- * Enumeration list of values for the @p KCRUidLocationCentreOrder key.
- *
- * Location Centre displays the list of Location based Application and
- * Services/Contents registered with it. Each Location based Application or
- * Content/Service can be present in either the Top, Middle or Bottom portion of
- * the list. The exact location and order of display of these Applications
- * and Services/Contents depends upon whether they are pre-installed in the
- * phone image or whether they are dynamically installed. Those Applications and
- * Contents/Services which come with the phone image can occur only in the Top
- * or Bottom portion of the list while those Applications and Contents/Services
- * which are dynamically installed are shown in the Middle portion of the list.
- *
- * The enumeration @p TLcOrderValues defines the values and format of Top, Middle
- * and Bottom keys.
- */
-enum TLcOrderValues
- {
- /**
- * Top Key for list of Location based Applications and Contents/Services which
- * are shown at the top of Location Centre list.
- * This key is a Read only key and the default values for the Keys is configured
- * by the device manufacturer while flashing the device. They cannot be dynamically
- * configured. The keys contains a UNICODE ( UCS -2 ) string which contains a
- * list of Unique Identifers for Location based Application and Contents/Services
- * in the order in which the device manufacturer wants these Applications and
- * Contents/Services to be displayed.
- *
- * The format of this Key is defined as
- * | Count | Length(1) | UID(1) | Length(2) | UID(2) | ... | Length( Count ) | UID( Count ) |
- * where,
- * Count - ( 4 bytes ) - The number of Location based Applications or Contents / Services
- * which are predefined to be displayed at the top of
- * Location Centre.
- * Length(n) - ( 4 bytes ) - Length of the UID for the Location based Application or
- * Content/Service encoded as as a string in the UNICODE ( UCS -2)
- * format.
- * String(n) - ( Length(n) * 2 bytes ) - UID of the Location based Application or Content/Service
- * encoded as a string in the UNICODE ( UCS-2 ) format. Here each character
- * of the UID takes 2 bytes. Hence, over all the length of the UID string
- * is 2 * Length(n).
- */
- ELcTop = 0x00000001,
-
- /**
- * Middle Key for list of Location based Applications and Contents/Services which
- * are shown in the middle of Location Centre list.
- *
- * This key takes a Boolean value indicating whether there are any Location based
- * Applications or Contents/Services which have been dynamically installed or not.
- * The values which this key can take are
- * ETrue, If there are certain Location based Applications or Contents/Service
- * which have been dynamically installed on the terminal.
- * EFalse, If there are no Location based Applications or Contents/Service
- * which have been dynamically installed on the terminal.
- * The default value for this Key is EFalse.
- *
- * Incase there are any dynamically installed Applications or Contents/Services then
- * these components would be displayed in the middle of Location Centre in the order
- * of their registration.
- */
- ELcMiddle = 0x00000002,
-
- /**
- * Bottom Key for list of Location based Applications and Contents/Services which
- * are shown at the bottom of Location Centre list.
- * This key is a Read only key and the default values for the Keys is configured
- * by the device manufacturer while flashing the device. They cannot be dynamically
- * configured. The keys contains a UNICODE ( UCS -2 ) string which contains a
- * list of Unique Identifers for Location based Application and Contents/Services
- * in the order in which the device manufacturer wants these Applications and
- * Contents/Services to be displayed.
- *
- * The format of this Key is defined as
- * | Count | Length(1) | UID(1) | Length(2) | UID(2) | ... | Length( Count ) | UID( Count ) |
- * where,
- * Count - ( 4 bytes ) - The number of Location based Applications or Contents / Services
- * which are predefined to be displayed at the bottom of
- * Location Centre.
- * Length(n) - ( 4 bytes ) - Length of the UID for the Location based Application or
- * Content/Service encoded as as a string in the UNICODE ( UCS -2)
- * format.
- * String(n) - ( Length(n) * 2 bytes ) - UID of the Location based Application or Content/Service
- * encoded as a string in the UNICODE ( UCS-2 ) format. Here each character
- * of the UID takes 2 bytes. Hence, over all the length of the UID string
- * is 2 * Length(n).
- */
- ELcBottom = 0x00000003
- };
-
-/**
- * Value for Location Centre shutdown timer in milliseconds.
- */
-const TInt KLcShutdownTimerValue = 0x00000004;
-
-#endif // LCPRIVATECRKEYS_H_
-
-// End of File
--- a/locationcentre/lcserver/inc/lcregappinfo.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +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: Registration information for a Location based Application.
-*
-*/
-
-
-#ifndef C_LCREGAPPINFO_H
-#define C_LCREGAPPINFO_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-// 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<HBufC> iAppNameArray;
-
- // contains all the different language id for a registered file
- RArray<TUint32> iAppLangArray;
-
- // sets the order index of app info
- TInt iIndex;
- };
-
-#endif // C_LCREGAPPINFO_H
--- a/locationcentre/lcserver/inc/lcregappnamelangid.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,256 +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: Registration information for a Location based Application.
-*
-*/
-
-
-#ifndef T_LCREGAPPNAMELANGID_H
-#define T_LCREGAPPNAMELANGID_H
-
-// SYSTEM INCLUDES
-#include <e32const.h>
-
-// USER INCLUDE
-
-// FORWARD DECLARATIONS
-
-// CONSTANT DEFINATION
-//Language code _LIT defination
-_LIT( KLangEn, "en" );
-_LIT( KLangFr, "fr" );
-_LIT( KLangGe, "ge" );
-_LIT( KLangSp, "sp" );
-_LIT( KLangIt, "it" );
-_LIT( KLangSw, "sw" );
-_LIT( KLangDa, "da" );
-_LIT( KLangNo, "no" );
-_LIT( KLangFi, "fi" );
-_LIT( KLangAm, "am" );
-_LIT( KLangSf, "sf" );
-_LIT( KLangSg, "sg" );
-_LIT( KLangPo, "po" );
-_LIT( KLangTu, "tu" );
-_LIT( KLangIc, "ic" );
-_LIT( KLangRu, "ru" );
-_LIT( KLangHu, "hu" );
-_LIT( KLangDu, "du" );
-_LIT( KLangBl, "bl" );
-_LIT( KLangAu, "au" );
-_LIT( KLangBf, "bf" );
-_LIT( KLangAs, "as" );
-_LIT( KLangNz, "nz" );
-_LIT( KLangIf, "if" );
-_LIT( KLangCs, "cs" );
-_LIT( KLangSk, "sk" );
-_LIT( KLangPl, "pl" );
-_LIT( KLangSl, "sl" );
-_LIT( KLangTc, "tc" );
-_LIT( KLangHk, "hk" );
-_LIT( KLangZh, "zh" );
-_LIT( KLangJa, "ja" );
-_LIT( KLangTh, "th" );
-_LIT( KLangAf, "af" );
-_LIT( KLangSq, "sq" );
-_LIT( KLangAh, "ah" );
-_LIT( KLangAr, "ar" );
-_LIT( KLangHy, "hy" );
-_LIT( KLangTl, "tl" );
-_LIT( KLangBe, "be" );
-_LIT( KLangBn, "bn" );
-_LIT( KLangBg, "bg" );
-_LIT( KLangMy, "my" );
-_LIT( KLangCa, "ca" );
-_LIT( KLangHr, "hr" );
-_LIT( KLangCe, "ce" );
-_LIT( KLangIe, "ie" );
-_LIT( KLangSa, "sa" );
-_LIT( KLangEt, "et" );
-_LIT( KLangFa, "fa" );
-_LIT( KLangCf, "cf" );
-_LIT( KLangGd, "gd" );
-_LIT( KLangKa, "ka" );
-_LIT( KLangEl, "el" );
-_LIT( KLangCg, "cg" );
-_LIT( KLangGu, "gu" );
-_LIT( KLangHe, "he" );
-_LIT( KLangHi, "hi" );
-_LIT( KLangIn, "in" );
-_LIT( KLangGa, "ga" );
-_LIT( KLangSz, "sz" );
-_LIT( KLangKn, "kn" );
-_LIT( KLangKk, "kk" );
-_LIT( KLangKm, "km" );
-_LIT( KLangKo, "ko" );
-_LIT( KLangLo, "lo" );
-_LIT( KLangLv, "lv" );
-_LIT( KLangLt, "lt" );
-_LIT( KLangMk, "mk" );
-_LIT( KLangMs, "ms" );
-_LIT( KLangMl, "ml" );
-_LIT( KLangMr, "mr" );
-_LIT( KLangMo, "mo" );
-_LIT( KLangMn, "mn" );
-_LIT( KLangNn, "nn" );
-_LIT( KLangBp, "bp" );
-_LIT( KLangPa, "pa" );
-_LIT( KLangRo, "ro" );
-_LIT( KLangSr, "sr" );
-_LIT( KLangSi, "si" );
-_LIT( KLangSo, "so" );
-_LIT( KLangOs, "os" );
-_LIT( KLangLs, "ls" );
-_LIT( KLangSh, "sh" );
-_LIT( KLangFs, "fs" );
-_LIT( KLangReserv1, "Reserved1" );
-_LIT( KLangTa, "ta" );
-_LIT( KLangTe, "te" );
-_LIT( KLangBo, "bo" );
-_LIT( KLangTi, "ti" );
-_LIT( KLangCt, "ct" );
-_LIT( KLangTk, "tk" );
-_LIT( KLangUk, "uk" );
-_LIT( KLangUr, "ur" );
-_LIT( KLangReserv2, "Reserved2" );
-_LIT( KLangVi, "vi" );
-_LIT( KLangCy, "cy" );
-_LIT( KLangZu, "zu" );
-
-
-/**
- * Structure of Language name table.
- *
- * This structure stores the
- * language name and the language id for a service.
- *
- * @since S60 v5.0
- */
-struct TNameTable
- {
- const TDesC& iName;
- TLanguage iNumber;
- };
-
-/**
- *
- * This array contains all the
- * double character standard language code.
- *
- * @since S60 v5.0
- */
-const TNameTable KLangOptions[] =
- {
- {KLangEn, ELangEnglish},
- {KLangFr, ELangFrench},
- {KLangGe, ELangGerman},
- {KLangSp, ELangSpanish},
- {KLangIt, ELangItalian},
- {KLangSw, ELangSwedish},
- {KLangDa, ELangDanish},
- {KLangNo, ELangNorwegian},
- {KLangFi, ELangFinnish},
- {KLangAm, ELangAmerican},
- {KLangSf, ELangSwissFrench},
- {KLangSg, ELangSwissGerman},
- {KLangPo, ELangPortuguese},
- {KLangTu, ELangTurkish},
- {KLangIc, ELangIcelandic},
- {KLangRu, ELangRussian},
- {KLangHu, ELangHungarian},
- {KLangDu, ELangDutch},
- {KLangBl, ELangBelgianFlemish},
- {KLangAu, ELangAustralian},
- {KLangBf, ELangBelgianFrench},
- {KLangAs, ELangAustrian},
- {KLangNz, ELangNewZealand},
- {KLangIf, ELangInternationalFrench},
- {KLangCs, ELangCzech},
- {KLangSk, ELangSlovak},
- {KLangPl, ELangPolish},
- {KLangSl, ELangSlovenian},
- {KLangTc, ELangTaiwanChinese},
- {KLangHk, ELangHongKongChinese},
- {KLangZh, ELangPrcChinese},
- {KLangJa, ELangJapanese},
- {KLangTh, ELangThai},
- {KLangAf, ELangAfrikaans },
- {KLangSq, ELangAlbanian },
- {KLangAh, ELangAmharic },
- {KLangAr, ELangArabic },
- {KLangHy, ELangArmenian },
- {KLangTl, ELangTagalog },
- {KLangBe, ELangBelarussian },
- {KLangBn, ELangBengali },
- {KLangBg, ELangBulgarian },
- {KLangMy, ELangBurmese },
- {KLangCa, ELangCatalan },
- {KLangHr, ELangCroatian },
- {KLangCe, ELangCanadianEnglish },
- {KLangIe, ELangInternationalEnglish },
- {KLangSa, ELangSouthAfricanEnglish },
- {KLangEt, ELangEstonian },
- {KLangFa, ELangFarsi },
- {KLangCf, ELangCanadianFrench },
- {KLangGd, ELangScotsGaelic },
- {KLangKa, ELangGeorgian },
- {KLangEl, ELangGreek },
- {KLangCg, ELangCyprusGreek },
- {KLangGu, ELangGujarati },
- {KLangHe, ELangHebrew },
- {KLangHi, ELangHindi },
- {KLangIn, ELangIndonesian },
- {KLangGa, ELangIrish },
- {KLangSz, ELangSwissItalian },
- {KLangKn, ELangKannada },
- {KLangKk, ELangKazakh },
- {KLangKm, ELangKhmer },
- {KLangKo, ELangKorean },
- {KLangLo, ELangLao },
- {KLangLv, ELangLatvian },
- {KLangLt, ELangLithuanian },
- {KLangMk, ELangMacedonian },
- {KLangMs, ELangMalay },
- {KLangMl, ELangMalayalam },
- {KLangMr, ELangMarathi },
- {KLangMo, ELangMoldavian },
- {KLangMn, ELangMongolian },
- {KLangNn, ELangNorwegianNynorsk },
- {KLangBp, ELangBrazilianPortuguese },
- {KLangPa, ELangPunjabi },
- {KLangRo, ELangRomanian },
- {KLangSr, ELangSerbian },
- {KLangSi, ELangSinhalese },
- {KLangSo, ELangSomali },
- {KLangOs, ELangInternationalSpanish },
- {KLangLs, ELangLatinAmericanSpanish },
- {KLangSh, ELangSwahili },
- {KLangFs, ELangFinlandSwedish },
- {KLangReserv1, ELangReserved1 },
- {KLangTa, ELangTamil },
- {KLangTe, ELangTelugu },
- {KLangBo, ELangTibetan },
- {KLangTi, ELangTigrinya },
- {KLangCt, ELangCyprusTurkish },
- {KLangTk, ELangTurkmen },
- {KLangUk, ELangUkrainian },
- {KLangUr, ELangUrdu },
- {KLangReserv2, ELangReserved2 },
- {KLangVi, ELangVietnamese },
- {KLangCy, ELangWelsh },
- {KLangZu, ELangZulu }
- };
-
-#define NUMLANGOPTIONS (sizeof(KLangOptions)/sizeof(TNameTable))
-
-#endif // T_LCREGAPPNAMELANGID_H
\ No newline at end of file
--- a/locationcentre/lcserver/inc/lcregapporder.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +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: Location Centre Server object.
-*
-*/
-
-
-#ifndef C_LCREGAPPORDER_H
-#define C_LCREGAPPORDER_H
-
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-#include <centralrepository.h>
-#include <s32strm.h>
-
-// USER INCLUDDE
-#include "lcipcparams.h"
-
-// FORWARD DECLARATIONS
-class CLcRegAppStore;
-
-//DATA TYPE
-
-/**
- * Location Centre registered application content/service display order.
- *
- * This class is inherited from CBase. Extracts the registration
- * order from the central repository key
- * and externalize/internalize of those from/to TDesC key value.
- *
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CLcRegAppOrder ) : public CBase
- {
-public:
- /**
- * Constructs a new instance of CLcRegAppOrder.
- *
- * @return The new instance of CLcRegAppOrder object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcRegAppOrder* NewL( CLcRegAppStore& aLcRegAppStore);
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * server registry handler
- */
- ~CLcRegAppOrder();
-
-public:
- /**
- * Extracts the application registered order according to place
- * like top,middle,and bottom in the list from central repository key
- * buffer output.
- *
- * @since S60 v5.0
- * @param [in]aUuid UUID of the registered app/service
- * @param [out]aRowPos returns the position of app/service
- *
- * @return TInt If successfull the return KErrNone.
- */
- TInt GetRegisteredAppOrder( const TDesC& aUuid,
- TInt& aRowPos);
-
- /**
- * Remove the deregistered application from the array
- * depends upon the UUID's sent through the function.
- *
- * @since S60 v5.0
- * @param aUuid UUID of the registered app/service
- *
- * @return TInt If successfull the return KErrNone.
- */
- void RemoveArrayL(const TDesC& aUuid);
-
- /**
- * Append the registered application to the array
- * depends upon the UUID's sent through the function.
- *
- * @since S60 v5.0
- * @param aUuid UUID of the registered app/service
- *
- * @return TInt Index.
- */
- TInt AppendArrayL(const TDesC& aUuid);
-
-private: // new private method
- /**
- *
- *
- * @since S60 v5.0
- * @param aArray[ out ]
- * @param aArray[ in ]
- *
- */
- void ParseCenRepKeyL( RPointerArray< HBufC >& aArray,
- const TDesC& aKey );
-
- /**
- *
- * @since S60 v5.0
- * @param aBuffer
- *
- * @return TUint32
- */
- TUint32 ParseInteger( const TDesC& aBuffer );
-
-private:
- /**
- * C++ Default constructor
- */
- CLcRegAppOrder( CLcRegAppStore& aLcRegAppStore );
-
- /**
- * Second phase of the two phase constructor
- */
- void ConstructL();
-
-private: //data member
- //own: Central repository instance.
- CRepository* iRepository;
-
- //own: array of top portion's UUID's
- RPointerArray< HBufC > iTopArray;
-
- //own: array of bottom portion's UUID's
- RPointerArray< HBufC > iBottomArray;
-
- // array of middle portion's UUID's
- RLcIpcAppIdArray iMiddleArray;
-
- //reference to appstore object comming through lc registry
- CLcRegAppStore* iLcRegAppStore;
- };
-
-#endif // C_LCREGAPPORDER_H
-
--- a/locationcentre/lcserver/inc/lcregappstore.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +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: Location Centre Server object.
-*
-*/
-
-
-#ifndef C_LCREGAPPSTORE_H
-#define C_LCREGAPPSTORE_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-#include <f32file.h>
-#include <d32dbms.h> // RDbStoreDatabase
-
-// USER INCLUDES
-
-
-// FORWARD DECLARATIONS
-class CFileStore;
-
-/**
- * Implementation of Location Centre private storage info class.
- *
- * This class provides the implementation of private
- * storage of Location Centre Registration info(services) using
- * symbian DBMS API.
- */
-NONSHARABLE_CLASS( CLcRegAppStore ) : public CBase
- {
-public:
- /**
- * Enum to detect wheather Db is created or not
- */
- enum TLcDbStatus
- {
- // Db is successfully created
- ELcDbCreate = 0,
- // Db is successfully opened
- ELcDbOpen
- };
-
- /**
- * Constructs a new instance of CLcRegAppStore.
- *
- * @return The new instance of CLcRegAppStore object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcRegAppStore* NewL( RFs& aFs );
-
- /**
- * Constructs a new instance of CLcRegAppStore.
- * Leaves the created instance on the cleanup stack.
- *
- * @return The new instance of CLcRegAppStore object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcRegAppStore* NewLC( RFs& aFs );
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * server private file handler
- */
- virtual ~CLcRegAppStore();
-
-
-public:
- /**
- * This function return the first column and first row
- * value which is Uuid.After externalize this we extract
- * all the seperate Uuid's of dynamically registered services
- *
- * @since S60 v5.0
- * @param aUuid[ out ] contains the packed Uuid value.
- */
- void GetUuidValueL( TDes8& aUuid );
-
- /**
- * This function insert this packed Uuid value at first column
- * and first row of the app info database for first time and then do Update
- *
- * @since S60 v5.0
- * @param aAppUid[ in ] Packed Uuid value.
- * @return
- */
- void AddDataToTableL( const TDesC8& aAppUid );
-
-private:
- /**
- * C++ Default constructor
- */
- CLcRegAppStore( RFs& aFs );
-
- /**
- * Second phase of the two phase constructor
- */
- void ConstructL();
-
-private: // private API for database operations
- /**
- * Open existing app info database in exclusive
- * (non-shared) mode.
- *
- * @since S60 v5.0
- * @param aRegAppInfoFile is full path to app info
- * database file.
- */
- void OpenDbL( const TFileName& aRegAppInfoFile );
-
- /**
- * Creates and opens a new app info database. Creates a
- * database file, table structure and an index. The database
- * will be open in exclusive (non-shareable) mode. The
- * database must be closed, when not used any more. If the
- * database exists, it is replaced.
- *
- * @since S60 v5.0
- * @param aRegAppInfoFile is full path to app info
- * database file.
- */
- void CreateDbL( const TFileName& aRegAppInfoFile );
-
- /**
- * Closes the database opened with either OpenDbL or
- * CreateDbL. It is safe to close the database even if it
- * is closed.
- *
- * @since S60 v5.0
- * @param None
- * @return None.
- */
- void Close();
-
- /**
- * This function creates the app info table.
- *
- * @since S60 v5.0
- * @param None
- */
- void CreateAppInfoTableL();
-
-
-private: // Member data
- // File server reference comming from the lcregistry
- // used for iFileStore
- RFs& iFsSession;
-
- // For database operations
- RDbStoreDatabase iRegAppInfoDb;
-
- //own: For creating and opening database files
- CFileStore* iFileStore;
-
- // holds the database file name
- TFileName iLcRegdbFile;
-
- // holds the db creation status
- TLcDbStatus iDbStatus;
- };
-
-#endif // C_LCREGAPPSTORE_H
\ No newline at end of file
--- a/locationcentre/lcserver/inc/lcregistrationparser.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,323 +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: Location Centre Server object.
-*
-*/
-
-
-#ifndef C_LCREGISTRATIONPARSER_H
-#define C_LCREGISTRATIONPARSER_H
-
-// SYSTEM INCLUDES
-#include <xml/parser.h>
-#include <xml/contenthandler.h>
-#include <xml/documentparameters.h>
-#include <f32file.h>
-
-//USER INCLUDE
-#include "lcregxmltagtype.h"
-
-
-// DATA TYPES
-enum TXmlParserElementState
- {
- EXmlParserOnStartElement,
- EXmlParserOnEndElement
- };
-
-// FORWARD DECLARATIONS
-class CLcRegAppInfo;
-
-/**
- * class CLcRegistrationParser.
- *
- * This class is inherited from CBase. This
- * class is used as a parser for parsing the Location Centre Registration file.
- * @since S60 v5.0
- */
-class CLcRegistrationParser : public CBase, public Xml::MContentHandler
- {
-public:
- /**
- * Constructs a new instance of CLcRegistrationParser.
- *
- * @return The new instance of CLcRegistrationParser object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcRegistrationParser* NewL( RFs& aFs );
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * server registry handler
- */
- ~CLcRegistrationParser();
-
-public: // New functions
- /**
- * create and initialize the parser.
- *
- * @param aFile Filename to be parsed
- * index.
- * @return returns a CLcRegAppInfo* object.
- */
- CLcRegAppInfo* ParseFileL( const TDesC& aFile );
-
-public: // Functions from base class MContentHandler
-
- /**
- * From From Xml::MContentHandler.
- *
- * @param aDocParam Document parameters.
- * @param aErrorCode A error code.
- */
- void OnStartDocumentL(
- /* IN */ const Xml::RDocumentParameters& aDocParam,
- /* IN */ TInt aErrorCode
- );
-
- /**
- * From From Xml::MContentHandler.
- *
- * @param aErrorCode A error code.
- */
- void OnEndDocumentL(TInt aErrorCode);
-
- /**
- * From From Xml::MContentHandler.
- *
- * @param aElement Tag information.
- * @param aAttributes Attributes.
- * @param aErrorCode A error code.
- */
- void OnStartElementL(
- /* IN */ const Xml::RTagInfo& aElement,
- /* IN */ const Xml::RAttributeArray& aAttributes,
- /* IN */ TInt aErrorCode
- );
-
- /**
- * From From Xml::MContentHandler.
- *
- * @param aElement Tag information.
- * @param aErrorCode A error code.
- */
- void OnEndElementL(
- /* IN */ const Xml::RTagInfo& aElement,
- /* IN */ TInt aErrorCode
- );
-
- /**
- * From From Xml::MContentHandler.
- *
- * @param aBytes Tag content.
- * @param aErrorCode A error code.
- */
- void OnContentL(
- /* IN */ const TDesC8& aBytes,
- /* IN */ TInt aErrorCode
- );
-
- /**
- * From From Xml::MContentHandler.
- *
- * @param aPrefix A prefix.
- * @param aUri A Uri.
- * @param aErrorCode A error code.
- */
- void OnStartPrefixMappingL(
- /* IN */ const RString& aPrefix,
- /* IN */ const RString& aUri,
- /* IN */ TInt aErrorCode
- );
-
- /**
- * From From Xml::MContentHandler.
- *
- * @param aPrefix A prefix.
- * @param aErrorCode A error code.
- */
- void OnEndPrefixMappingL(
- /* IN */ const RString& aPrefix,
- /* IN */ TInt aErrorCode
- );
-
- /**
- * From From Xml::MContentHandler.
- *
- * @param aBytes A bytes.
- * @param aErrorCode A error code.
- */
- void OnIgnorableWhiteSpaceL(
- /* IN */ const TDesC8& aBytes,
- /* IN */ TInt aErrorCode
- );
-
- /**
- * From From Xml::MContentHandler.
- *
- * @param aName A skipped entity.
- * @param aErrorCode A error code.
- */
- void OnSkippedEntityL(
- /* IN */ const RString& aName,
- /* IN */ TInt aErrorCode
- );
-
- /**
- * From From Xml::MContentHandler.
- *
- * @param aTarget A target.
- * @param aData A data.
- * @param aErrorCode A error code.
- */
- void OnProcessingInstructionL(
- /* IN */ const TDesC8& aTarget,
- /* IN */ const TDesC8& aData,
- /* IN */ TInt aErrorCode
- );
-
- /**
- * From From Xml::MContentHandler.
- *
- */
- void OnOutOfData();
-
- /**
- * From From Xml::MContentHandler.
- *
- * @param aErrorCode A error code.
- */
- void OnError(/* IN */ TInt aErrorCode);
-
- /**
- * From From Xml::MContentHandler.
- *
- * @param aUid A Uid of extended interface.
- */
- TAny* GetExtendedInterface(/* IN */ const TInt32 aUid);
-
-private:
- /**
- * C++ Default constructor
- */
- CLcRegistrationParser( RFs& aFs );
-
-
-private:
- /**
- * Reads the attribute value for related elements.
- *
- * @param aElement Tag information.
- * @param aAttributes Attributes.
- */
- void CollectAttributeValueL(
- const Xml::RTagInfo& aElement,
- const Xml::RAttributeArray& aAttributes);
-
- /**
- * Sets read content.
- *
- * @param aTag Tag to set content for.
- * @param aContent Content to set.
- */
- void SetContentL(
- TLcRegXmlTagType aTag,
- const TDesC& aContent
- );
-
- /**
- * Set a parsed tag.
- *
- * @param aTag Tag to set parsed state for.
- */
- void SetParserTagL(TLcRegXmlTagType aTag);
-
- /**
- * Check that sequence order is correct.
- *
- * @param aTag Tag to check it is in right order.
- */
- void CheckSequenceOrderL(TLcRegXmlTagType aTag);
-
- /**
- * Check mandatory tag are correct.
- *
- * @param aXmlState This contains wheather
- * parser state is in OnStartelement / OnEndElement
- * @param aTag Tag to check it is in right order.
- */
- void CheckMandatoryTagsL(
- TXmlParserElementState aXmlState,
- TLcRegXmlTagType aTag
- );
-
- /**
- * This function takes the Java midletname as input
- * parameter and returns the application Uid by which
- * this can be validate through app shell.
- *
- * @param aMidletName Contains the Java application midletname.
- * @return It returns the corresponding application uid
- * assigned to this midletname.
- */
- TUint32 JavaAppUidL( const TDesC& aMidletName );
-
- /**
- * This function checks the attribute name
- * associated with the corresponding element
- * and if it is not valid one leaves with KErrNotSupported.
- * Also checks no of attributs should be present with the element.
- *
- * @param aElement Contain the element name.
- * @param aAttributes Holds the attribute array
- *
- * @return It returns the valid attribute type
- */
- TLcRegXmlTagType CheckAndReturnValidAttrL(
- TLcRegXmlTagType aElement,
- const Xml::RAttributeArray& aAttributes );
-
-
- // By default, prohibit copy constructor
- CLcRegistrationParser( const CLcRegistrationParser& );
- // Prohibit assigment operator
- CLcRegistrationParser& operator= ( const CLcRegistrationParser& );
-
-private: //data member
- //own: Application registration info
- CLcRegAppInfo* iRegAppInfo;
-
- // File server reference from registry
- RFs& iFs;
-
- // Parser stuff
- HBufC8* iReadContent;
-
- // Input stuff
- TUint32 iParsedTag;
- TUint32 iParsingTag;
- RArray<TLcRegXmlTagType> iParserTreeTags;
-
- //Own: used to copy all the attribute value of an element
- HBufC* iAttributeBuf;
-
- // Holds the registration file full path name
- TFileName iFileName;
-
- // Holds the parser framework error status
- TInt iParserError;
- };
-
-#endif // C_LCREGISTRATIONPARSER_H
\ No newline at end of file
--- a/locationcentre/lcserver/inc/lcregistrationupdatenotifier.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +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: Location Centre Server object.
-*
-*/
-
-
-#ifndef M_LCREGISTRATIONUPDATENOTIFIER_H
-#define M_LCREGISTRATIONUPDATENOTIFIER_H
-
-/**
- * @file lcregistrationupdatenotifier.h
- *
- * This file provides the definitions for the observer class which enables
- * the lcregistryhandler to listen to notifications from file server.
- *
- * @since S60 v5.0
- */
-
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-/**
- * @class MLcRegistryUpdateNotifier
- * Observer class to notify to server wheather any changes happen to file server
- * due to applications/services registered with Location Centre.
- *
- * @since S60 v5.0
- */
-
-class MLcRegistryUpdateNotifier
- {
-public:
- /**
- * This function notify lc registry
- * for any dunamic changes happen to the Location
- * centre's private directory.
- *
- * @since S60 v5.0
- * @param None.
- */
- virtual void HandleDynamicRegistrationL() = 0;
- };
-
-#endif // M_LCREGISTRATIONUPDATENOTIFIER_H
-
--- a/locationcentre/lcserver/inc/lcregistry.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,344 +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: Location Centre Server object.
-*
-*/
-
-
-#ifndef C_LCREGISTRY_H
-#define C_LCREGISTRY_H
-
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-#include <f32file.h>
-
-//USER INCLUDE
-#include "lcregistrationupdatenotifier.h"
-#include "lcipcparams.h"
-
-// FORWARD DECLARATIONS
-class MLcRegistryObserver;
-class CLcRegistrationParser;
-class CLcRegistryUpdate;
-class CLcRegAppOrder;
-class CLcRegAppInfo;
-class CLcRegAppStore;
-class RApaLsSession;
-
-/**
- * Location Centre server's registration handler.
- *
- * This class is inherited from CActive and MLcRegistryUpdateNotifier. This
- * class handles all the basic logic(dynamic and static registration handling).
- *
- * @since S60 v5.0
- */
-class CLcRegistry : public CActive,
- public MLcRegistryUpdateNotifier
- {
-public:
- /**
- * Constructs a new instance of CLcRegistry.
- *
- * @return The new instance of CLcRegistry object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcRegistry* NewL( MLcRegistryObserver& aRegistryObserver );
-
- /**
- * Constructs a new instance of CLcRegistry.
- * Leaves the created instance on the cleanup stack.
- *
- * @return The new instance of CLcRegistry object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcRegistry* NewLC( MLcRegistryObserver& aRegistryObserver );
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * server registry handler
- */
- virtual ~CLcRegistry();
-
-
-public: //interface method from MLcRegistryUpdateNotifier
- /**
- *
- */
- void HandleDynamicRegistrationL( );
-
-
-public: //interface to be called by other class
- /**
- * This function retuns all the present registered service
- * like application/document/webservice to le server engine
- *
- * @since S60 v5.0
- * @param appInfoArray[ out ] contains array of registration app info pointer
- * @return If no application is registered return KErrNotFound.
- */
- TInt GetAllRegisteredAppsList( RPointerArray<CLcAppInfo>& appInfoArray);
-
- /**
- * This function find the corresponding app info
- * with respect to incomming application Uuid.
- *
- * @since S60 v5.0
- * @param aAppSid[ in ]
- * @param aLcRegAppInfo[ out ]
- * @return If the app info related to this Uuid is not found return KErrNotFound
- */
- TInt GetApplicationInfo( const TDesC& aAppUid,
- CLcBasicAppInfo*& aLcRegAppInfo );
-
-
-private:
- /**
- * C++ Default constructor
- */
- CLcRegistry( MLcRegistryObserver& aRegistryObserver );
-
- /**
- * Second phase of the two phase constructor
- */
- void ConstructL();
-
-
-private: // From CActive
- /**
- * Inherited from CActive
- */
- void RunL();
-
- /**
- * Inherited from CActive
- */
- void DoCancel();
-
- /**
- * Inherited from CActive
- */
- TInt RunError( TInt aError );
-
-private:
- /**
- * This function checks wheather any update is needed
- * to already stored registered appinfo list.If it is then
- * start the system drive scan and update registered app info accordingly
- *
- * @since S60 v5.0
- * @param None.
- * @return None.
- */
- void CheckForUpdationL();
-
- /**
- * This function scan all the system drives which are
- * mounted at present in the system and collects all
- * the registered file names present in the location centre's private
- * directory.
- *
- * @since S60 v5.0
- * @param None.
- * @return None.
- */
- void ScanDrivesAndGetFileNameL();
-
- /**
- * Validate Application/Document through appshell/doc handler.
- *
- * @since S60 v5.0
- * @param aLcRegAppInfo [ in ] Pointer to regappinfo.
- * @return None
- */
- void ValidateRegisteredServiceL(CLcRegAppInfo& aApplicationInfo );
-
- /**
- * This function notifies registration server engine that
- * processing of all the registration file has been done successfully.
- *
- * @since S60 v5.0
- * @param None.
- * @return None.
- */
- void FinalRegistrationUpdateL();
-
- /**
- * Issue a request to Active scheduler.
- *
- * @since S60 v5.0
- * @param None.
- * @return None.
- */
- void IssueRequest();
-
- /**
- * Get the current MMC Id for the device.
- *
- * @since S60 v5.0
- * @param aUid [out] It holds current MMC id of the terminal.
- * @return Return system error if not executed successfully
- * else return KErrNone.
- */
- TInt GetMmcId( TUint& aUid );
-
- /**
- * This function parse a registration file and return the
- * CLcRegAppInfo* and then it validates the application
- * or document and fetch the order and finally append this
- * CLcRegAppInfo to appinfo array.
- *
- * @since S60 v5.0
- * @param aLcRegAppInfo Pointer reference to regappinfo.
- * @return KErrBadName if the regappinfo file name is not correct one.
- */
- CLcRegAppInfo* CreateAppRegInfoL( TFileName& aFileName );
-
- /**
- * This function insert single registration info into
- * app info array in specific order.Order is fetched for
- * preinstalled application from central repository and for
- * post installation as registration/deregistration order.
- *
- * @since S60 v5.0
- * @param aLcRegAppInfo [ in ] Pointer to regappinfo.
- * @return None
- */
- void InsertAppRegInfoL( CLcRegAppInfo* aAppInfo );
-
- /**
- * This function checks wheather certain registration file
- * is present in the removable media like MMC.
- *
- * @since S60 v5.0
- * @param aFileName[ in ] Name of the file to check if in MMC.
- * @return If file is in MMC then return ETrue else EFalse.
- */
- TBool IsInMMc( TFileName& aFileName );
-
- /**
- * This function checks presence for a certain registration file
- * in the stored app info array and return the corresponding app info
- *
- * @since S60 v5.0
- * @param aFileName[ in ] Name of the file to check if
- * present in old list.
- * @param alcRegAppInfoPtr[ out ] filled the appropriate reg app
- * info to this pointer.
- * @return On successfull
- * execution return ETrue else EFalse.
- */
- TBool DoesApplicationExists( TFileName& aFileName,
- CLcRegAppInfo*& alcRegAppInfoPtr );
-
- /**
- * Find the content type from file useing content recognizer
- *
- * @since S60 v5.0
- * @param aDownload[ in ] The actual download.
- * @param aContentType[ out ] The mime type
- * @param aApplicationInfo[ in ] The application info ptr.
- */
- void FindContentTypeFromFileL( RApaLsSession apaSession,
- TUint8*& aContentTypeString,
- CLcRegAppInfo* aApplicationInfo );
-
- /**
- * Checks wheather same UUID based service is already
- * present in the current registered app info array.
- *
- * @since S60 v5.0
- * @param aLcRegAppInfo The application info ptr.
- */
- TBool DoesSameUuidPresent( CLcRegAppInfo* aLcRegAppInfo );
-
- /**
- * This function compare time stamp between two registration
- * info and return ETrue if same or EFalse.
- *
- * @since S60 v5.0
- * @param aFileName[ in ] Name of the current file to compare.
- * @return ETrue else EFalse.
- */
- TBool IsAppUpgraded( TFileName& aFileName );
-
- /**
- * This function sets name for certains application name
- * if it is not provided with the registration file
- *
- * @since S60 v5.0
- * @param appInfo[ in ] Pointer to registration info
- * needs to fetch application caption name.
- */
- void SetAbsentAppNameL( CLcRegAppInfo* aAppInfo );
-
- /**
- * This function checks registered service type
- * like application/service/webservice.If it is an application
- * then the function fetches it's exe's full path and if it
- * is document takes it's application data and if it is weburl
- * then takes it's regiatration file and according to presence of
- * above mentioned fles presence in ROM or else where set the system
- * characteristics.
- *
- * @since S60 v5.0
- * @param alsSession[ in ] Reference to RApaLsSession.
- * @param aAppInfo[ in ] Reference to application info.
- */
- void SetAppSysCharacteristicsL( RApaLsSession& alsSession,
- CLcRegAppInfo& aAppInfo );
-
-
-private: // Data members
- /**
- * Array of current Location Centre application information objects.
- * Owns
- */
- RPointerArray<CLcRegAppInfo> iAppInfoArray;
-
- /**
- * Array of intermediate Location Centre application information objects.
- * Owns
- */
- RPointerArray<CLcRegAppInfo> iAppInfoNewArray;
-
- //Own:File server reference.
- RFs iFs;
-
- //Reference to observer class.
- MLcRegistryObserver& iRegistryObserver;
-
- //contains the list of registered file names
- RArray<TFileName> iFileNameArry;
-
- //own:pointer to registry update
- CLcRegistryUpdate* iLcRegUpdate;
-
- //own:pointer to registry app order settings class
- CLcRegAppOrder* iLcRegAppOrder;
-
- // Private srorage pointer
- CLcRegAppStore* iRegAppStore;
-
- // mentain the number of file count
- TInt iregFileCount;
-
- // boolean variable to decide registry updation start.
- TBool iRegistryHasToUpdate;
- };
-
-#endif // C_LCREGISTRY_H
-
--- a/locationcentre/lcserver/inc/lcregistryobserver.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +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: Location Centre Server object.
-*
-*/
-
-
-#ifndef M_LCREGISTRYOBSERVER_H
-#define M_LCREGISTRYOBSERVER_H
-
-/**
- * @file mlcregistryobserver.h
- *
- * This file provides the definitions for the observer class which enables
- * the lcregistry engine class to listen to dynamic behaviour of lcregistry.
- *
- * @since S60 v5.0
- */
-
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-/**
- * @class MLcRegistryObserver
- * Observer class to notify to server engine wheather any dynamic changes happen to lcregistry
- * due to applications/services installation/uninstallation/upgradation etc..
- *
- * @since S60 v5.0
- */
-
-class MLcRegistryObserver
- {
-public:
- /**
- * This function notify LC server engine
- * that registry is undergoing for dynamic updation
- *
- * @since S60 v5.0
- * @param None.
- */
- virtual void RegistryUnderUpdation( ) = 0;
-
- /**
- * This function notify LC server engine
- * that registry has completed it's dynamic updation process
- *
- * @since S60 v5.0
- * @param None.
- */
- virtual void RegistryUpdated() = 0;
- };
-
-#endif // M_LCREGISTRYOBSERVER_H
--- a/locationcentre/lcserver/inc/lcregistryupdate.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +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: Location Centre Server object.
-*
-*/
-
-
-#ifndef C_LCREGISTRYUPDATE_H
-#define C_LCREGISTRYUPDATE_H
-
-/**
- * @file lcregistryupdate.h
- *
- * This file provides the definitions for the file server notifier class which enables
- * lc server to listen to notifications(like new registration file addition/removal also for MMC removal/addition)
- * from file server.
- *
- * @since S60 v5.0
- */
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-#include <f32file.h>
-
-//USER INCLUDE
-
-
-//FORWARD DECLARATION
-class MLcRegistryUpdateNotifier;
-
-/**
- * @class CLcRegistryUpdate
- *
- * This class provides all the interface for the file server notifications
- * (like new registration file addition/removal etc) from file server.
- *
- * @since S60 v5.0
- */
-
-NONSHARABLE_CLASS( CLcRegistryUpdate ) : public CActive
- {
-public:
- /**
- * Constructs a new instance of CLcRegistryUpdate.
- *
- * @return The new instance of CLcRegistryUpdate object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcRegistryUpdate* NewL(MLcRegistryUpdateNotifier& aFileNotifier,
- RFs& aFs);
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * server registry handler
- */
- virtual ~CLcRegistryUpdate();
-
-private:
- /**
- * C++ Default constructor
- */
- CLcRegistryUpdate( MLcRegistryUpdateNotifier& aFileNotifier, RFs& aFs );
-
- /**
- * Private Second phase constructor
- */
- void ConstructL();
-
-public:
- void StartFileNotifation();
-
-private: // From CActive
- /**
- * Inherited from CActive
- */
- void RunL();
-
- /**
- * Inherited from CActive
- */
- void DoCancel();
-
- /**
- * Inherited from CActive
- */
- TInt RunError( TInt aError );
-
-private: //data member
- MLcRegistryUpdateNotifier& iFileNotifier;
- RFs& iFs;
- RTimer iTimer;
- TBool iFileNotifyPending;
- };
-
-#endif // C_LCREGISTRYUPDATE_H
-
--- a/locationcentre/lcserver/inc/lcregxmlparserutils.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2005 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:
-* See class description below
-*
-*/
-
-
-
-#ifndef LCREGXMLPARSERUTILS_H
-#define LCREGXMLPARSERUTILS_H
-
-// INCLUDES
-#include <e32base.h>
-#include <e32math.h>
-
-
-// CLASS DECLARATION
-
-/**
-* Helper class for using strings etc.
-*/
-class LcRegXmlParserUtils
- {
-public: // New functions
- /**
- * Converts a string from UTF-8 to Unicode.
- *
- * @param aUtf8 A string in UTF-8 format.
- * @param aUnicode A unicode string.
- * @return System wide error code.
- */
- static void Utf8ToUnicodeL(
- /* IN */ const TDesC8& aUtf8,
- /* IN */ TDes16& aUnicode
- );
-
- /**
- * Checks if a string only contains whitespaces or not.
- *
- * @param aStr The string to check.
- * @return ETrue if string only contain whitespaces, otherwise EFalse.
- */
- static TBool OnlyWhiteSpaces(
- /* IN */ const TDesC8& aStr
- );
- };
-
-#endif // LCREGXMLPARSERUTILS_H
-
-// End of File
--- a/locationcentre/lcserver/inc/lcregxmltaginfo.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2005 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:
-* See class description below
-*
-*/
-
-
-
-#ifndef T_LCREGXMLTAGINFO_H
-#define T_LCREGXMLTAGINFO_H
-
-// SYSTEM INCLUDES
-
-// USER INCLUDES
-#include "lcregxmltagtype.h"
-
-// CLASS DECLARATION
-
-/**
-* Helper class for converting from/to xml markup data.
-*
-*/
-class TLcRegXmlTagInfo
- {
-public: // Constructors and destructor
-
- /**
- * C++ default constructor.
- */
- TLcRegXmlTagInfo();
-
-public: // New functions
- /**
- * Get tag type for the specified tag name.
- *
- * @param aTagName A tag name defining the current tag.
- * @return Tag type for tag name.
- */
- static TLcRegXmlTagType TagTypeL(
- const TDesC8& aTagName );
-
- /**
- * Get tag attribute type for the specified tag name.
- *
- * @param aTagName A tag name defining the current tag.
- * @return Tag type for tag attribute.
- */
- static TLcRegXmlTagType TagAttrTypeL(TLcRegXmlTagType aTagType,
- const TDesC8& aAttrName );
-
-private:
- static TBool EqualsTagL(
- const TDesC8& aTag,
- const TDesC& aDefinedTag
- );
- };
-
-#endif // T_LCREGXMLTAGINFO_H
-
-// End of File
--- a/locationcentre/lcserver/inc/lcregxmltagtype.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +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: Location Centre Server object.
-*
-*/
-
-
-
-#ifndef T_LCREGXMLTAGTYPE_H
-#define T_LCREGXMLTAGTYPE_H
-
-// INCLUDES
-#include <e32def.h>
-#include <e32std.h>
-
-// DATA TYPES
-
-enum TLcRegXmlTagType
- {
- /*
- * All parent elements
- */
- ELcXmlNothing = 0,
- ELcXmlLocationCentreRegistration,
- ELcXmlFeature,
- ELcXmlApplication,
- ELcXmlApplicationParams,
- ELcXmlService,
-
-
- //childs
- ELcXmlRegFileName,
- ELcXmlFileIcon,
- ELcXmlRunMode,
- ELcXmlWebService,
- ELcXmlDocument,
- ELcXmlApplicationNative,
- ELcXmlApplicationJava,
-
-
- /*
- * Attributes for different elements
- */
- ELcXmlServiceAttrUuid,
- ELcXmlRegFileNameAttrLang,
- ELcXmlFileIconAttrfile,
- ELcXmlFileIconAttrFrame,
- ELcXmlRunModeAttrDefault,
- ELcXmlApplicationNativeAttrSid,
- ELcXmlApplicationJavaAttrName,
- ELcXmlWebServiceAttrUrl,
- ELcXmlDocumentAttrFile,
- ELcXmlUnknown
- };
-
-
-// CONSTANTS
-
-_LIT(KLcXmlVersionNum, "1.0");
-_LIT(KLcXmlEncNameUTF8, "UTF-8");
-_LIT(KLcXmlEncNameUTT16, "UTF-16");
-
-_LIT(KLcXmlLocationCentreRegistration, "location_centre_registration");
-_LIT(KLcXmlService, "service");
-_LIT(KLcXmlServiceAttrUuid, "uuid");
-_LIT(KLcXmlRegFileName, "name");
-_LIT(KLcXmlRegFileNameAttrLang, "lang");
-_LIT(KLcXmlFileIcon, "icon");
-_LIT8(KLcXmlFileIconAttrfile, "file");
-_LIT8(KLcXmlFileIconAttrFrame, "frame");
-_LIT(KLcXmlIconAttrfile, "file");
-_LIT(KLcXmlIconAttrFrame, "frame");
-_LIT(KLcXmlFeature, "feature");
-_LIT(KLcXmlRunMode, "runmode");
-_LIT(KLcXmlRunModeAttrDefault, "default");
-_LIT(KLcXmlApplication, "application");
-_LIT(KLcXmlApplicationNative, "native");
-_LIT(KLcXmlApplicationNativeAttrSid, "sid");
-_LIT(KLcXmlApplicationJava, "java");
-_LIT(KELcXmlApplicationJavaAttrName, "name");
-_LIT(KLcXmlApplicationParams, "params");
-_LIT(KLcXmlWebService, "webService");
-_LIT(KLcXmlWebServiceAttrUrl, "url");
-_LIT(KLcXmlDocument, "document");
-_LIT(KLcXmlDocumentAttrFile, "file");
-
-//default run mode
-_LIT(KLcAppRunModeStandalone, "standalone");
-_LIT(KLcAppRunModeChild, "child");
-
-
-//application character
-_LIT(KLcAppCharSettings, "Settings");
-_LIT(KLcAppCharPersonalData, "PersonalData");
-_LIT(KLcAppCharNavigation, "Navigation");
-_LIT(KLcAppCharMaps, "Maps");
-_LIT(KLcAppCharLocationEvents, "LocationEvents");
-_LIT(KLcAppCharRemotePositioning, "RemotePositioning");
-_LIT(KLcAppCharNetworkService, "NetworkService");
-_LIT(KLcAppCharLocationMessaging, "LocationMessaging");
-_LIT(KLcAppCharLocalContent, "LocalContent");
-_LIT(KLcAppCharRemoteContent, "RemoteContent");
-
-#endif // T_LCREGXMLTAGTYPE_H
-
-// End of File
--- a/locationcentre/lcserver/inc/lcserver.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +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: Location Centre Server object.
-*
-*/
-
-
-#ifndef C_LCSERVER_H
-#define C_LCSERVER_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-// USER INCLUDES
-#include "lcserverengineobserver.h"
-
-// FORWARD DECLARATIONS
-class CLcServerShutDownTimer;
-class CLcServerEngine;
-
-/**
- * Location Centre server.
- *
- * This class is inherited from CServer2 and not CPolicyServer. This is
- * because there is no capability checking required for accessing the
- * services offered by this server.
- *
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CLcServer ): public CServer2,
- public MLcServerEngineObserver
- {
-public:
- /**
- * Constructs a new instance of Location Centre server.
- *
- * @return The new instance of Location Centre server object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcServer* NewL();
-
- /**
- * Constructs a new instance of Location Centre server.
- * Leaves the created instance on the cleanup stack.
- *
- * @return The new instance of Location Centre server object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcServer* NewLC();
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * server
- */
- virtual ~CLcServer();
-
- /**
- * Increments the number of Location centre sessions that are open.
- *
- * This is generally done by the session objects once they have
- * successfully completed their session initialization.
- */
- void IncrementSessions();
-
- /**
- * Decrements the number of Location centre sessions that are open.
- *
- * This is generally done by the session objects in their
- * destrutors.
- */
- void DecrementSessions();
-
-
-public: // Inherited from the base classes
- /**
- * Inherited from CServer2
- *
- * @param aVersion The version number for the Location Centre server.
- * @param aMessage The connect message from the client.
- * @return Reference to the new session object.
- */
- CSession2* NewSessionL( const TVersion& aVersion,
- const RMessage2& aMessage ) const;
-
- /**
- * Inherited from MLcServerEngineObserver
- */
- void LcRegistryUpdated();
-
-private:
- /**
- * C++ Default constructor
- */
- CLcServer();
-
- /**
- * Second phase of the two phase constructor
- */
- void ConstructL();
-
-private:
- /**
- * Shutdown timer.
- *
- * Used to shutdown the server if there are no outstanding connections
- * for a specified period of time.
- * Owns.
- */
- CLcServerShutDownTimer* iShutDownTimer;
-
- /**
- * Number of Location centre server sessions.
- */
- TInt iNumberofSessions;
-
- /**
- * Location Centre Server Engine.
- *
- * Owns
- */
- CLcServerEngine* iEngine;
- };
-
-#endif // C_LCSERVERSTARTUP_H
--- a/locationcentre/lcserver/inc/lcserverengine.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,219 +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: Location Centre Server Engine Object.
-*
-*/
-
-
-#ifndef C_LCSERVERENGINE_H
-#define C_LCSERVERENGINE_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-#include <lclocationappfilter.h>
-
-// USER INCLUDES
-#include "lcipcparams.h"
-#include "lcregistryobserver.h"
-
-// FORWARD DECLARATIONS
-class CLcRegistry;
-class MLcServerEngineObserver;
-
-/**
- * Location Centre server engine.
- *
- * This class handles all the requests for the Location Centre Server. The
- * requests from the Server session objects are transferred to this object
- * which then handles the requests. There is only one instance of this
- * class for the entire Server Engine. This class also contains the Location
- * Centre registry and observes for anychanges to the Registry.
- *
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CLcServerEngine ): public CBase,
- public MLcRegistryObserver
- {
-public:
- /**
- * Constructs a new instance of Location Centre server engine.
- *
-
- * @param[in] aObserver Observer to the Location Centre Server
- * Engine.
- * @return The new instance of Location Centre server engine object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcServerEngine* NewL(
- MLcServerEngineObserver& aObserver );
-
- /**
- * Constructs a new instance of Location Centre server engine.
- * Leaves the created instance on the cleanup stack.
- *
- * @param[in] aObserver Observer to the Location Centre Server
- * Engine.
- * @return The new instance of Location Centre server engine object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcServerEngine* NewLC(
- MLcServerEngineObserver& aObserver );
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * server engine
- */
- virtual ~CLcServerEngine();
-
- /**
- * Services the Client Request. The Engine provides a one place
- * destination for servicing all Client request. If the registry
- * is under updation, then the request is queued and the request
- * is served after the updation is completed.
- *
- * @param[in] aMessage The Message requets which needs to be served.
- */
- void DoServiceL( const RMessage2& aMessage );
-
-public: // Inherited from MLcRegistryObserver
- void RegistryUnderUpdation();
-
- void RegistryUpdated();
-
-private:
- /**
- * C++ Default constructor
- */
- CLcServerEngine( MLcServerEngineObserver& aObserver );
-
- /**
- * Second phase of the two phase constructor
- */
- void ConstructL();
-
- /**
- * Services all the Requets which are outstanding. The implementation
- * of the Engine class ensures that all this function is called
- * only when the Engine is in a consistent state.
- */
- void ServiceRequests();
-
- /**
- * Services a client request which is outstanding.
- *
- * @param[in] aMessage Request message which is outstanding
- */
- void ServiceRequestL( RMessage2& aMessage );
-
- /**
- * Filters the List of Location based Application based on the
- * System Characteristics and Application Characteristics.
- *
- * @param[in] aAppFilter Filter properties that need to be applied
- * on the list of Location based Applications.
- * @param[out] aFilteredAppArray Array of Location based Applications after
- * filtering.
- */
- void GetFilteredAppsL(
- TLcLocationAppFilter& aAppFilter,
- RLcIpcAppInfoArray& aFilteredAppArray );
-
- /**
- * Obtains a specified set of Location based Applications.
- *
- * @param[in] aSpecifedApps List of Specified Applications whose
- * description is sought.
- * @param[out] aFilteredAppArray Array of specified Location based
- * Applications.
- */
- void GetSpecifiedAppsL(
- RLcIpcAppIdArray& aSpecifedApps,
- RLcIpcAppInfoArray& aSpecifiedAppArray );
- /**
- * Obtains a list of Location based Application without a specified set
- * of Location based Applications.
- *
- * @param[in] aSpecifedApps List of Specified Applications whose
- * description is sought.
- * @param[out] aFilteredAppArray Array of Location based Applications
- * without the specified list.
- */
- void GetWithoutSpecifiedAppsL(
- RLcIpcAppIdArray& aSpecifedApps,
- RLcIpcAppInfoArray& aSpecifiedAppArray );
-
- /**
- * Compares a filter value under specifed configurations.
- * In the usage of this function, the Engine passes the filter requested by
- * the Client application as the first parameter and compares it with
- * the filter of the Location based Application to determine whether the
- * application satisfies the required filter configuration.
- *
- * @param[in] aFilter New filter parameter.
- * @param[in] aFiltertoCompare Filter to which the filter passed in the first
- * argument must be compared with.
- * @param[in] aFilterConfig Filter configuration which should be used for
- * comparison.
- */
- TBool Compare( TUint32 aFilter,
- TUint32 aFiltertoCompare,
- TInt aFilterConfig );
-
- /**
- * Compares the SID of the application being processed currently with that of
- * the message which is handled. This is needed to ensure that the application
- * which requested for the list of Location based Applications does not
- * figure in the list requested.
- *
- * @param[in] aAppSid SID of the application.
- * @return TBool, ETrue if the SID matches
- * EFalse if the SID doesnt match
- */
- TBool IsSameSID( const TDesC& aAppSid );
-
-private:
- /**
- * Location Centre Registry object.
- *
- * Owns.
- */
- CLcRegistry* iRegistry;
-
- /**
- * Array of messages which need to be serviced. This class doesn't
- * own these message objects but just holds a reference to them.
- */
- RPointerArray< RMessage2 > iMessageArray;
-
- /**
- * Observer to the Location Centre Server Engine class.
- */
- MLcServerEngineObserver& iObserver;
-
- /**
- * Boolean value to indicate whether the Location Centre Registry
- * is currently under updation. This is required because we
- * cannot fetch the Registry values when its under updation.
- */
- TBool iRegistryUnderUpdate;
-
- /**
- * SID of the process which has initiated the current request
- */
- TUint32 iCurrentRequestorSid;
-
- };
-
-#endif // C_LCSERVERENGINE_H
--- a/locationcentre/lcserver/inc/lcserverengineobserver.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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: Observer class defintion to notify the Location Centre Server
-* to any updations in the Location Centre Engine.
-*
-*/
-
-
-#ifndef M_LCSERVERENGINEOBSERVER_H
-#define M_LCSERVERENGINEOBSERVER_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-/**
- * @class MLcServerEngineObserver
- * Observer class to notify updations to the Location Centre Server Engine.
- *
- * This observer will provide the notification when there is an updation to
- * the Location Centre Server Engine due to updations in the underlying
- * Location Centre Registry. The Server classes is expected to communicate
- * the information to all the Clients instances which have registered for
- * such notifcations.
- *
- * @since S60 v5.0
- */
-class MLcServerEngineObserver
- {
-public:
- /**
- * Notification to notify the updation of Location Centre Registry.
- *
- * @since S60 v5.0
- */
- virtual void LcRegistryUpdated() = 0;
- };
-
-#endif // M_LCSERVERENGINEOBSERVER_H
--- a/locationcentre/lcserver/inc/lcserverinterface.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +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: 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
--- a/locationcentre/lcserver/inc/lcserversession.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +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: Location Centre Server side session object.
-*
-*/
-
-
-#ifndef C_LCSERVERSESSION_H
-#define C_LCSERVERSESSION_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CLcServer;
-class CLcServerEngine;
-
-/**
- * Location Centre server side session object.
- *
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CLcServerSession ): public CSession2
- {
-public:
- /**
- * Constructs a new instance of Location Centre server side session object.
- *
- * @param[in] aLcServer Reference to the server side object.
- * @param[in] aLcServerEngine Reference to the Location Centre Server Engine.
- * @return The new instance of Location Centre server side session object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcServerSession* NewL( CLcServer& aLcServer,
- CLcServerEngine& aLcServerEngine );
-
- /**
- * Constructs a new instance of Location Centre server side session object.
- * Leaves the created instance on the cleanup stack.
- *
- * @param[in] aLcServer Reference to the server side object.
- * @param[in] aLcServerEngine Reference to the Location Centre Server Engine.
- * @return The new instance of Location Centre server side session object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcServerSession* NewLC( CLcServer& aLcServer,
- CLcServerEngine& aLcServerEngine );
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * server side session object.
- */
- virtual ~CLcServerSession();
-
- /**
- * Notifies the Server session class that the Location Centre Registry has
- * been updated. This enables the session to notify the corresponding
- * Location Centre Client which is observing for these changes.
- */
- void RegistryUpdated();
-
-public: // Inherited from the base classes
- /**
- * Inherited from the CSession2 class
- *
- * Service handler for all messages that are directed to this session.
- */
- void ServiceL( const RMessage2& aMessage );
-
- /**
- * From CSession2
- *
- * Error function invoked when the ServiceL message leaves.
- */
- void ServiceError( const RMessage2& aMessage,
- TInt aError );
-
-private:
- /**
- * C++ Default constructor
- *
- * @param aLcServer Reference to the server side object.
- */
- CLcServerSession( CLcServer& aLcServer,
- CLcServerEngine& aLcServerEngine );
-
- /**
- * Second phase of the two phase constructor
- */
- void ConstructL();
-
-private:
- /**
- * Reference to the Server side object.
- *
- * Required to notify the creation and destruction of a session
- * This is necessary to ensure that the server shut down when there
- * are no sessions outstanding.
- */
- CLcServer& iLcServer;
-
- /**
- * Boolean flag to indicate that this class has incremented the
- * number of sessions in the server. Hence, the need to decrement
- * the count on termination.
- */
- TBool iDecrementSession;
-
- /**
- * Reference to the Location Centre Server Engine.
- */
- CLcServerEngine& iEngine;
-
- /**
- * Boolean value to indicate that a notification request is
- * outstanding.
- */
- TBool iNotificationOutStanding;
-
- TBool iNotifyPending;
-
- /**
- * RMessage2 object to notify the changes in Location Centre
- * registry.
- */
- RMessage2 iObserverMessage;
-
- };
-
-#endif // C_LCSERVERSESSION_H
--- a/locationcentre/lcserver/inc/lcservershutdowntimer.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +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: Shutdown timer for Location Centre server.
-*
-*/
-
-
-#ifndef C_LCSERVERSHUTDOWNTIMER_H
-#define C_LCSERVERSHUTDOWNTIMER_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-/**
- * Shutdown timer for Location Centre Server.
- *
- * This class is used to ensure that Location Centre server does not run
- * unnecessarily when there are no outstanding connections. The server object
- * uses this class to initiate a timer when there are no connections. If the
- * timer is not cancelled before it fires, then this class shuts down the
- * Active scheduler hence termination the Location Centre server.
- *
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CLcServerShutDownTimer ): public CTimer
- {
-public:
- /**
- * Constructs a new instance of Location Centre server shut down timer.
- *
- * @return The new instance of Location Centre server shut down timer.
- * @leave System wide error code if the object creation fails.
- */
- static CLcServerShutDownTimer* NewL();
-
- /**
- * Constructs a new instance of Location Centre server shut down timer.
- * Leaves the created instance on the cleanup stack.
- *
- * @return The new instance of Location Centre server shut down timer.
- * @leave System wide error code if the object creation fails.
- */
- static CLcServerShutDownTimer* NewLC();
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * server shutdown timer.
- */
- virtual ~CLcServerShutDownTimer();
-
- /**
- * Starts the shutdown timer. The funtion doesn't do anything if the
- * timer is already running.
- */
- void StartTimer();
-
- /**
- * Stops an outstanding timer request.
- */
- void StopTimer();
-
-public: // Inherited from base classes.
-
- /**
- * Inherited from CActive
- */
- void RunL();
-
- /**
- * Inherited from CActive
- */
- TInt RunError( TInt aError );
-
-private:
- /**
- * C++ Default constructor.
- */
- CLcServerShutDownTimer();
-
- /**
- * Second phase of the two phase constructor.
- */
- void ConstructL();
-
-private:
- /**
- * Location Centre Shutdown timer value in MicroSeconds
- */
- TInt iShutDownTimerValue;
-
- };
-
-#endif // C_LCSERVERSHUTDOWNTIMER_H
--- a/locationcentre/lcserver/inc/lcserverstartup.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +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: Location Centre Server start up.
-*
-*/
-
-
-#ifndef C_LCSERVERSTARTUP_H
-#define C_LCSERVERSTARTUP_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-/**
- * Location Centre server start up routines.
- *
- * It contains static funtions which start up the Location Centre server.
- *
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( LcServerStartup )
- {
-public:
- /**
- * Starts the Location Centre server.
- *
- * @since S60 v5.0
- * @return KErrNone, If the server has been started successfully.
- * System wide error codes incase the startup fails.
- */
- static TInt StartLocationCentreServer();
-
-private:
- /**
- * Starts the Location Centre server.
- *
- * @since S60 v5.0
- * @leave System wide error codes incase the startup fails.
- */
- static void StartLocationCentreServerL();
- };
-
-#endif // C_LCSERVERSTARTUP_H
--- a/locationcentre/lcserver/src/lcregappinfo.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,245 +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: Registration information for a Location based Application.
-*
-*/
-
-
-
-// SYSTEM INCLUDES
-#include <bautils.h>
-#include <f32file.h>
-
-// USER INCLUDES
-#include "lcregappinfo.h"
-#include "lcregappnamelangid.h"
-// CONST DEFINATION
-
-
-// CLASS DEFINATION
-/**
- * Maximum length of a service name can be
- */
-const TInt KAppNameMaxLength = 50;
-
-// ----- Member funtions for CLcRegAppInfo ---------------------------------
-
-// ---------------------------------------------------------------------------
-// CLcRegAppInfo::CLcRegAppInfo
-// ---------------------------------------------------------------------------
-//
-CLcRegAppInfo::CLcRegAppInfo( )
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.Initiallize all the variable here
- iFilePresenceStatus = ETrue;
- }
-
-// ---------------------------------------------------------------------------
-// CLcRegAppInfo::~CLcRegAppInfo
-// ---------------------------------------------------------------------------
-//
-CLcRegAppInfo::~CLcRegAppInfo()
- {
- // C++ Destructor. Free all resources associated with this class.
- iAppNameArray.ResetAndDestroy();
- iAppNameArray.Close();
- iAppLangArray.Reset();
- iAppLangArray.Close();
- iFileName.Delete( 0,iFileName.Length() );
- }
-
-// ---------------------------------------------------------------------------
-// CLcRegAppInfo* CLcRegAppInfo::NewL
-// ---------------------------------------------------------------------------
-//
-CLcRegAppInfo* CLcRegAppInfo::NewL()
- {
- CLcRegAppInfo* self = new ( ELeave )CLcRegAppInfo();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppInfo::SetAppNameL
-// ---------------------------------------------------------------------------
-//
-void CLcRegAppInfo::SetAppNameL( const TDesC& aName )
- {
- HBufC* nameBuf = NULL;
- if( aName.Length() > KAppNameMaxLength )
- {
- nameBuf = HBufC::NewL( KAppNameMaxLength );
- nameBuf->Des().Copy( aName.Left( KAppNameMaxLength ));
- }
- else
- {
- nameBuf = HBufC::NewL( aName.Length() );
- nameBuf->Des().Copy( aName );
- }
- User::LeaveIfError( iAppNameArray.Append( nameBuf ) );
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLcRegAppInfo::SetNameLanguage
-// ---------------------------------------------------------------------------
-//
-TInt CLcRegAppInfo::SetNameLanguage( const TDesC& aNameLang )
- {
- for (TInt i=0; i< NUMLANGOPTIONS; i++)
- {
- if ( !KLangOptions[i].iName.Compare( aNameLang ) )
- {
- return iAppLangArray.Append( ( TUint32 )KLangOptions[i].iNumber );
- }
- }
- return KErrNotFound;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppInfo::SetAppLangSpecificNameL
-// ---------------------------------------------------------------------------
-//
-void CLcRegAppInfo::SetAppLangSpecificNameL( RFs& aFs )
- {
- TLanguage langcode = User::Language(); //current language
- TInt index = iAppLangArray.Find( ( TUint32 )langcode );
- if( index != KErrNotFound )
- {
- if( index < iAppNameArray.Count() )
- {
- SetNameL( *iAppNameArray[index] );
- }
- }
- else
- {
- RArray<TLanguage> langs;
- CleanupClosePushL( langs );
- BaflUtils::GetDowngradePathL( aFs,langcode,langs );
- for(TInt i = 0; i < iAppLangArray.Count(); ++i)
- {
- index = langs.Find( ( TLanguage )iAppLangArray[i] );
- if( index != KErrNotFound )
- {
- break;
- }
- }
- if( index == KErrNotFound )
- {
- index = langs.Count() - 1;
- }
- if( index >= 0 && index < iAppNameArray.Count() )
- {
- SetNameL( *iAppNameArray[index] );
- }
- CleanupStack::PopAndDestroy( &langs );
- }
- iAppNameArray.ResetAndDestroy();
- iAppNameArray.Close();
- iAppLangArray.Reset();
- iAppLangArray.Close();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppInfo::SetFileNameL
-// ---------------------------------------------------------------------------
-//
-void CLcRegAppInfo::SetFileNameL( const TDesC& aFile )
- {
- if( aFile.Length() <= KMaxFileName )
- {
- iFileName.Copy( aFile );
- }
- else
- {
- User::Leave( KErrBadName );
- }
- }
-
-// ---------------------------------------------------------------------------
-// TFileName CLcRegAppInfo::FileName
-// ---------------------------------------------------------------------------
-//
-TFileName CLcRegAppInfo::FileName()
- {
- return iFileName;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppInfo::IsAppPresent
-// ---------------------------------------------------------------------------
-//
-TBool CLcRegAppInfo::IsAppPresent( )
- {
- return iFilePresenceStatus;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppInfo::SetFilePresenceStatus
-// ---------------------------------------------------------------------------
-//
-void CLcRegAppInfo::SetFilePresenceStatus( TBool aPresenceStatus )
- {
- iFilePresenceStatus = aPresenceStatus;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppInfo::SetMmcId
-// ---------------------------------------------------------------------------
-//
-void CLcRegAppInfo::SetMmcId( TUint aUid )
- {
- iMmcId = aUid;
- }
-
-// ---------------------------------------------------------------------------
-// TFileName CLcRegAppInfo::MmcId
-// ---------------------------------------------------------------------------
-//
-TUint CLcRegAppInfo::MmcId()
- {
- return iMmcId;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppInfo::SetArrayIndex
-// ---------------------------------------------------------------------------
-//
-void CLcRegAppInfo::SetArrayIndex( TInt aIndex )
- {
- iIndex = aIndex;
- }
-
-// ---------------------------------------------------------------------------
-// TFileName CLcRegAppInfo::Index
-// ---------------------------------------------------------------------------
-//
-TInt CLcRegAppInfo::Index()
- {
- return iIndex;
- }
-
-// ---------------------------------------------------------------------------
-// TBool CLcRegAppInfo::IsAppNamePresent
-// ---------------------------------------------------------------------------
-//
-TBool CLcRegAppInfo::IsAppNamePresent()
- {
- if( iAppNameArray.Count() == 0 &&
- iAppLangArray.Count() == 0 )
- {
- return EFalse;
- }
- return ETrue;
- }
-//End of file
--- a/locationcentre/lcserver/src/lcregapporder.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,320 +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: Location Centre Server object.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include<s32mem.h>
-
-// USER INCLUDES
-#include "lcregapporder.h"
-#include "lcprivatecrkeys.h"
-#include "lcregappstore.h"
-
-// CONSTANT DEFINTIONS
-const TInt KLcNoofDigitsInInteger = 4;
-const TInt KLcMaxBufLength = 1024;
-
-// ----- Member funtions for CLcRegAppOrder ---------------------------------
-
-// ---------------------------------------------------------------------------
-// CLcRegAppOrder::CLcRegAppOrder
-// ---------------------------------------------------------------------------
-//
-CLcRegAppOrder::CLcRegAppOrder( CLcRegAppStore& aLcRegAppStore )
- :iLcRegAppStore( &aLcRegAppStore )
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.Initiallize all the variable here
- }
-
-// ---------------------------------------------------------------------------
-// CLcRegAppOrder::~CLcRegAppOrder
-// ---------------------------------------------------------------------------
-//
-CLcRegAppOrder::~CLcRegAppOrder()
- {
- // C++ Destructor. Free all resources associated with this class.
- delete iRepository;
- iRepository = NULL;
- // clear the top key value.
- iTopArray.ResetAndDestroy();
- iTopArray.Close();
- // clear the bottom key value
- iBottomArray.ResetAndDestroy();
- iBottomArray.Close();
- // clear middle uuid array
- iMiddleArray.ResetAndDestroy();
- iMiddleArray.Close();
- }
-
-// ---------------------------------------------------------------------------
-// CLcRegAppOrder* CLcRegAppOrder::NewL
-// ---------------------------------------------------------------------------
-//
-CLcRegAppOrder* CLcRegAppOrder::NewL( CLcRegAppStore& aLcRegAppStore )
- {
- // Symbian Two phased constructor. Leaves the object on the Clean-up
- // stack.
- CLcRegAppOrder* self = new ( ELeave )CLcRegAppOrder( aLcRegAppStore );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppOrder::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcRegAppOrder::ConstructL()
- {
- // Create the Central repository object for manipulating Avkon Central
- // repository for application order key
- iRepository = CRepository::NewL( KCRUidLocationCentre );
- HBufC* buffer = HBufC::NewLC( NCentralRepositoryConstants::KMaxUnicodeStringLength );
- TPtr bufferPtr( buffer->Des() );
- // get the top order services
- User::LeaveIfError( iRepository->Get( ELcTop, bufferPtr ) );
- ParseCenRepKeyL( iTopArray, bufferPtr );
- // get the middle order services
- User::LeaveIfError( iRepository->Get( ELcBottom, bufferPtr ) );
- ParseCenRepKeyL( iBottomArray, bufferPtr );
- // get the bottom order services if any
- TBool isMidleKeySet = EFalse;
- User::LeaveIfError( iRepository->Get( ELcMiddle, isMidleKeySet ) );
-
- if( isMidleKeySet )
- {
- // Allocate the id Array buffer
- CBufFlat* idArrayBuf = CBufFlat::NewL( KLcMaxBufLength );
- CleanupStack::PushL( idArrayBuf );
- idArrayBuf->ResizeL( KLcMaxBufLength );
-
- TPtr8 idArrayPtr( idArrayBuf->Ptr(0));
-
- iLcRegAppStore->GetUuidValueL( idArrayPtr );
-
- if( idArrayPtr.Length() > 0 )
- {
- // Create a Read buffer stream to read the App Ids
- RBufReadStream appReadStream( *idArrayBuf, 0 );
- CleanupClosePushL( appReadStream );
-
- iMiddleArray.ResetAndDestroy();
-
- // Internalize the structure to obtain the Actual list of Ids
- iMiddleArray.InternalizeL( appReadStream );
- CleanupStack::PopAndDestroy(); // appReadStream
- }
- CleanupStack::PopAndDestroy( idArrayBuf );
- }
- else
- {
- // Deep RFS handling
- iLcRegAppStore->AddDataToTableL( KNullDesC8 );
- }
-
- CleanupStack::PopAndDestroy( buffer );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppOrder::ParseCenRepKey
-// ---------------------------------------------------------------------------
-//
-void CLcRegAppOrder::ParseCenRepKeyL( RPointerArray< HBufC >& aArray,
- const TDesC& aKey )
- {
- // If the length of the buffer is less than 4 digits, then terminate
- // the function.
- if( aKey.Length() < KLcNoofDigitsInInteger )
- {
- return;
- }
- TUint count = ParseInteger( aKey );
- TInt currentlength = KLcNoofDigitsInInteger;
-
- for ( TInt i = 0; i < count; i ++ )
- {
- // If the length of the buffer is less than 4 digits, then terminate
- // the function.
- if( aKey.Right( aKey.Length() - currentlength ).Length() < KLcNoofDigitsInInteger )
- {
- return;
- }
-
- TUint32 len = ParseInteger( aKey.Right( aKey.Length() - currentlength ));
- currentlength += KLcNoofDigitsInInteger;
-
- TPtrC buffer( aKey.Right( aKey.Length() - currentlength ));
-
- // If the length of the buffer is less than the length obtained from the
- // previous operation then terminate the function.
- if( buffer.Length() < len )
- {
- return;
- }
- HBufC* identifier = HBufC::NewLC( currentlength );
- identifier->Des().Copy( buffer.Ptr(), len );
-
- TInt error = aArray.Append( identifier );
- if( error )
- {
- CleanupStack::PopAndDestroy( identifier );
- }
- else
- {
- CleanupStack::Pop( identifier );
- }
- currentlength += len;
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppOrder::ParseInteger
-// ---------------------------------------------------------------------------
-//
-TUint32 CLcRegAppOrder::ParseInteger( const TDesC& aBuffer )
- {
- TPtrC buffer( aBuffer.Ptr(), KLcNoofDigitsInInteger );
-
- TBuf8< KLcNoofDigitsInInteger > integerBuf;
- integerBuf.Copy( buffer );
-
- TUint8* currentPtr = const_cast< TUint8 *>( integerBuf.Ptr());
- TUint32 integer = 0;
- for( TInt i = 0; i < KLcNoofDigitsInInteger; i++ )
- {
- integer += ( integer * 10 ) + ( currentPtr[i] - '0' );
- }
- return integer;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppOrder::GetRegisteredAppOrder
-// ---------------------------------------------------------------------------
-//
-TInt CLcRegAppOrder::GetRegisteredAppOrder(const TDesC& aUuid,
- TInt& aRowPos )
- {
- // search the identifier in the top array.
- for(TInt i = 0; i <iTopArray.Count(); i++ )
- {
- HBufC* identifier = iTopArray[i];
- if( !identifier->Des().Compare( aUuid ) )
- {
- aRowPos = i;
- return KErrNone;
- }
- }
-
- // search the identifier in the middle array.
- for(TInt i = 0; i <iMiddleArray.Count(); i++ )
- {
- HBufC* identifier = iMiddleArray[i];
- if( !identifier->Des().Compare( aUuid ) )
- {
- aRowPos = iTopArray.Count() + i;
- return KErrNone;
- }
- }
-
- // search the identifier in the top array.
- for(TInt i = 0; i <iBottomArray.Count(); i++ )
- {
- HBufC* identifier = iBottomArray[i];
- if( !identifier->Des().Compare( aUuid ) )
- {
- aRowPos = iTopArray.Count() + iMiddleArray.Count() + i;
- return KErrNone;
- }
- }
- return KErrNotFound;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppOrder::RemoveArray
-// ---------------------------------------------------------------------------
-//
-void CLcRegAppOrder::RemoveArrayL(const TDesC& aUuid )
- {
- // search the identifier in the middle array.
- for(TInt i = 0; i <iMiddleArray.Count(); i++ )
- {
- HBufC* identifier = iMiddleArray[i];
- if( !identifier->Des().Compare( aUuid ) )
- {
- iMiddleArray.Remove(i);
- // now delete the identifier
- delete identifier;
- identifier = NULL;
- break;
- }
- }
-
- // Create the buffer for packing the Application Information
- // structure and pack the contents into this buffer
- CBufFlat* buffer = CBufFlat::NewL( iMiddleArray.BufferLength());
- CleanupStack::PushL( buffer );
-
- RBufWriteStream writeStream( *buffer, 0 );
- CleanupClosePushL( writeStream );
- iMiddleArray.ExternalizeL( writeStream );
- CleanupStack::PopAndDestroy(); // writeStream
- iLcRegAppStore->AddDataToTableL( buffer->Ptr(0));
- CleanupStack::PopAndDestroy( buffer );
- // Now get the id index.
- if( iMiddleArray.Count() == 0 )
- {
- User::LeaveIfError( iRepository->Set( ELcMiddle, 0 ));
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppOrder::AppendArray
-// ---------------------------------------------------------------------------
-//
-TInt CLcRegAppOrder::AppendArrayL(const TDesC& aUuid )
- {
- HBufC* identifier = HBufC::NewL( aUuid.Length() );
- identifier->Des().Copy( aUuid );
- User::LeaveIfError( iMiddleArray.Append( identifier ));
- // Create the buffer for packing the Application Information
- // structure and pack the contents into this buffer
- CBufFlat* buffer = CBufFlat::NewL( iMiddleArray.BufferLength());
- CleanupStack::PushL( buffer );
-
- RBufWriteStream writeStream( *buffer, 0 );
- CleanupClosePushL( writeStream );
- iMiddleArray.ExternalizeL( writeStream );
- CleanupStack::PopAndDestroy(); // writeStream
-
- iLcRegAppStore->AddDataToTableL( buffer->Ptr(0));
-
- CleanupStack::PopAndDestroy( buffer );
-
- TInt index;
- if ( GetRegisteredAppOrder(aUuid, index ) == KErrNotFound )
- {
- User::Leave( KErrNotFound );
- }
- User::LeaveIfError( iRepository->Set( ELcMiddle, 1 ));
- return index;
- }
-
-//End of file
-
-
--- a/locationcentre/lcserver/src/lcregappstore.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,287 +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: Location Centre Server object.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <badesca.h> // CDesCArrayFlat
-#include <s32file.h> // CFileStore & CPermanentFileStore
-#include <bautils.h> // file helpers
-
-// USER INCLUDES
-#include "lcregappstore.h"
-
-// CONSTANT DEFINTION
-_LIT(KLcPrivateDbName,"lcregappinfo.db"); // Name of the Database file for storing registered app info.
-_LIT(KAppInfoTable, "AppInfo"); // Name of the one table
-_LIT(KAppUUIdCol, "UUID"); // First column
-
-const TInt KMaxColumnLength = 32*1024;
-
-// ----- Member funtions for CLcRegAppStore ---------------------------------
-
-// ---------------------------------------------------------------------------
-// CLcRegAppStore::CLcRegAppStore
-// ---------------------------------------------------------------------------
-//
-CLcRegAppStore::CLcRegAppStore( RFs& aFs )
- :iFsSession( aFs )
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.Initiallize all the variable here
- }
-
-// ---------------------------------------------------------------------------
-// CLcRegAppStore::~CLcRegAppStore
-// ---------------------------------------------------------------------------
-//
-CLcRegAppStore::~CLcRegAppStore()
- {
- // C++ Destructor. Free all resources associated with this class.
- Close();
- }
-
-// ---------------------------------------------------------------------------
-// CLcRegAppStore* CLcRegAppStore::NewL
-// ---------------------------------------------------------------------------
-//
-CLcRegAppStore* CLcRegAppStore::NewL( RFs& aFs )
- {
- CLcRegAppStore* self = NewLC( aFs );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcRegAppStore* CLcRegAppStore::NewLC
-// ---------------------------------------------------------------------------
-//
-CLcRegAppStore* CLcRegAppStore::NewLC( RFs& aFs )
- {
- // Symbian Two phased constructor. Leaves the object on the Clean-up
- // stack.
- CLcRegAppStore* self = new ( ELeave )CLcRegAppStore( aFs );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppStore::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcRegAppStore::ConstructL()
- {
- // Obtain the Db file path
- User::LeaveIfError( iFsSession.SessionPath( iLcRegdbFile ) );
-
- // Create the Database Directory ie the private directory of the process
- if( !BaflUtils::PathExists( iFsSession, iLcRegdbFile ) )
- {
- User::LeaveIfError( iFsSession.MkDirAll( iLcRegdbFile ) );
- }
-
- // Generate the Db file
- iLcRegdbFile.Append( KLcPrivateDbName );
-
- // Check if the db file is exists or not.
- if( BaflUtils::FileExists( iFsSession, iLcRegdbFile ) )
- {
- OpenDbL( iLcRegdbFile );
- }
- else
- {
- CreateDbL( iLcRegdbFile );
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppStore::OpenDbL
-// ---------------------------------------------------------------------------
-//
-void CLcRegAppStore::OpenDbL( const TFileName& aRegAppInfoFile )
- {
- // if it is already open then close it.
- Close();
- // Check if the db file is exists or not.
- if( BaflUtils::FileExists( iFsSession, aRegAppInfoFile ) )
- {
- TRAPD(error,
- iFileStore = CPermanentFileStore::OpenL( iFsSession, aRegAppInfoFile,
- EFileRead|EFileWrite );
- //Set file store type
- iFileStore->SetTypeL( iFileStore->Layout() );
- iRegAppInfoDb.OpenL( iFileStore,iFileStore->Root() )
- );
-
- if( !error )
- {
- iDbStatus = ELcDbOpen;
- }
- else
- {
- User::Leave( error );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppStore::CreateDbL()
-//
-// Create a new database. The database will be in exclusive access mode.
-// ---------------------------------------------------------------------------
-void CLcRegAppStore::CreateDbL( const TFileName& aRegAppInfoFile )
- {
- // if it is already open then close it.
- Close();
-
- // Create empty database file.
- TRAPD(error,
- iFileStore = CPermanentFileStore::ReplaceL(iFsSession, aRegAppInfoFile,
- EFileRead|EFileWrite);
- iFileStore->SetTypeL( iFileStore->Layout() );// Set file store type
- TStreamId id = iRegAppInfoDb.CreateL( iFileStore );// Create stream object
- iFileStore->SetRootL( id );// Keep database id as root of store
- iFileStore->CommitL();// Complete creation by commiting
- // Create appinfo tables
- CreateAppInfoTableL();
- );
-
- if( !error )
- {
- iDbStatus = ELcDbCreate;
- }
- else
- {
- User::Leave( error );
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppStore::Close()
-//
-// Close the database.
-// ---------------------------------------------------------------------------
-void CLcRegAppStore::Close()
- {
- iRegAppInfoDb.Close();
- delete iFileStore;
- iFileStore = NULL;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppStore::CreateAppInfoTableL()
-//
-// Creates Appinfo table. Leaves, if the table cannot be created.
-// ---------------------------------------------------------------------------
-void CLcRegAppStore::CreateAppInfoTableL()
- {
- // Specify columns for appinfo table
- TDbCol uuidCol( KAppUUIdCol, EDbColLongText8,KMaxColumnLength ); // Using default length
-
- // Add the columns to column set
- CDbColSet* appInfoColSet = CDbColSet::NewLC();
- appInfoColSet->AddL( uuidCol );
-
- // Create the appinfo table
- User::LeaveIfError( iRegAppInfoDb.CreateTable(KAppInfoTable,
- *appInfoColSet) );
- CleanupStack::PopAndDestroy( appInfoColSet );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppStore::AddDataToTable()
-//
-// Add item to database using RDbTable API
-// ---------------------------------------------------------------------------
-void CLcRegAppStore::AddDataToTableL( const TDesC8& aAppUid )
- {
- // Create an updateable database table object
- RDbTable table;
- CleanupClosePushL( table );
-
- User::LeaveIfError( table.Open( iRegAppInfoDb, KAppInfoTable, table.EUpdatable ));
-
- CDbColSet* dbColSet = table.ColSetL();
- CleanupStack::PushL( dbColSet );
-
- //table.Reset();
- TBool lRowPos = table.FirstL();
-
- TDbColNo colNo = dbColSet->ColNo(KAppUUIdCol);
-
- // Do first time insert and then do Update
- if( iDbStatus == ELcDbOpen && lRowPos )
- {
- table.UpdateL();
- table.SetColL( colNo, aAppUid ); // col = 1
- }
- else
- {
- table.InsertL();
- table.SetColL( colNo, aAppUid ); // col = 1
- iDbStatus = ELcDbOpen;
- }
-
- table.PutL(); // Complete changes (the insertion)
-
- CleanupStack::PopAndDestroy( dbColSet );
- CleanupStack::PopAndDestroy();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegAppStore::GetUuidValueL()
-//
-// Get packed Uuid from database according to column name
-// ---------------------------------------------------------------------------
-void CLcRegAppStore::GetUuidValueL(TDes8& aUuid)
- {
- aUuid.Zero();
- if(!BaflUtils::FileExists( iFsSession, iLcRegdbFile ) )
- {
- return;
- }
-
- _LIT(KSelectAll,"SELECT * FROM AppInfo" );
-
- // Create a view on the database
- RDbView view;
- CleanupClosePushL( view );
- TInt lResult = view.Prepare( iRegAppInfoDb, TDbQuery( KSelectAll ), view.EReadOnly );
- if( lResult == KErrNone )
- {
- lResult = view.EvaluateAll();
-
- CDbColSet* colSet = view.ColSetL();
- CleanupStack::PushL( colSet );
-
- // Append each result row
- if ( view.FirstL() )
- {
- view.GetL();
- TDbColNo colNo = colSet->ColNo( KAppUUIdCol );
- RDbColReadStream readStream; // A stream object for long columns
- readStream.OpenLC( view, colNo );
- readStream.ReadL( aUuid, view.ColLength( colNo ) );
- CleanupStack::Pop(); //readStream
- readStream.Close();
- }
- CleanupStack::PopAndDestroy( colSet );
- }
- CleanupStack::PopAndDestroy( &view );
- }
-// End of file
-
--- a/locationcentre/lcserver/src/lcregistrationparser.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,970 +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: Location Centre Server object.
-*
-*/
-
-
-// INCLUDE FILES
-#include <xml/parser.h>
-#include <xml/matchdata.h>
-#include <utf.h>
-#include <xml/xmlparsererrors.h>
-#include <javaregistryincludes.h>
-
-// USER INCLUDE
-#include "lcregistrationparser.h"
-#include "lcregxmltaginfo.h"
-#include "lcregxmlparserutils.h"
-#include "lcregxmltagtype.h"
-#include "lcregappinfo.h"
-
-#include "lcdebug.h"
-
-// CONSTANTS
-/**
- * Maximum length of UUID of a service can be
- */
-const TInt KUUIDMaxLength = 1028;
-const TInt KMaxLangCodeLen = 2;
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::CLcRegistrationParser
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLcRegistrationParser::CLcRegistrationParser( RFs& aFs ):
- iFs( aFs )
- {
- iParserError = KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CPosLmXmlEncoder::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CLcRegistrationParser* CLcRegistrationParser::NewL( RFs& aFs )
- {
- CLcRegistrationParser* self = new( ELeave ) CLcRegistrationParser( aFs );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::~CLcRegistrationParser()
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CLcRegistrationParser::~CLcRegistrationParser()
- {
- delete iReadContent;
-
- iParserTreeTags.Reset();
- iParserTreeTags.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::ParseFileL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CLcRegAppInfo* CLcRegistrationParser::ParseFileL( const TDesC& aFile )
- {
- DEBUG("+ CLcRegistrationParser::ParseFileL" )
- CLcRegAppInfo* regAppInfo = CLcRegAppInfo::NewL();
- CleanupStack::PushL( regAppInfo );
-
- HBufC* attributeBuf = HBufC::NewLC( KUUIDMaxLength );
-
- iRegAppInfo = regAppInfo;
- iAttributeBuf = attributeBuf;
- // Check the file name here.
- if( aFile.Length() <= KMaxFileName )
- {
- iFileName.Copy( aFile );
- }
- else
- {
- DEBUG("Error : Bad file name")
- User::Leave( KErrBadName );
- }
-
- iParserTreeTags.Reset();
- iParsingTag = ELcXmlNothing;
- iParsedTag = ELcXmlNothing;
-
- _LIT8(KXmlMimeType, "text/xml");
-
- // Create Symbian XML parser
- // Create parser
-
- Xml::CParser* iRegParser = Xml::CParser::NewLC( KXmlMimeType, *this );
-
- iRegParser->ParseBeginL();
- // check the error code return from the parser
-
- Xml::ParseL( *iRegParser, iFs, aFile );
- // Leave here if Parser framework found some error
- User::LeaveIfError( iParserError );
-
- CleanupStack::PopAndDestroy( 2, attributeBuf );
- CleanupStack::Pop( regAppInfo );
- DEBUG("- CLcRegistrationParser::ParseFileL" )
- return regAppInfo;
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::OnStartDocumentL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::OnStartDocumentL(
- const Xml::RDocumentParameters& /*aDocParam*/,
- TInt /*aErrorCode*/)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::OnEndDocumentL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::OnEndDocumentL(TInt /*aErrorCode*/)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::OnStartElementL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::OnStartElementL(
- const Xml::RTagInfo& aElement,
- const Xml::RAttributeArray& aAttributes,
- TInt /*aErrorCode*/ )
- {
- DEBUG("+ CLcRegistrationParser::OnStartElementL" )
- delete iReadContent;
- iReadContent = NULL;
- // get the tag name and validate it
- TLcRegXmlTagType startTag =
- TLcRegXmlTagInfo::TagTypeL( aElement.LocalName().DesC() );
-
- if( startTag == ELcXmlUnknown )
- {
- User::Leave( KErrNotSupported );
- }
-
- SetParserTagL( startTag );
-
- // Check parser status
- CheckMandatoryTagsL( EXmlParserOnStartElement, startTag );
-
- //Collect attribute value for element
- CollectAttributeValueL( aElement, aAttributes );
-
- DEBUG("- CLcRegistrationParser::OnStartElementL" )
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::SetParserTagL
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::SetParserTagL( TLcRegXmlTagType aTag )
- {
- DEBUG("+ CLcRegistrationParser::SetParserTagL" )
-
- if( !iParserTreeTags.Count() )
- {
- if( aTag == ELcXmlLocationCentreRegistration )
- {
- iParserTreeTags.Append( aTag );
- }
- else
- {
- DEBUG("CLcRegistrationParser::SetParserTagL Not Supported" )
-
- User::Leave( KErrNotSupported );
- }
- }
- else
- {
- if( iParserTreeTags.Find( aTag ) == KErrNotFound )
- {
- User::LeaveIfError( iParserTreeTags.Append( aTag ) );
- CheckSequenceOrderL( aTag );
- }
- else
- {
- User::Leave( EXmlRecursiveEntity );
- }
- }
- DEBUG("- CLcRegistrationParser::SetParserTagL" )
- }
-
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::CheckSequenceOrderL
-//
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::CheckSequenceOrderL( TLcRegXmlTagType aTag )
- {
- DEBUG("+ CLcRegistrationParser::CheckSequenceOrderL" )
-
- switch ( aTag )
- {
- case ELcXmlLocationCentreRegistration:
- {
- if( iParserTreeTags.Count() > 1 )
- {
- User::Leave( KErrNotSupported );
- }
- break;
- }
- case ELcXmlService:
- {
- if( iParserTreeTags.Count() != 1 &&
- iParserTreeTags.Find( ELcXmlLocationCentreRegistration ) == KErrNotFound )
- {
- User::Leave( KErrNotSupported );
- }
- break;
- }
- case ELcXmlRegFileName:
- case ELcXmlFileIcon:
- case ELcXmlFeature:
- case ELcXmlRunMode:
- case ELcXmlWebService:
- case ELcXmlDocument:
- case ELcXmlApplication:
- {
- if( iParserTreeTags[1] != ELcXmlService )
- {
- User::Leave( KErrNotSupported );
- }
- break;
- }
- case ELcXmlApplicationNative:
- case ELcXmlApplicationJava:
- case ELcXmlApplicationParams:
- {
- if( iParserTreeTags.Find( ELcXmlApplication ) == KErrNotFound ||
- iParserTreeTags[1] != ELcXmlService
- )
- {
- User::Leave( KErrNotSupported );
- }
- break;
- }
- default:
- break;
- }
-
- DEBUG("- CLcRegistrationParser::CheckSequenceOrderL" )
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::CheckMandatoryTagsL
-//
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::CheckMandatoryTagsL(
- TXmlParserElementState aXmlState,
- TLcRegXmlTagType aTag )
- {
- DEBUG("+ CLcRegistrationParser::CheckMandatoryTagsL" )
-
- if ( aXmlState == EXmlParserOnStartElement )
- {
- switch ( aTag )
- {
- case ELcXmlApplication:
- {
- if( iParsedTag != ELcXmlRunMode )
- {
- User::Leave( KErrNotSupported );
- }
- iParsingTag = ELcXmlApplication;
- }
- break;
- case ELcXmlWebService:
- case ELcXmlDocument:
- {
- if( iParsedTag != ELcXmlRunMode )
- {
- User::Leave( KErrNotSupported );
- }
- }
- break;
- case ELcXmlApplicationNative:
- case ELcXmlApplicationJava:
- case ELcXmlApplicationParams:
- {
- if( iParsingTag != ELcXmlApplication )
- {
- User::Leave( KErrNotSupported );
- }
- break;
- }
- default:
- break;
- }
- }
- else
- {
- // aXmlState == EXmlParserOnEndElement
- TInt count = iParserTreeTags.Count();
- if( count > 0 )
- {
- switch ( aTag )
- {
- case ELcXmlLocationCentreRegistration:
- {
- if( iParsedTag != ELcXmlService )
- {
- User::Leave( KErrNotSupported );
- }
- break;
- }
- case ELcXmlService:
- {
- if( iParsedTag != ELcXmlApplication )
- {
- if( iParsedTag != ELcXmlDocument )
- {
- if( iParsedTag != ELcXmlWebService )
- {
- User::Leave( KErrNotSupported );
- }
- }
- }
- iParsedTag = ELcXmlService;
- break;
- }
- case ELcXmlRunMode:
- {
- iParsedTag = ELcXmlRunMode;
- break;
- }
- case ELcXmlWebService:
- {
- iParsedTag = ELcXmlWebService;
- break;
- }
- case ELcXmlDocument:
- {
- iParsedTag = ELcXmlDocument;
- break;
- }
- case ELcXmlApplication:
- {
- iParsedTag = ELcXmlApplication;
- break;
- }
- default:
- break;
- }
- iParserTreeTags.Remove( count-1 );
- }
- }
- DEBUG("- CLcRegistrationParser::CheckMandatoryTagsL" )
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::CheckAndReturnValidAttrL
-// -----------------------------------------------------------------------------
-//
-TLcRegXmlTagType CLcRegistrationParser::CheckAndReturnValidAttrL(
- TLcRegXmlTagType aElement,
- const Xml::RAttributeArray& aAttributes )
- {
- DEBUG("+ CLcRegistrationParser::CheckAndReturnValidAttrL" )
-
- TInt count( aAttributes.Count() );
- switch( aElement )
- {
- case ELcXmlLocationCentreRegistration:
- case ELcXmlFeature:
- case ELcXmlApplication:
- case ELcXmlApplicationParams:
- {
- if( count != 0 )
- {
- User::Leave( KErrNotSupported );
- }
- break;
- }
- case ELcXmlService:
- case ELcXmlRegFileName:
- case ELcXmlRunMode:
- case ELcXmlWebService:
- case ELcXmlDocument:
- case ELcXmlApplicationNative:
- case ELcXmlApplicationJava:
- {
- // If all the above element's doesn't have any attribute
- // invalid registration file.
- if( count == 0 ||
- count > 1 )
- {
- User::Leave( KErrNotSupported );
- }
- break;
- }
- case ELcXmlFileIcon:
- {
- // If all the above element's doesn't have any attribute
- // invalid registration file.
- if( count != 2 )
- {
- User::Leave( KErrNotSupported );
- }
- break;
- }
- default:
- break;
- }
-
- // Checking attribute name validity
- TLcRegXmlTagType tagAttr = ELcXmlUnknown;
- // validate the attribute name.
- for( TInt i = 0; i < count; i++ )
- {
- tagAttr =
- TLcRegXmlTagInfo::TagAttrTypeL( aElement,
- aAttributes[i].Attribute().LocalName().DesC() );
-
- // Check the tag attribute value
- // if it is not according to XML schema then it's a invalid registration file
- if( aElement > ELcXmlApplicationParams && tagAttr == ELcXmlUnknown )
- {
- User::Leave( KErrNotSupported );
- }
- }
- DEBUG("- CLcRegistrationParser::CheckAndReturnValidAttrL" )
-
- return tagAttr;
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::CollectAttributeValueL
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::CollectAttributeValueL(
- const Xml::RTagInfo& aElement,
- const Xml::RAttributeArray& aAttributes )
- {
- DEBUG("+ CLcRegistrationParser::CollectAttributeValueL")
-
- TInt count( aAttributes.Count() );
- TParse parse;
- TBuf<KMaxFileName> fileName( iFileName );
-
- TLcRegXmlTagType tag =
- TLcRegXmlTagInfo::TagTypeL( aElement.LocalName().DesC() );
-
- // Check if the element's defiened in XML registration API
- // schema have any valid attribute if no attribute and attribute
- // is not valid one then don't registered.
- TLcRegXmlTagType tagAttr = CheckAndReturnValidAttrL( tag, aAttributes );
-
- DEBUG1(" Tag : %d", tagAttr)
-
- // If validity done then collect attributa value
- switch ( tagAttr )
- {
- case ELcXmlServiceAttrUuid:
- {
- TPtrC8 uidValue( aAttributes[0].Value().DesC() );
- if( uidValue.Length() > KUUIDMaxLength ||
- uidValue.Length() <= 0 )
- {
- User::Leave( KErrNotSupported );
- }
- iAttributeBuf->Des().Copy( uidValue );
- iRegAppInfo->SetIdL( *iAttributeBuf );
- }
- break;
- case ELcXmlRegFileNameAttrLang:
- {
- TPtrC8 langValue( aAttributes[0].Value().DesC() );
- if( langValue.Length() > KMaxLangCodeLen )
- {
- User::Leave( KErrNotSupported );
- }
- iAttributeBuf->Des().Copy( langValue );
- User::LeaveIfError( iRegAppInfo->SetNameLanguage( *iAttributeBuf ) );
- }
- break;
- case ELcXmlFileIconAttrfile:
- case ELcXmlFileIconAttrFrame:
- {
- // Set the file name and type
- for (TInt i = 0; i< count; i++ )
- {
- if( !aAttributes[i].Attribute().LocalName().DesC().Compare( KLcXmlFileIconAttrfile ) )
- {
- TPtrC8 iconfile( aAttributes[i].Value().DesC() );
- if( iconfile.Length() > KMaxFileName )
- {
- User::Leave( KErrNotSupported );
- }
- iAttributeBuf->Des().Copy( iconfile );
- // Check the drive letter of the document name
- // if no drive letter then append drive letter of registration file name
- parse.Set( *iAttributeBuf,NULL,NULL );
- if( parse.Drive().Length() == 0 )
- {
- parse.Set(fileName,NULL,NULL);
- fileName.Zero();
- fileName.Append( parse.Drive() );
- fileName.Append( *iAttributeBuf );
- iAttributeBuf->Des().Copy( fileName );
- }
- iRegAppInfo->SetIconFileL( *iAttributeBuf );
- iRegAppInfo->SetIconFileType( CLcAppInfo::EMifFile );
- }
- else if( !aAttributes[i].Attribute().LocalName().DesC().Compare( KLcXmlFileIconAttrFrame ) )
- {
- // Set the frame no.
- TPtrC8 iconFrame( aAttributes[i].Value().DesC() );
- if( iconFrame.Length() > sizeof( TUint32 ) )
- {
- User::Leave( KErrNotSupported );
- }
- iAttributeBuf->Des().Copy( iconFrame );
- TLex lexer( *iAttributeBuf );
- TUint32 frameNo = 0;
- TUint limit = 0xFFFFFFFF;
- User::LeaveIfError( lexer.BoundedVal( frameNo, EHex, limit ) );
- iRegAppInfo->SetFrameNo( frameNo );
- }
- else
- {
- User::Leave( KErrNotSupported );
- }
- }
- }
- break;
- case ELcXmlRunModeAttrDefault:
- {
- TPtrC8 runMode( aAttributes[0].Value().DesC() );
- if( runMode.Length() > KLcAppRunModeStandalone.iTypeLength )
- {
- User::Leave( KErrNotSupported );
- }
- iAttributeBuf->Des().Copy( runMode );
- if( !iAttributeBuf->Des().Compare( KLcAppRunModeStandalone ) )
- {
- iRegAppInfo->SetLaunchMode( CLcLocationAppInfo::EStandAloneMode );
- }
- else if( !iAttributeBuf->Des().Compare(KLcAppRunModeChild) )
- {
- iRegAppInfo->SetLaunchMode( CLcLocationAppInfo::EChainedMode );
- }
- else
- {
- User::Leave( KErrNotSupported );
- }
- }
- break;
- case ELcXmlApplicationNativeAttrSid:
- {
- TPtrC8 appSid( aAttributes[0].Value().DesC() );
- // length must be greater than zero
- if( appSid.Length() <= 0 )
- {
- User::Leave( KErrNotSupported );
- }
- // Check if the SID is in [SID] format.
- // If it is then remove the '[' and ']' from it.
- if( appSid[0] == '[' &&
- appSid[appSid.Length() - 1 ] == ']' )
- {
- // Check SID length.If it is zero or
- // greater then 10(because sid is 8 and then
- // two angle brackets equals to 10) dont't registered
- if( appSid.Length() > 10 )
- {
- User::Leave( KErrNotSupported );
- }
- iAttributeBuf->Des().Zero();
- for(TInt i = 0; i < appSid.Length() - 2; i++ )
- {
- iAttributeBuf->Des().Append( appSid[i+1] );
- }
- }
- else
- {
- User::Leave( KErrNotSupported );
- }
- iRegAppInfo->SetApplicationDataL( *iAttributeBuf );
- iRegAppInfo->SetApplicationType( ELcNativeApplication );
- }
- break;
- case ELcXmlApplicationJavaAttrName:
- {
-
-
- // Obtain the UID corresponding to the Java Application
- // Midlet name.
- TPtrC8 javaName( aAttributes[0].Value().DesC() );
- if( javaName.Length() > KUUIDMaxLength )
- {
- User::Leave( KErrNotSupported );
- }
- iAttributeBuf->Des().Copy(javaName);
- iAttributeBuf->Des().Format(_L("%x"), JavaAppUidL( *iAttributeBuf ) );
-
- iRegAppInfo->SetApplicationDataL( *iAttributeBuf );
- iRegAppInfo->SetApplicationType(ELcNativeApplication);
-
-
- }
- break;
- case ELcXmlWebServiceAttrUrl:
- {
- TPtrC8 webUri( aAttributes[0].Value().DesC() );
- if( webUri.Length() > KUUIDMaxLength )
- {
- User::Leave( KErrNotSupported );
- }
- iAttributeBuf->Des().Copy( webUri );
- iRegAppInfo->SetApplicationDataL( *iAttributeBuf );
- iRegAppInfo->SetApplicationType( ELcWebUrl );
- }
- break;
- case ELcXmlDocumentAttrFile:
- {
- TPtrC8 docFile( aAttributes[0].Value().DesC() );
- if( docFile.Length() > KMaxFileName )
- {
- User::Leave( KErrNotSupported );
- }
- iAttributeBuf->Des().Copy( docFile );
- // Check the drive letter of the document name
- // if no drive letter then append drive letter of registration file name
- parse.Set( *iAttributeBuf,NULL,NULL );
- if( parse.Drive().Length() == 0 )
- {
- parse.Set(fileName,NULL,NULL);
- fileName.Zero();
- fileName.Append( parse.Drive() );
- fileName.Append( *iAttributeBuf );
- iAttributeBuf->Des().Copy( fileName );
- }
- iRegAppInfo->SetApplicationDataL( *iAttributeBuf );
- iRegAppInfo->SetApplicationType( ELcDocument );
- }
- break;
- default:
- break;
- }
-
- DEBUG("- CLcRegistrationParser::CollectAttributeValueL")
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegistrationParser::JavaAppUidL
-// ---------------------------------------------------------------------------
-//
-TUint32 CLcRegistrationParser::JavaAppUidL( const TDesC& aMidletName )
- {
- TUint32 uidValue = 0;
- DEBUG("+ CLcRegistrationParser::JavaAppUidL")
-
- // Create a new Registry class
- Java::CJavaRegistry* registry = Java::CJavaRegistry::NewLC();
-
- // Obtain all the UIDs and check if the required UID corresponding
- // to the Midlet name exists
- RArray<TUid> uidArray;
- CleanupClosePushL( uidArray );
- registry->GetRegistryEntryUidsL( uidArray );
-
- for( TInt i = 0; i < uidArray.Count(); i++ )
- {
- // Obtain the Registry entry corresponding to the current UID
- Java::CJavaRegistryEntry* registryEntry = registry->RegistryEntryL( uidArray[i]);
- if( registryEntry )
- {
- if ( !aMidletName.Compare( registryEntry->Name() ) )
- {
- uidValue = ( registryEntry->Uid().iUid );
- delete registryEntry;
- break;
- }
- }
- delete registryEntry;
- }
-
- CleanupStack::PopAndDestroy( 2, registry ); // uidArray
- DEBUG1("UID %d", uidValue)
- DEBUG("- CLcRegistrationParser::JavaAppUidL")
- return uidValue;
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::OnEndElementL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::OnEndElementL(
- const Xml::RTagInfo& aElement,
- TInt /*aErrorCode*/ )
- {
- DEBUG("+ CLcRegistrationParser::OnEndElementL" )
-
- // End element
- TLcRegXmlTagType endTag =
- TLcRegXmlTagInfo::TagTypeL( aElement.LocalName().DesC() );
-
- if( endTag == ELcXmlUnknown )
- {
- User::Leave( KErrNotSupported );
- }
- // Check parser status
- CheckMandatoryTagsL( EXmlParserOnEndElement, endTag );
-
- // Read property/content for end element
- if (iReadContent)
- {
- HBufC* content = HBufC::NewLC( iReadContent->Length() );
- TPtr16 ptr = content->Des();
-
- // Convert property/content
- LcRegXmlParserUtils::Utf8ToUnicodeL( *iReadContent, ptr );
-
- // Set content on appinfo related objects and parser status
- SetContentL( endTag, *content );
-
- // Reset/delete read/converted content
- CleanupStack::PopAndDestroy( content );
-
- delete iReadContent;
- iReadContent = NULL;
- }
-
- DEBUG("- CLcRegistrationParser::OnEndElementL" )
- }
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::SetContentL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::SetContentL(
- TLcRegXmlTagType aTag,
- const TDesC& aContent )
- {
- DEBUG("+ CLcRegistrationParser::SetContentL" )
-
- switch( aTag )
- {
- case ELcXmlRegFileName:
- {
- iRegAppInfo->SetAppNameL( aContent );
- break;
- }
- case ELcXmlFeature:
- {
- if( !aContent.Compare( KLcAppCharSettings ) )
- {
- iRegAppInfo->SetApplicationCharacteristics( CLcLocationAppInfo::EAppCharSettings );
- }
- else if( !aContent.Compare( KLcAppCharPersonalData ) )
- {
- iRegAppInfo->SetApplicationCharacteristics( CLcLocationAppInfo::EAppCharPersonalDataManagement );
- }
- else if( !aContent.Compare( KLcAppCharNavigation ) )
- {
- iRegAppInfo->SetApplicationCharacteristics( CLcLocationAppInfo::EAppCharNavigation );
- }
- else if( !aContent.Compare( KLcAppCharMaps ) )
- {
- iRegAppInfo->SetApplicationCharacteristics( CLcLocationAppInfo::EAppCharMaps );
- }
- else if( !aContent.Compare( KLcAppCharLocationEvents ) )
- {
- iRegAppInfo->SetApplicationCharacteristics( CLcLocationAppInfo::EAppCharLocationBasedEvents );
- }
- else if( !aContent.Compare( KLcAppCharRemotePositioning ) )
- {
- iRegAppInfo->SetApplicationCharacteristics( CLcLocationAppInfo::EAppCharRemotePositioning );
- }
- else if( !aContent.Compare( KLcAppCharNetworkService ) )
- {
- iRegAppInfo->SetApplicationCharacteristics( CLcLocationAppInfo::EAppCharNetworkService );
- }
- else if( !aContent.Compare( KLcAppCharLocationMessaging ) )
- {
- iRegAppInfo->SetApplicationCharacteristics( CLcLocationAppInfo::EAppCharLocationEnhancedMessages );
- }
- else if( !aContent.Compare( KLcAppCharLocalContent ) )
- {
- iRegAppInfo->SetApplicationCharacteristics( CLcLocationAppInfo::EAppCharOnDeviceLocationBasedContent );
- }
- else if( !aContent.Compare( KLcAppCharRemoteContent ) )
- {
- iRegAppInfo->SetApplicationCharacteristics( CLcLocationAppInfo::EAppCharRemoteLocationBasedContent );
- }
- else
- {
- User::Leave( KErrNotSupported );
- }
- break;
- }
- case ELcXmlApplicationParams:
- {
- iRegAppInfo->SetCommandLineParametersL( aContent );
- break;
- }
- default:
- break;
- }
-
- DEBUG("- CLcRegistrationParser::SetContentL" )
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::OnContentL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::OnContentL(
- const TDesC8& aBytes, TInt /*aErrorCode*/ )
- {
- DEBUG("+ CLcRegistrationParser::OnContentL")
- // If there are content from a previous parsing
- // then we need to concatenate data/strings.
- if (iReadContent)
- {
- HBufC8* prevContent = iReadContent;
- CleanupStack::PushL( prevContent );
- iReadContent = NULL;
-
- iReadContent = HBufC8::NewL( prevContent->Length() + aBytes.Length() );
- iReadContent->Des().Append( *prevContent );
- iReadContent->Des().Append( aBytes );
- CleanupStack::PopAndDestroy( prevContent );
- }
- else
- {
- iReadContent = aBytes.AllocL();
- }
- DEBUG("- CLcRegistrationParser::OnContentL")
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::OnStartPrefixMappingL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::OnStartPrefixMappingL(
- const RString& /*aPrefix*/,
- const RString& /*aUri*/,
- TInt /*aErrorCode*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::OnEndPrefixMappingL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::OnEndPrefixMappingL(
- const RString& /*aPrefix*/, TInt /*aErrorCode*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::OnIgnorableWhiteSpaceL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::OnIgnorableWhiteSpaceL(
- const TDesC8& /*aBytes*/, TInt /*aErrorCode*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::OnSkippedEntityL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::OnSkippedEntityL(
- const RString& /*aName*/, TInt /*aErrorCode*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::OnProcessingInstructionL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::OnProcessingInstructionL(
- const TDesC8& /*aTarget*/, const TDesC8& /*aData*/,
- TInt /*aErrorCode*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::OnOutOfData
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::OnOutOfData()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::OnError
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CLcRegistrationParser::OnError( TInt aErrorCode )
- {
- iParserError = aErrorCode;
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistrationParser::GetExtendedInterface
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TAny* CLcRegistrationParser::GetExtendedInterface( const TInt32 /*aUid*/ )
- {
- return NULL;
- }
-
-// End of File
--- a/locationcentre/lcserver/src/lcregistry.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,988 +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: Location Centre Server object.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <pathinfo.h>
-#include <apgcli.h>
-#include <DocumentHandler.h> // CDocumentHandler
-#include <pathinfo.h>
-
-// USER INCLUDES
-#include "lcregistry.h"
-#include "lcregistrationparser.h"
-#include "lcregistryupdate.h"
-#include "lcregistrationupdatenotifier.h"
-#include "lcregapporder.h"
-#include "lcregistryobserver.h"
-#include "lcregappinfo.h"
-#include "lcregappstore.h"
-#include "lcdebug.h"
-
-// CONSTANT DEFINTIONS
-//Forward declaration. Function for sorted ordering of appinfo array
-static TInt PositionDescOrdering( const CLcRegAppInfo& aAppInfo1,
- const CLcRegAppInfo& aAppInfo2 );
-
-
-
-// ----- Member funtions for CLcRegistry ---------------------------------
-
-// ---------------------------------------------------------------------------
-// CLcRegistry::CLcRegistry
-// ---------------------------------------------------------------------------
-//
-CLcRegistry::CLcRegistry( MLcRegistryObserver& aRegistryObserver )
- :CActive(EPriorityStandard),
- iRegistryObserver( aRegistryObserver )
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.Initiallize all the variable here
- }
-
-// ---------------------------------------------------------------------------
-// CLcRegistry::~CLcRegistry
-// ---------------------------------------------------------------------------
-//
-CLcRegistry::~CLcRegistry()
- {
- Cancel();
-
- // C++ Destructor. Free all resources associated with this class.
- delete iLcRegUpdate;
- delete iRegAppStore;
- delete iLcRegAppOrder;
-
- //close the file server session.
- iFs.Close();
- // free filename array memory
- iFileNameArry.Reset();
- iFileNameArry.Close();
-
- //delete all items from the appinfo array.
- iAppInfoArray.ResetAndDestroy();
- iAppInfoArray.Close();
-
- iAppInfoNewArray.ResetAndDestroy();
- iAppInfoNewArray.Close();
- }
-
-// ---------------------------------------------------------------------------
-// CLcRegistry* CLcRegistry::NewL
-// ---------------------------------------------------------------------------
-//
-CLcRegistry* CLcRegistry::NewL( MLcRegistryObserver& aRegistryObserver )
- {
- CLcRegistry* self = NewLC( aRegistryObserver );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcRegistry* CLcRegistry::NewLC
-// ---------------------------------------------------------------------------
-//
-CLcRegistry* CLcRegistry::NewLC( MLcRegistryObserver& aRegistryObserver )
- {
- // Symbian Two phased constructor. Leaves the object on the Clean-up
- // stack.
- CLcRegistry* self = new ( ELeave )CLcRegistry( aRegistryObserver );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegistry::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcRegistry::ConstructL()
- {
- // connect to file server
- // and pass this session to all the class required.
- User::LeaveIfError(iFs.Connect());
-
- // creation of dynamic registration notifier object
- iLcRegUpdate = CLcRegistryUpdate::NewL( *this, iFs);
-
- // creation of private info object
- iRegAppStore = CLcRegAppStore::NewL(iFs);
-
- // creation of application order settings object
- iLcRegAppOrder = CLcRegAppOrder::NewL( *iRegAppStore );
-
- // reset the new applist array count here
- iAppInfoNewArray.Reset();
- /* Now Check if any update needed to that list.
- * To do that start all the system drive scan and collect
- * all the registered file names
- */
- iRegistryHasToUpdate = EFalse;
-
- // registered for notification in private directory from file server
- iLcRegUpdate->StartFileNotifation();
- // Add it to Active scheduler
- CActiveScheduler::Add( this );
- // issue the request to active scheduker
- CheckForUpdationL();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegistry::CheckForUpdationL()
-// ---------------------------------------------------------------------------
-//
-void CLcRegistry::CheckForUpdationL()
- {
- // inform registry engine that registration process is under updation
- iRegistryObserver.RegistryUnderUpdation();
- // set the file count to zero
- iregFileCount = 0;
-
- // Scan all the drives and get all the registered file names
- ScanDrivesAndGetFileNameL();
-
- DEBUG3("Updated File list : %d", iFileNameArry.Count(), 0, 0 );
-
- // issue a request to active scheduler
- IssueRequest();
- }
-
-
-// ---------------------------------------------------------------------------
-// void CLcRegistry::IssueRequest
-// ---------------------------------------------------------------------------
-//
-void CLcRegistry::IssueRequest()
- {
- if(!IsActive())
- {
- SetActive();
- TRequestStatus *status = &iStatus;
- User::RequestComplete(status,KErrNone);
- }
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLcRegistry::GetAllRegisteredAppsList
-// ---------------------------------------------------------------------------
-//
-TInt CLcRegistry::GetAllRegisteredAppsList( RPointerArray<CLcAppInfo>& appInfoArray )
- {
- //DEBUG( "+ CLcRegistry::GetAllRegisteredAppsList");
-
- TInt error = KErrNone;
- if( iAppInfoArray.Count() <= 0 )
- {
- error = KErrNotFound;
- }
- else
- {
- for(TInt i = 0; i < iAppInfoArray.Count(); i++)
- {
- // check wheather application is present
- // append only present application
- if( iAppInfoArray[i]->IsAppPresent() )
- {
- error = appInfoArray.Append( iAppInfoArray[i] );
- if ( error )
- {
- break;
- }
- }
- }
- }
- DEBUG3("Get Registered Apps : %d", appInfoArray.Count(), 0, 0 );
- //DEBUG( "- CLcRegistry::GetAllRegisteredAppsList");
- return error;
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLcRegistry::GetApplicationInfo
-// ---------------------------------------------------------------------------
-//
-TInt CLcRegistry::GetApplicationInfo( const TDesC& aAppUid,
- CLcBasicAppInfo*& aLcRegAppInfo )
- {
- //DEBUG( "+ CLcRegistry::GetApplicationInfo");
-
- for(TInt i = 0; i< iAppInfoArray.Count(); i++)
- {
- if( !aAppUid.Compare( iAppInfoArray[i]->Id()) &&
- iAppInfoArray[i]->IsAppPresent())
- {
- aLcRegAppInfo = iAppInfoArray[i];
- return KErrNone;
- }
- }
-
- //DEBUG( "- CLcRegistry::GetApplicationInfo");
-
- return KErrNotFound;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcRegistry::HandleDynamicRegistrationL
-// ---------------------------------------------------------------------------
-//
-void CLcRegistry::HandleDynamicRegistrationL()
- {
- DEBUG("+CLcRegistry::HandleDynamicRegistrationL");
- iRegistryHasToUpdate = ETrue;
- CheckForUpdationL();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::ScanDrivesAndGetFileNameL
-// ---------------------------------------------------------------------------
-//
-void CLcRegistry::ScanDrivesAndGetFileNameL()
- {
- DEBUG( "+ CLcRegistry::ScanDrivesAndGetFileNameL");
-
- iFileNameArry.Reset();
- //declare the directory to be scan through
- _LIT(KPriDirName, ":\\private\\10283138\\import\\" );
- TFileName srcDirName( KPriDirName );
- TDriveList dirList;
-
- if(iFs.DriveList( dirList ) != KErrNone)
- {
- return;
- }
-
- TBuf<KMaxFileName> rootDir;
- //creating the CDirscan object
- CDirScan* scanner = CDirScan::NewLC(iFs);
- TChar driveLetter = '?';
- TDriveInfo info;
- TInt error;
-
- //Scan for all drives in the system
- TInt driveListSize = dirList.Length();
- for(TInt dir(0); dir < driveListSize; dir++)
- {
- error = iFs.Drive(info, dir);
- if ((error == KErrNone) &&
- (dirList[dir] && info.iType != EMediaNotPresent))
- {
- RFs::DriveToChar(dir, driveLetter);
- rootDir.Zero();//Clear the previous contents
- rootDir.Append(driveLetter);
- rootDir.Append( srcDirName );
-
- CDir *currentDir = NULL;
- // Go through the files only
- scanner->SetScanDataL( rootDir, KEntryAttNormal, ESortNone );
-
- TRAP( error, scanner->NextL( currentDir ));
- if( error )
- {
- continue;
- }
- TInt entryCount = currentDir->Count();
- while(entryCount--)
- {
- TBuf<KMaxFileName> lookup;
- TEntry entry=( *currentDir )[entryCount];
- //Clear the previous values
- lookup.Zero();
- //Append next one
- lookup.Append(scanner->FullPath());
- lookup.Append(entry.iName);
- //Store it in for future reference
- iFileNameArry.Append(lookup);
- }
- delete currentDir;
- }
- }
- CleanupStack::PopAndDestroy( scanner );
-
- DEBUG( "- CLcRegistry::ScanDrivesAndGetFileNameL");
- }
-
-// ----------------------------------------------------------------------------
-// CLcRegistry::RunL
-// ----------------------------------------------------------------------------
-//
-void CLcRegistry::RunL()
- {
- TUint mmcId = 0;
- // This check is for if some update events come
- // during registration updation going on.
- if( iRegistryHasToUpdate )
- {
- DEBUG( "Dynamic notification recived");
- // Add all the appinfo to current list from new created list
- for( TInt i = 0; i < iAppInfoNewArray.Count(); i++ )
- {
- User::LeaveIfError( iAppInfoArray.Append( iAppInfoNewArray[i] ));
- }
- iAppInfoNewArray.Reset();
- // end of loop set the flag as EFalse
- iRegistryHasToUpdate = EFalse;
- DEBUG( "Notify execute");
- IssueRequest();
- }
- else
- {
- CLcRegAppInfo* regAppInfo = NULL;
- if( iregFileCount < iFileNameArry.Count() )
- {
- // Check wheather registration file name is present in the
- // old registered list.If not then add as a new registration service
- TBool lResult = DoesApplicationExists( iFileNameArry[ iregFileCount ],
- regAppInfo );
- if ( lResult )
- {
- // Check if the Application suffered an Upgrade. If its an upgrade
- // then its equivalent to a new installation.
- TFileName fileName = regAppInfo->FileName();
- if ( IsAppUpgraded(fileName) )
- {
- // Remove the element from the Old array
- TInt index = iAppInfoArray.Find( regAppInfo );
- CLcRegAppInfo* info = iAppInfoArray[index];
- iAppInfoArray.Remove( index );
- delete info;
-
- // Parse new registration info validate and append it to list
- TRAPD( err, regAppInfo =
- CreateAppRegInfoL(iFileNameArry[ iregFileCount ]));
- if( !err )
- {
- CleanupStack::PushL( regAppInfo );
- InsertAppRegInfoL( regAppInfo );
- CleanupStack::Pop( regAppInfo );
- }
- iregFileCount++;
- IssueRequest();
- }
- else
- {
- // Check and Set the Present status of the Application
- if( !regAppInfo->IsAppPresent() &&
- !GetMmcId( mmcId ) &&
- !mmcId == regAppInfo->MmcId())
- {
- // This condition is only when the Application was registered
- // prior to this and was on an MMC which was not mounted
- regAppInfo->SetFilePresenceStatus(ETrue);
- }
-
- // Remove the element from the Old array
- TInt index = iAppInfoArray.Find( regAppInfo );
- iAppInfoArray.Remove( index );
- // push the object to cleanup stack before calling
- // InsertAppRegInfoL.
- CleanupStack::PushL( regAppInfo );
- InsertAppRegInfoL( regAppInfo );
- CleanupStack::Pop( regAppInfo );
-
- iregFileCount++;
- IssueRequest();
- }
- }
- else
- {
- // Parse new registration info validate and append it to list
- TRAPD( err, regAppInfo =
- CreateAppRegInfoL( iFileNameArry[ iregFileCount ] ));
- if( !err )
- {
- CleanupStack::PushL( regAppInfo );
- InsertAppRegInfoL( regAppInfo );
- CleanupStack::Pop( regAppInfo );
- }
- iregFileCount++;
- IssueRequest();
- }
- }
- else
- {
- // After completing if part if there is any application present
- // in the old array then check those application for absent or removal case.
- if( iAppInfoArray.Count() > 0 )
- {
- //Get current MMC id.
- if( GetMmcId( mmcId ) )
- {
- // Check for all Absent applications
- while( iAppInfoArray.Count())
- {
- regAppInfo = iAppInfoArray[0];
- iAppInfoArray.Remove( 0 );
-
- if( regAppInfo->MmcId() != mmcId )
- {
- regAppInfo->SetFilePresenceStatus(EFalse);
- CleanupStack::PushL( regAppInfo );
- InsertAppRegInfoL( regAppInfo );
- CleanupStack::Pop( regAppInfo );
- }
- else
- {
- iLcRegAppOrder->RemoveArrayL( regAppInfo->Id() );
- delete regAppInfo;
- }
- }
- }
-
- // Check for all de-registered applications
- while( iAppInfoArray.Count())
- {
- regAppInfo = iAppInfoArray[0];
- iAppInfoArray.Remove( 0 );
- iLcRegAppOrder->RemoveArrayL( regAppInfo->Id() );
- delete regAppInfo;
- }
- }
- iAppInfoArray.ResetAndDestroy();
- FinalRegistrationUpdateL();
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CLcServerShutDownTimer::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CLcRegistry::RunError( TInt aError )
- {
- // Dont leave. Continue with the next operation
- return aError;
- }
-
-
-// ---------------------------------------------------------------------------
-// void CLcRegistry::FinalRegistrationUpdateL
-// ---------------------------------------------------------------------------
-//
-void CLcRegistry::FinalRegistrationUpdateL()
- {
- // Resync all the existing applications. Their order could have been
- // changed because of the possible changes in the index ordering
-
- // Temporary array to assist copying of all content from one place
- // to another
- RPointerArray<CLcRegAppInfo> tempArray;
- while ( iAppInfoArray.Count())
- {
- CLcRegAppInfo* info = iAppInfoArray[0];
- iAppInfoArray.Remove( 0 );
- tempArray.Append( info );
- }
-
- // Insert back all temporary elements back into the Info Array
- TInt appcount = tempArray.Count();
- for( TInt i = 0; i < appcount; i++ )
- {
- User::LeaveIfError( iAppInfoArray.Append( tempArray[i] ));
- }
-
- // Now destroy all the elements back in the temporary array.
- tempArray.ResetAndDestroy();
- tempArray.Close();
-
- // Add all the appinfo to current list from new created list
- appcount = iAppInfoNewArray.Count();
- for( TInt i = 0; i < appcount; i++ )
- {
- User::LeaveIfError(iAppInfoArray.Append( iAppInfoNewArray[i] ));
- }
- iAppInfoNewArray.Reset();
-
- DEBUG1("New List Count : %d", iAppInfoArray.Count())
-
- // Send a notification to registry engine that updation completed
- iRegistryObserver.RegistryUpdated();
- }
-
-// ----------------------------------------------------------------------------
-// CLcRegistry::IsInMMc
-// ----------------------------------------------------------------------------
-//
-TBool CLcRegistry::IsInMMc( TFileName& aFileName )
- {
- TBool lResult = EFalse;
- TParse parse;
- parse.Set(aFileName,NULL,NULL);
- TPtrC lDrive = parse.Drive();
- TInt err,mmcDrive,fileDrive;
- err = RFs::CharToDrive( PathInfo::MemoryCardRootPath()[0], mmcDrive );
- if (err == KErrNone)
- {
- err = RFs::CharToDrive( lDrive[0], fileDrive );
- if( err == KErrNone )
- {
- if( mmcDrive == fileDrive )
- {
- lResult = ETrue;
- }
- }
- }
- return lResult;
- }
-
-// ----------------------------------------------------------------------------
-// CLcRegistry::DoesApplicationExists
-// ----------------------------------------------------------------------------
-//
-TBool CLcRegistry::DoesApplicationExists( TFileName& aFileName,
- CLcRegAppInfo*& alcRegAppInfoPtr )
- {
- // This function checks wheather registration info with same file name
- // is present in the old list. If present then return ETrue or else EFalse.
- TInt count = iAppInfoArray.Count();
- for( TInt i = 0; i < count; i++ )
- {
- alcRegAppInfoPtr = iAppInfoArray[i];
- if( alcRegAppInfoPtr )
- {
- if( aFileName.Compare( alcRegAppInfoPtr->FileName()) == 0 )
- {
- return ETrue;
- }
- }
- }
- return EFalse;
- }
-
-// ----------------------------------------------------------------------------
-// CLcRegistry::CreateAppRegInfoL
-// ----------------------------------------------------------------------------
-//
-CLcRegAppInfo* CLcRegistry::CreateAppRegInfoL( TFileName& aFileName )
- {
- DEBUG( "+ CLcRegistry::CreateAppRegInfoL" );
-
- CLcRegistrationParser* regParser = CLcRegistrationParser::NewL( iFs );
- CleanupStack::PushL( regParser );
-
- //Parse the file content and get all the registration info.
- CLcRegAppInfo* info = regParser->ParseFileL( aFileName );
-
- CleanupStack::PopAndDestroy( regParser );
-
- CleanupStack::PushL( info );
-
- //Check that same UUID based appinfo is already registered or not.
- if( DoesSameUuidPresent( info ))
- {
- User::Leave( KErrAlreadyExists );
- }
-
- //validate the application or document
- if ( info->ApplicationType() == ELcNativeApplication ||
- info->ApplicationType() == ELcDocument )
- {
- //DEBUG("+ Validate")
- ValidateRegisteredServiceL( *info );
- //DEBUG("- Validate")
- }
-
- // Set the language specific name for the service
- if( info->IsAppNamePresent())
- {
- info->SetAppLangSpecificNameL(iFs);
- }
- else
- {
- SetAbsentAppNameL( info );
- }
-
-
- // Set the file name for future reference.
- info->SetFileNameL( aFileName );
-
- TUint mmcId;
-
- //Get current MMC id.
- if( !GetMmcId( mmcId ) && IsInMMc( aFileName ))
- {
- info->SetMmcId(mmcId);
- }
-
- CleanupStack::Pop( info );
-
- DEBUG( "- CLcRegistry::CreateAppRegInfoL" );
- return info;
- }
-
-// ----------------------------------------------------------------------------
-// CLcRegistry::InsertAppRegInfoL
-// ----------------------------------------------------------------------------
-//
-void CLcRegistry::InsertAppRegInfoL( CLcRegAppInfo* aAppInfo )
- {
- TInt index = 0;
-
- // Get the required order of the
- // service from the central repository
- //Add the appinfo to array
- if( iLcRegAppOrder->GetRegisteredAppOrder( aAppInfo->Id(),
- index ))
- {
-
- // this is for new regapp info addition
- // to db and get the final order
- index = iLcRegAppOrder->AppendArrayL( aAppInfo->Id());
-
- for ( TInt i = 0; i < iAppInfoArray.Count(); i++ )
- {
- // Get the new order for the respective elements and set the correct values.
- CLcRegAppInfo* info = iAppInfoArray[i];
- TInt currentIndex = 0;
- iLcRegAppOrder->GetRegisteredAppOrder( info->Id(),
- currentIndex );
- // Set the new Index
- info->SetArrayIndex( currentIndex );
- }
-
- // Set the index of all elements in the new array
- for ( TInt i = 0; i < iAppInfoNewArray.Count(); i++ )
- {
- // Get the new order for the respective elements and set the correct values.
- CLcRegAppInfo* info = iAppInfoNewArray[i];
- TInt currentIndex = 0;
- iLcRegAppOrder->GetRegisteredAppOrder( info->Id(),
- currentIndex );
- // Set the new Index
- info->SetArrayIndex( currentIndex );
- }
- }
-
- // Set the array index
- aAppInfo->SetArrayIndex( index );
-
- User::LeaveIfError(
- iAppInfoNewArray.InsertInOrder( aAppInfo,
- PositionDescOrdering ));
- }
-
-// ----------------------------------------------------------------------------
-// CLcRegistry::DoesSameUuidPresent
-// ----------------------------------------------------------------------------
-//
-TBool CLcRegistry::DoesSameUuidPresent( CLcRegAppInfo* aLcRegAppInfo )
- {
- // Check in the Old array
- for( TInt i = 0; i < iAppInfoArray.Count(); i++ )
- {
- CLcRegAppInfo* lcRegAppInfoPtr = iAppInfoArray[i];
- if( lcRegAppInfoPtr )
- {
- if( !aLcRegAppInfo->Id().Compare( lcRegAppInfoPtr->Id()))
- {
- return ETrue;
- }
- }
- }
-
- // Now check in the new array
- for( TInt i = 0; i < iAppInfoNewArray.Count(); i++ )
- {
- CLcRegAppInfo* lcRegAppInfoPtr = iAppInfoNewArray[i];
- if( lcRegAppInfoPtr )
- {
- if( !aLcRegAppInfo->Id().Compare( lcRegAppInfoPtr->Id()))
- {
- return ETrue;
- }
- }
- }
-
- // No match found
- return EFalse;
- }
-
-// ----------------------------------------------------------------------------
-// CLcRegistry::DoCancel
-// ----------------------------------------------------------------------------
-//
-void CLcRegistry::DoCancel()
- {
- Cancel();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::ValidateRegisteredAppL
-// ---------------------------------------------------------------------------
-//
-void CLcRegistry::ValidateRegisteredServiceL( CLcRegAppInfo& aApplicationInfo )
- {
- DEBUG( "+ CLcRegistry::ValidateRegisteredServiceL" )
-
- RApaLsSession lsSession;
- User::LeaveIfError( lsSession.Connect() );
- CleanupClosePushL( lsSession );
-
- //Check the application type.If Application then validate it
- if( aApplicationInfo.ApplicationType() == ELcNativeApplication )
- {
- DEBUG("+ App Validation")
- TLex lexer(aApplicationInfo.ApplicationData());
- TUint32 lAppSid = 0;
- TUint limit = 0xFFFFFFFF;
- User::LeaveIfError( lexer.BoundedVal(lAppSid, EHex, limit) );
- TApaAppInfo appInfo;
- User::LeaveIfError( lsSession.GetAppInfo( appInfo, TUid::Uid( lAppSid )));
- DEBUG("- App Validation")
- }
- else if( aApplicationInfo.ApplicationType() == ELcDocument )
- {
- DEBUG("+ Document Validation")
- //Validate document
- CDocumentHandler* documentHandler = CDocumentHandler::NewL();
- CleanupStack::PushL( documentHandler );
- // empty datatype for automatic recognization
- TUint8* contentTypeString = NULL;
- FindContentTypeFromFileL( lsSession,
- contentTypeString,
- &aApplicationInfo );
- User::LeaveIfNull( contentTypeString );
-
- CleanupStack::PushL( contentTypeString );
- documentHandler->CanOpenL( TDataType( TPtrC8( contentTypeString )));
- CleanupStack::PopAndDestroy( 2, documentHandler );
- DEBUG("- Document Validation")
- }
-
- // Now set the system characteristics for application / document / weburl
- SetAppSysCharacteristicsL( lsSession, aApplicationInfo );
-
- CleanupStack::PopAndDestroy(); //lsSession
-
- DEBUG( "- CLcRegistry::ValidateRegisteredServiceL" )
- }
-
-
-// ---------------------------------------------------------------------------
-// void CLcRegistry::FindContentTypeFromFileL
-// ---------------------------------------------------------------------------
-//
-void CLcRegistry::FindContentTypeFromFileL( RApaLsSession apaSession,
- TUint8*& aContentTypeString,
- CLcRegAppInfo* aApplicationInfo )
- {
- TDataRecognitionResult dataType;
- TInt ret;
-
- // Create a buffer to hold data from the file
- TInt bufferSize = 0;
- TInt seekPosition = 0;
- apaSession.GetMaxDataBufSize(bufferSize);
- HBufC8* buffer = HBufC8::NewLC(bufferSize);
- TPtr8 buf = buffer->Des();
-
- RFile file;
- HBufC* fileName = HBufC::NewLC( KMaxPath );
- fileName->Des().Copy(aApplicationInfo->ApplicationData());
-
- ret = file.Open( iFs,
- *fileName,
- EFileShareAny | EFileRead );
- if( !ret )
- {
- // Find current file pointer position
- file.Seek(ESeekStart, seekPosition);
- // Read from file
- file.Read(buf);
- // return file pointer to original position
- file.Seek(ESeekStart, seekPosition);
- // Ask the application architecture to find the file type
- ret = apaSession.RecognizeData(*fileName, buf, dataType);
-
- if (ret == KErrNone &&
- (dataType.iConfidence == CApaDataRecognizerType::ECertain) ||
- (dataType.iConfidence == CApaDataRecognizerType::EProbable))
- {
- // If the file type was found, try to match it to a known file type
- TPtrC8 mimeTypePtr = dataType.iDataType.Des8();
- TInt len = mimeTypePtr.Length() + 1;
- aContentTypeString = new(ELeave) TUint8 [len];
-
- TPtr8 contentTypeStringPtr(aContentTypeString, len);
- contentTypeStringPtr.Copy(mimeTypePtr);
- contentTypeStringPtr.ZeroTerminate();
- }
- file.Close();
- }
- CleanupStack::PopAndDestroy(fileName); //fileName
- CleanupStack::PopAndDestroy(buffer); //buffer
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistry::MmcIdL
-// Get the id of the MMC card.
-// -----------------------------------------------------------------------------
-//
-TInt CLcRegistry::GetMmcId( TUint& aUid )
- {
- TDriveInfo info;
- info.iType = EMediaNotPresent;
- TInt mmcDrive;
- TInt err;
- TChar cha = '?';
- err = RFs::CharToDrive( PathInfo::MemoryCardRootPath()[0], mmcDrive );
- if (err == KErrNone)
- {
- err = iFs.Drive( info, mmcDrive );
- }
- if( err != KErrNone ||
- info.iType == EMediaNotPresent )
- {
- // MMC locked or not installed
- err = KErrNotFound;
- }
- else
- {
- TVolumeInfo volumeInfo;
- err = iFs.Volume( volumeInfo, mmcDrive );
- if( err == KErrNone )
- {
- aUid = volumeInfo.iUniqueID;
- }
- }
- return err;
- }
-
-
-// ----------------------------------------------------------------------------
-// CLcRegistry::SetAppSysCharacteristicsL
-// ----------------------------------------------------------------------------
-//
-void CLcRegistry::SetAppSysCharacteristicsL( RApaLsSession& alsSession,
- CLcRegAppInfo& aRegAppInfo )
- {
- TFileName fileName;
- if( aRegAppInfo.ApplicationType() == ELcNativeApplication )
- {
- // for application we should check
- // where the binary is present
- TLex lexer(aRegAppInfo.ApplicationData());
- TUint32 lAppSid = 0;
- TUint limit = 0xFFFFFFFF;
- User::LeaveIfError( lexer.BoundedVal(lAppSid, EHex, limit) );
- TApaAppInfo appInfo;
- User::LeaveIfError( alsSession.GetAppInfo( appInfo, TUid::Uid( lAppSid )));
- // check if the dll file is in ROM or not
- fileName.Copy( appInfo.iFullName );
- }
- else if( aRegAppInfo.ApplicationType() == ELcDocument )
- {
- // for document we should check for the document file name
- fileName.Copy( aRegAppInfo.ApplicationData() );
- }
- else if( aRegAppInfo.ApplicationType() == ELcWebUrl )
- {
- // for web url it will be registration filename
- fileName.Copy( iFileNameArry[ iregFileCount ] );
- }
-
- if( fileName.Length() > 0 )
- {
- // parse the file name and check the drive letter
- TParse parse;
- parse.Set( fileName, NULL, NULL );
- TPtrC drive = parse.Drive();
- if( drive[0] == PathInfo::RomRootPath()[0] )
- {
- aRegAppInfo.SetSystemCharacteristics( CLcLocationAppInfo::ESysCharRomBased);
- }
- else
- {
- aRegAppInfo.SetSystemCharacteristics( CLcLocationAppInfo::ESysCharNone);
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistry::IsAppUpgraded
-// -----------------------------------------------------------------------------
-//
-TBool CLcRegistry::IsAppUpgraded( TFileName& aFileName )
- {
- DEBUG( "+ CLcRegistry::CheckforAppUpgrade(");
-
- // If filename is already there in the old list and presence
- // flag also true then check the time stamp between current file and old file
- TEntry oldEntry,newEntry;
- TFileName newFileName = iFileNameArry[ iregFileCount ];
- iFs.Entry( aFileName, oldEntry );
- iFs.Entry( newFileName, newEntry );
-
- if( oldEntry.iModified == newEntry.iModified )
- {
- return EFalse;
- }
- else
- {
- return ETrue;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CLcRegistry::SetAbsentAppNameL
-// -----------------------------------------------------------------------------
-//
-void CLcRegistry::SetAbsentAppNameL( CLcRegAppInfo* aAppInfo )
- {
- RApaLsSession lsSession;
- User::LeaveIfError( lsSession.Connect() );
- CleanupClosePushL( lsSession );
- //Check the application type.If Application then validate it
- if( aAppInfo->ApplicationType() == ELcNativeApplication )
- {
- TLex lexer(aAppInfo->ApplicationData());
- TUint32 lAppSid = 0;
- TUint limit = 0xFFFFFFFF;
- User::LeaveIfError( lexer.BoundedVal(lAppSid, EHex, limit) );
- TApaAppInfo appNameInfo;
- User::LeaveIfError( lsSession.GetAppInfo( appNameInfo, TUid::Uid( lAppSid )));
- aAppInfo->SetNameL(appNameInfo.iCaption);
- }
- else
- {
- aAppInfo->SetNameL( aAppInfo->ApplicationData() );
- }
- CleanupStack::PopAndDestroy(); //lsSession
- }
-
-
-// ---------------------------------------------------------------------------
-// static TInt PositionDescOrdering
-// Ordering function for inserting the elements into the applist array.
-// The ordering is done first based on the previous index.
-//
-// @param CLcRegAppInfo& First appinfo Element
-// @param CLcRegAppInfo& Second appinfo Element
-// @return 1. zero, if the two objects are equal.
-//
-// 2. a negative value, if the first object is less than the second.
-//
-// 3. a positive value, if the first object is greater than the second.
-//
-// ---------------------------------------------------------------------------
-TInt PositionDescOrdering( const CLcRegAppInfo& aAppInfo1,
- const CLcRegAppInfo& aAppInfo2 )
- {
- CLcRegAppInfo* appInfo1 = const_cast< CLcRegAppInfo*>(&aAppInfo1);
- CLcRegAppInfo* appInfo2 = const_cast< CLcRegAppInfo*>(&aAppInfo2);
- return ( appInfo1->Index() - appInfo2->Index());
- }
-//End of file
-
--- a/locationcentre/lcserver/src/lcregistryupdate.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +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: Location Centre Server object.
-*
-*/
-
-
-// SYSTEM INCLUDES
-
-// USER INCLUDES
-#include "lcregistryupdate.h"
-#include "lcregistrationupdatenotifier.h"
-#include "lcdebug.h"
-
-// CONSTANT DEFINTIONS
-_LIT(KFileName,"?:\\private\\10283138\\import\\");
-
-const TInt KLCUpdateDelay = 2000000;
-
-
-// ============================ MEMBER FUNCTIONS ==============================
-// ----------------------------------------------------------------------------
-// CLcRegistryUpdate::CLcRegistryUpdate
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ----------------------------------------------------------------------------
-//
-CLcRegistryUpdate::CLcRegistryUpdate(MLcRegistryUpdateNotifier& aFileNotifier,
- RFs& aFs)
- :CActive(EPriorityStandard),
- iFileNotifier( aFileNotifier ),
- iFs( aFs )
- {
- TInt err = iTimer.CreateLocal();
- CActiveScheduler::Add( this );
- }
-
-// ----------------------------------------------------------------------------
-// CLcRegistryUpdate::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CLcRegistryUpdate* CLcRegistryUpdate::NewL(MLcRegistryUpdateNotifier& aFileNotifier,
- RFs& aFs)
- {
- CLcRegistryUpdate* self = new( ELeave ) CLcRegistryUpdate( aFileNotifier, aFs );
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CLcRegistryUpdate::~CLcRegistryUpdate
-// ----------------------------------------------------------------------------
-//
-CLcRegistryUpdate::~CLcRegistryUpdate()
- {
- Cancel();
- }
-
-// ----------------------------------------------------------------------------
-// CLcRegistryUpdate::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CLcRegistryUpdate::ConstructL()
- {
- }
-
-// ----------------------------------------------------------------------------
-// CLcRegistryUpdate::RunL
-// ----------------------------------------------------------------------------
-//
-void CLcRegistryUpdate::RunL()
- {
- if ( iFileNotifyPending )
- {
- StartFileNotifation();
- iFileNotifier.HandleDynamicRegistrationL();
- iFileNotifyPending = EFalse;
- }
- else
- {
- iTimer.After( iStatus, KLCUpdateDelay );
- SetActive();
- iFileNotifyPending = ETrue;
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CLcRegistryUpdate::DoCancel
-// ----------------------------------------------------------------------------
-//
-void CLcRegistryUpdate::DoCancel()
- {
- iTimer.Cancel();
- iFs.NotifyChangeCancel();
- }
-
-// ---------------------------------------------------------------------------
-// CLcRegistryUpdate::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CLcRegistryUpdate::RunError( TInt aError )
- {
- return aError;
- }
-
-
-// ----------------------------------------------------------------------------
-// CLcRegistryUpdate::StartFileNotifation
-// ----------------------------------------------------------------------------
-//
-void CLcRegistryUpdate::StartFileNotifation()
- {
- SetActive();
- iFs.NotifyChange(ENotifyEntry,iStatus,KFileName);
- }
-
-//End of File
--- a/locationcentre/lcserver/src/lcregxmlparserutils.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +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: Location Centre Server object.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <utf.h>
-
-// USER INCLUDES
-#include "lcregxmlparserutils.h"
-#include "lcregxmltagtype.h"
-
-// CONSTANTS
-const TInt KBufLength = 30;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// LcRegXmlParserUtils::Utf8ToUnicodeL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void LcRegXmlParserUtils::Utf8ToUnicodeL(
- const TDesC8& aUtf8,
- TDes16& aUnicode)
- {
- // Create a small output buffer
- TBuf16<KBufLength> output;
- // Create a buffer for the unconverted text
- TPtrC8 remUtf8(aUtf8);
-
- TBool convertingReady = EFalse;
- while (!convertingReady) // conversion loop
- {
- // Start conversion. When the output buffer is full, return the
- // number of characters that were not converted
- const TInt err = CnvUtfConverter::ConvertToUnicodeFromUtf8(
- output, remUtf8);
-
- // check to see that the descriptor isn't corrupt - leave if it is
- if (err == CnvUtfConverter::EErrorIllFormedInput)
- {
- User::Leave(KErrCorrupt);
- }
- else if (err < 0) // future-proof against "TError" expanding
- {
- User::Leave(KErrGeneral);
- }
-
- // Do something here to store the contents of the output buffer.
- if (aUnicode.Length() + output.Length() > aUnicode.MaxLength())
- {
- User::Leave(KErrNoMemory);
- }
- aUnicode.Append(output);
-
- // Finish conversion if there are no unconverted characters in the
- // remainder buffer
- if (err == 0)
- {
- convertingReady = ETrue;
- }
- else
- {
- // Remove the converted source text from the remainder buffer.
- // The remainder buffer is then fed back into loop
- remUtf8.Set(remUtf8.Right(err));
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// LcRegXmlParserUtils::OnlyWhiteSpaces
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool LcRegXmlParserUtils::OnlyWhiteSpaces(
- const TDesC8& aStr)
- {
- for (TInt i=0; i<aStr.Length(); i++)
- {
- TChar ch = TChar(aStr[i]);
- if (!ch.IsSpace())
- {
- return EFalse;
- }
- }
-
- return ETrue;
- }
-// End of File
--- a/locationcentre/lcserver/src/lcregxmltaginfo.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +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: Location Centre Server object.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-// USER INCLUDES
-#include "lcregxmltagtype.h"
-#include "lcregxmltaginfo.h"
-#include "lcregxmlparserutils.h"
-
-// CONSTANTS
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TLcRegXmlTagInfo::TLcRegXmlTagInfo
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-TLcRegXmlTagInfo::TLcRegXmlTagInfo()
- {
- }
-
-// -----------------------------------------------------------------------------
-// TLcRegXmlTagInfo::TagTypeL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TLcRegXmlTagType TLcRegXmlTagInfo::TagTypeL(
- const TDesC8& aTagName)
- {
- TLcRegXmlTagType toReturn = ELcXmlUnknown;
-
- if (EqualsTagL(aTagName, KLcXmlLocationCentreRegistration))
- {
- toReturn = ELcXmlLocationCentreRegistration;
- }
- else if (EqualsTagL(aTagName, KLcXmlService))
- {
- toReturn = ELcXmlService;
- }
- else if (EqualsTagL(aTagName, KLcXmlRegFileName))
- {
- toReturn = ELcXmlRegFileName;
- }
- else if (EqualsTagL(aTagName, KLcXmlFileIcon))
- {
- toReturn = ELcXmlFileIcon;
- }
- else if (EqualsTagL(aTagName, KLcXmlFeature))
- {
- toReturn = ELcXmlFeature;
- }
- else if (EqualsTagL(aTagName, KLcXmlRunMode))
- {
- toReturn = ELcXmlRunMode;
- }
- else if (EqualsTagL(aTagName, KLcXmlApplication))
- {
- toReturn = ELcXmlApplication;
- }
- else if (EqualsTagL(aTagName, KLcXmlWebService))
- {
- toReturn = ELcXmlWebService;
- }
- else if (EqualsTagL(aTagName, KLcXmlDocument))
- {
- toReturn = ELcXmlDocument;
- }
- else if (EqualsTagL(aTagName, KLcXmlApplicationNative))
- {
- toReturn = ELcXmlApplicationNative;
- }
- else if (EqualsTagL(aTagName, KLcXmlApplicationJava))
- {
- toReturn = ELcXmlApplicationJava;
- }
- else if (EqualsTagL(aTagName, KLcXmlApplicationParams))
- {
- toReturn = ELcXmlApplicationParams;
- }
- return toReturn;
- }
-
-// -----------------------------------------------------------------------------
-// TLcRegXmlTagInfo::TagAttrTypeL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TLcRegXmlTagType TLcRegXmlTagInfo::TagAttrTypeL(TLcRegXmlTagType aTagType,
- const TDesC8& aAttrName )
- {
- TLcRegXmlTagType toReturn = ELcXmlUnknown;
-
- if (EqualsTagL(aAttrName, KLcXmlServiceAttrUuid))
- {
- toReturn = ELcXmlServiceAttrUuid;
- }
- else if( EqualsTagL(aAttrName, KLcXmlRegFileNameAttrLang) )
- {
- toReturn = ELcXmlRegFileNameAttrLang;
- }
- else if( EqualsTagL(aAttrName, KLcXmlIconAttrfile) )
- {
- if( aTagType == ELcXmlDocument )
- {
- toReturn = ELcXmlDocumentAttrFile;
- }
- else
- {
- toReturn = ELcXmlFileIconAttrfile;
- }
- }
- else if( EqualsTagL(aAttrName, KLcXmlIconAttrFrame) )
- {
- toReturn = ELcXmlFileIconAttrFrame;
- }
- else if( EqualsTagL(aAttrName, KLcXmlRunModeAttrDefault) )
- {
- toReturn = ELcXmlRunModeAttrDefault;
- }
- else if( EqualsTagL(aAttrName, KLcXmlApplicationNativeAttrSid) )
- {
- toReturn = ELcXmlApplicationNativeAttrSid;
- }
- else if( EqualsTagL(aAttrName, KELcXmlApplicationJavaAttrName) )
- {
- toReturn = ELcXmlApplicationJavaAttrName;
- }
- else if( EqualsTagL(aAttrName, KLcXmlWebServiceAttrUrl) )
- {
- toReturn = ELcXmlWebServiceAttrUrl;
- }
- else if( EqualsTagL(aAttrName, KLcXmlDocumentAttrFile) )
- {
- toReturn = ELcXmlDocumentAttrFile;
- }
- return toReturn;
- }
-
-// -----------------------------------------------------------------------------
-// TLcRegXmlTagInfo::EqualsTagL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool TLcRegXmlTagInfo::EqualsTagL(
- const TDesC8& aTag,
- const TDesC& aDefinedTag)
- {
- HBufC* tag = HBufC::NewLC(aTag.Length());
- TPtr16 tagptr = tag->Des();
-
- LcRegXmlParserUtils::Utf8ToUnicodeL(aTag, tagptr);
-
- TBool answer = (tag->CompareF(aDefinedTag) == 0);
- CleanupStack::PopAndDestroy(tag);
- return answer;
- }
-// End of File
--- a/locationcentre/lcserver/src/lcserver.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +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: Location Centre Server object.
-*
-*/
-
-
-// SYSTEM INCLUDES
-
-// USER INCLUDES
-#include "lcserver.h"
-#include "lcserverinterface.h"
-#include "lcserversession.h"
-#include "lcservershutdowntimer.h"
-#include "lcserverengine.h"
-
-// CONSTANT DEFINTIONS
-
-// ----- Member funtions for CLcServer ---------------------------------
-
-// ---------------------------------------------------------------------------
-// CLcServer::CLcServer
-// ---------------------------------------------------------------------------
-//
-CLcServer::CLcServer()
- :CServer2( CActive::EPriorityStandard )
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- }
-
-// ---------------------------------------------------------------------------
-// CLcServer::~CLcServer
-// ---------------------------------------------------------------------------
-//
-CLcServer::~CLcServer()
- {
- // C++ Destructor. Free all resources associated with this class.
-
- // Delete the Server Engine.
- delete iEngine;
-
- // Delete the shutdown timer.
- delete iShutDownTimer;
-
- }
-
-// ---------------------------------------------------------------------------
-// CLcServer* CLcServer::NewL
-// ---------------------------------------------------------------------------
-//
-CLcServer* CLcServer::NewL()
- {
- CLcServer* self = NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcServer* CLcServer::NewLC
-// ---------------------------------------------------------------------------
-//
-CLcServer* CLcServer::NewLC()
- {
- // Symbian Two phased constructor. Leaves the object on the Clean-up
- // stack.
- CLcServer* self = new ( ELeave )CLcServer();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcServer::ConstructL()
- {
- // Start the Location Centre Server
- StartL( KLocationCentreServerName );
-
- // Create the shutdown timer
- iShutDownTimer = CLcServerShutDownTimer::NewL();
-
- // Create the Location Centre Server Engine.
- iEngine = CLcServerEngine::NewL( *this );
- }
-
-// ---------------------------------------------------------------------------
-// CSession2* CLcServer::NewSessionL
-// ---------------------------------------------------------------------------
-//
-CSession2* CLcServer::NewSessionL( const TVersion& aVersion,
- const RMessage2& /* aMessage */ ) const
- {
- // Check the version number. We dont support any other version numbers
- // greater than ( 1, 0, 0 ). Hence, if the version number passed to this
- // function is greater than the supported number leave with KErrNotSupported.
- TVersion version( KLcServerMajorVersionNumber,
- KLcServerMinorVersionNumber,
- KLcServerBuildVersionNumber );
- if ( !User::QueryVersionSupported( version, aVersion ))
- {
- User::Leave( KErrNotSupported );
- }
-
- // Make new session
- CSession2* newSession =
- CLcServerSession::NewL( *( const_cast< CLcServer* >( this )),
- *iEngine );
-
- return newSession;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServer::IncrementSessions
-// ---------------------------------------------------------------------------
-//
-void CLcServer::IncrementSessions()
- {
- // Increment the number of sessions
- iNumberofSessions++;
-
- // Stop the Shutdown timer. This function does nothing if the timer
- // is not already running.
- iShutDownTimer->StopTimer();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServer::DecrementSessions
-// ---------------------------------------------------------------------------
-//
-void CLcServer::DecrementSessions()
- {
-
- // If the number of sessions is equal to zero then start the shutdown
- // timer.
- if ( --iNumberofSessions == 0 )
- {
- iShutDownTimer->StartTimer();
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServer::LcRegistryUpdated
-// ---------------------------------------------------------------------------
-//
-void CLcServer::LcRegistryUpdated()
- {
- // Inform all the Sessions contained here that there is an update to the
- // registry so that they can inform any clients which have registered
- // for notification
- iSessionIter.SetToFirst();
-
- while ( iSessionIter )
- {
- // Obtain the element at the current position and notify the corresponding
- // session object.
- CLcServerSession& session = static_cast <CLcServerSession&>( *iSessionIter );
- session.RegistryUpdated();
-
- // Increment the Session object to point to the next session instance
- iSessionIter++;
- }
- }
-// End of File
--- a/locationcentre/lcserver/src/lcserverengine.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,704 +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: Location Centre Server Engine Object.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <s32mem.h>
-#include <e32std.h>
-
-// USER INCLUDES
-#include "lcserverengine.h"
-#include "lcregistry.h"
-#include "lcserverengineobserver.h"
-#include "lcserverinterface.h"
-#include "lcdebug.h"
-
-// CONSTANT DEFINTIONS
-const TUint32 KUidMaxValue = 0xFFFFFFFF;
-
-// ----- Member funtions for CLcServerEngine ---------------------------------
-
-// ---------------------------------------------------------------------------
-// CLcServerEngine::CLcServerEngine
-// ---------------------------------------------------------------------------
-//
-CLcServerEngine::CLcServerEngine( MLcServerEngineObserver& aObserver )
- :iObserver( aObserver )
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- }
-
-// ---------------------------------------------------------------------------
-// CLcServerEngine::~CLcServerEngine
-// ---------------------------------------------------------------------------
-//
-CLcServerEngine::~CLcServerEngine()
- {
- // C++ Destructor. Free all resources associated with this class.
-
- // Complete any outstanding messages if they exist and free all the
- // associated resources
- while ( iMessageArray.Count())
- {
- // Extract the IPC message handle from the Array
- RMessage2* message = iMessageArray[0];
- iMessageArray.Remove( 0 );
-
- // Service the Request.
- message->Complete( KErrServerTerminated );
-
- // Free the message structure
- delete message;
- }
- iMessageArray.ResetAndDestroy();
- iMessageArray.Close();
-
- // Delete the Location Centre Registry
- delete iRegistry;
- }
-
-// ---------------------------------------------------------------------------
-// CLcServerEngine* CLcServerEngine::NewL
-// ---------------------------------------------------------------------------
-//
-CLcServerEngine* CLcServerEngine::NewL( MLcServerEngineObserver& aObserver )
- {
- CLcServerEngine* self = NewLC( aObserver );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcServerEngine* CLcServerEngine::NewLC
-// ---------------------------------------------------------------------------
-//
-CLcServerEngine* CLcServerEngine::NewLC( MLcServerEngineObserver& aObserver )
- {
- // Symbian Two phased constructor. Leaves the object on the Clean-up
- // stack.
- CLcServerEngine* self = new ( ELeave )CLcServerEngine( aObserver );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerEngine::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcServerEngine::ConstructL()
- {
- // Create the Location Centre Registry
- iRegistry = CLcRegistry::NewL( *this );
-
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerEngine::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcServerEngine::DoServiceL( const RMessage2& aMessage )
- {
- // We cannot store the reference to the RMessage2 object passed but
- // need to create a new instance and copy the contents for all
- // furture purposes
- RMessage2* message = new RMessage2;
- *message = aMessage;
-
- // Append the message to the Queue. All messages will be serviced later
- // in a generic manner.
- User::LeaveIfError( iMessageArray.Append( message ));
-
- if ( !iRegistryUnderUpdate )
- {
- // The registry is consistent. So the message can be handled immediately.
- ServiceRequests();
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerEngine::RegistryUnderUpdation
-// ---------------------------------------------------------------------------
-//
-void CLcServerEngine::RegistryUnderUpdation()
- {
- DEBUG( "+ CLcServerEngine::RegistryUnderUpdation")
-
- // Set the Registry update flag. This would prevent the Engine from
- // performing any operation until the updation completes.
- iRegistryUnderUpdate = ETrue;
-
- DEBUG( "- CLcServerEngine::RegistryUnderUpdation")
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerEngine::RegistryUpdated
-// ---------------------------------------------------------------------------
-//
-void CLcServerEngine::RegistryUpdated()
- {
- DEBUG( "+ CLcServerEngine::RegistryUpdated")
-
- // Reset the Registry Update flag. Now the Registry is consistent and
- // the Engine can service any requestsy
- iRegistryUnderUpdate = EFalse;
-
- // Serve all the outstanding Location Requests.
- ServiceRequests();
-
- // Notify the Engine Observer about the changes to the Registry.
- iObserver.LcRegistryUpdated();
-
- DEBUG( "- CLcServerEngine::RegistryUpdated")
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerEngine::ServiceRequests
-// ---------------------------------------------------------------------------
-//
-void CLcServerEngine::ServiceRequests()
- {
- // Service all outstanding LC requests.
- while ( iMessageArray.Count())
- {
- // Extract the IPC message handle from the Array
- RMessage2* message = iMessageArray[0];
- iMessageArray.Remove( 0 );
-
- // Service the Request.
- TRAPD( error, ServiceRequestL(*message));
-
- DEBUG1( "ServiceRequest Error %d", error )
-
- // Complete the request with the error code.
- message->Complete( error );
-
- // Free the message structure
- delete message;
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerEngine::ServiceRequestL
-// ---------------------------------------------------------------------------
-//
-void CLcServerEngine::ServiceRequestL( RMessage2& aMessage )
- {
- // Set the Current requestor's SID
- iCurrentRequestorSid = aMessage.SecureId();
-
- switch( aMessage.Function())
- {
- case ELcFilteredAppsBufferLength:
- case ELcFilteredApps:
- {
- // Getting the Application buffer length and Getting the list of applications
- // have similar functionality. Only the last portion of the code changes.
- // Hence, both the requests will be handled similarly with the necessary
- // differentiation at the end.
-
- // Create the package buffer for obtaining the filter conditions
- TPckgBuf< TLcLocationAppFilter > filterBuf;
-
- // Read the filter contents
- User::LeaveIfError( aMessage.Read( 0, filterBuf ));
-
- RLcIpcAppInfoArray appArray;
- CleanupClosePushL( appArray );
-
- // Filter Location based Applications based on the Filter
- // conditions
- GetFilteredAppsL( filterBuf(), appArray );
-
- // Now for the differentiation
- if ( aMessage.Function() == ELcFilteredAppsBufferLength )
- {
- // Write the Length Value into a buffer
- CBufFlat* lengthBuffer = CBufFlat::NewL( sizeof( TUint32 ));
- CleanupStack::PushL( lengthBuffer );
- RBufWriteStream lengthWrite( *lengthBuffer, 0 );
- CleanupClosePushL( lengthWrite );
- lengthWrite.WriteInt32L( appArray.BufferLength());
- CleanupStack::PopAndDestroy(); // lengthWrite
-
- // Write the Buffer back to the IPC message
- TPtr8 ptr( lengthBuffer->Ptr(0));
- User::LeaveIfError( aMessage.Write( 1, ptr ));
-
- // Pop and destroy the length buffer
- CleanupStack::PopAndDestroy( lengthBuffer );
- }
- else
- {
- // Create the buffer for packing the Application Information
- // structures and pack the contents into this buffer
- CBufFlat* buffer = CBufFlat::NewL( appArray.BufferLength() );
- CleanupStack::PushL( buffer );
- RBufWriteStream writeStream( *buffer, 0 );
- CleanupClosePushL( writeStream );
- appArray.ExternalizeL( writeStream );
- CleanupStack::PopAndDestroy(); // writeStream
-
- // Write the buffer back to the IPC message.
- TPtr8 ptr( buffer->Ptr(0));
- User::LeaveIfError( aMessage.Write( 1, ptr ));
-
- // Pop and destroy the app buffer
- CleanupStack::PopAndDestroy( buffer );
- }
-
- // Reset and Destroy the Contents of the Application info
- // array
- CleanupStack::PopAndDestroy( &appArray );
- break;
- }
- case ELcSpecifiedAppsBufferLength:
- case ELcSpecifiedApps:
- {
- // Getting the Application buffer length and Getting the list of applications
- // have similar functionality. Only the last portion of the code changes.
- // Hence, both the requets will be handled similarly with the necessary
- // differentiation at the end.
-
- // Obtain the array of Applications which need to be used for
- // filtering.
-
- // Read the Descriptor from the IPC arguments
- TInt desLength = aMessage.GetDesLength( 0 );
- // Allocate the id Array buffer
- CBufFlat* idArrayBuf = CBufFlat::NewL( desLength );
- CleanupStack::PushL( idArrayBuf );
- idArrayBuf->ResizeL( desLength );
-
- TPtr8 idArrayPtr( idArrayBuf->Ptr(0));
-
- // Now read the descriptor finally
- User::LeaveIfError( aMessage.Read( 0, idArrayPtr ));
-
- // Create a Read buffer stream to read the App Ids
- RBufReadStream appReadStream( *idArrayBuf, 0 );
- CleanupClosePushL( appReadStream );
-
- RLcIpcAppIdArray idArray;
- CleanupStack::PushL( TCleanupItem( RLcIpcAppIdArray::ResetAndDestroyIdArray, &idArray ));
-
- // Internalize the structure to obtain the Actual list of Ids
- idArray.InternalizeL( appReadStream );
-
-
- RLcIpcAppInfoArray appArray;
- CleanupClosePushL( appArray );
-
- // Read the second paramte to determine whether the list specified needs to be
- // included or excluded
- TBool includeFlag = aMessage.Int1();
- if ( includeFlag )
- {
- GetSpecifiedAppsL( idArray, appArray );
- }
- else
- {
- GetWithoutSpecifiedAppsL( idArray, appArray );
- }
-
- if ( aMessage.Function() == ELcSpecifiedAppsBufferLength )
- {
- // Write the Length Value into a buffer
- CBufFlat* lengthBuffer = CBufFlat::NewL( sizeof( TUint32 ));
- CleanupStack::PushL( lengthBuffer );
-
- RBufWriteStream lengthWrite( *lengthBuffer, 0 );
- CleanupClosePushL( lengthWrite );
- lengthWrite.WriteInt32L( appArray.BufferLength());
- CleanupStack::PopAndDestroy(); // lengthWrite
-
- // Write the Buffer back to the IPC message
- TPtr8 ptr( lengthBuffer->Ptr(0));
- User::Leave( aMessage.Write( 2, ptr ));
-
- // Pop and destroy the Length buffer
- CleanupStack::PopAndDestroy( lengthBuffer );
- }
- else
- {
- // Create the buffer for packing the Application Information
- // structures and pack the contents into this buffer
- CBufFlat* buffer = CBufFlat::NewL( appArray.BufferLength() );
- CleanupStack::PushL( buffer );
-
- RBufWriteStream writeStream( *buffer, 0 );
- CleanupClosePushL( writeStream );
- appArray.ExternalizeL( writeStream );
- CleanupStack::PopAndDestroy(); // writeStream
-
- // Write the buffer back to the IPC message.
- TPtr8 ptr( buffer->Ptr(0));
- User::Leave( aMessage.Write( 2, ptr ));
-
- // Pop and destroy the app buffer
- CleanupStack::PopAndDestroy( buffer );
- }
-
- // We can also destroy the App id array buffer and Read streams
- CleanupStack::PopAndDestroy( 4, idArrayBuf );
-
- break;
- }
- case ELcAppInfoLength:
- {
- DEBUG( "+ CLcServerEngine::ServiceRequestL, ELcAppInfoLength ")
-
- // Read the Descriptor from the IPC arguments
- TInt desLength = aMessage.GetDesLength( 0 );
-
- // Obtain the Application Identifier
- HBufC* identifier = HBufC::NewLC( desLength );
- TPtr des(identifier->Des());
- aMessage.Read( 0, des );
-
- // Obtain the Location based Application for this identifer
- CLcBasicAppInfo* appInfo = NULL;
- User::LeaveIfError( iRegistry->GetApplicationInfo( *identifier, appInfo ));
-
- // Pack the Length field into the Second argument
- CBufFlat* lengthBuffer = CBufFlat::NewL( sizeof( TUint32 ));
- CleanupStack::PushL( lengthBuffer );
-
- RBufWriteStream lengthWrite( *lengthBuffer, 0 );
- CleanupClosePushL( lengthWrite );
- lengthWrite.WriteInt32L( appInfo->BufferLength());
- CleanupStack::PopAndDestroy(); // lengthWrite
-
- // Write the Buffer back to the IPC message
- TPtr8 ptr( lengthBuffer->Ptr(0));
- User::LeaveIfError( aMessage.Write( 1, ptr ));
-
- // Pop and destroy the Length buffer
- CleanupStack::PopAndDestroy( 2, identifier );
-
- DEBUG( "- CLcServerEngine::ServiceRequestL, ELcAppInfoLength ")
-
- break;
- }
- case ELcAppInfo:
- {
- DEBUG( "+ CLcServerEngine::ServiceRequestL, ELcAppInfo ")
-
- // Read the Descriptor from the IPC arguments
- TInt desLength = aMessage.GetDesLength( 0 );
-
- // Obtain the Application Identifier
- HBufC* identifier = HBufC::NewLC( desLength );
- TPtr des(identifier->Des());
- aMessage.Read(0, des);
-
- // Obtain the Location based Application for this identifer
- CLcBasicAppInfo* appInfo = NULL;
- User::LeaveIfError( iRegistry->GetApplicationInfo( *identifier, appInfo ));
-
- // Create the buffer for packing the Application Information
- // structure and pack the contents into this buffer
- CBufFlat* buffer = CBufFlat::NewL( appInfo->BufferLength());
- CleanupStack::PushL( buffer );
-
- RBufWriteStream writeStream( *buffer, 0 );
- CleanupClosePushL( writeStream );
- appInfo->ExternalizeL( writeStream );
- CleanupStack::PopAndDestroy(); // writeStream
-
- // Write the buffer back to the IPC message.
- TPtr8 ptr( buffer->Ptr(0));
- User::LeaveIfError( aMessage.Write( 1, ptr ));
-
- // Pop and destroy the App info buffer
- CleanupStack::PopAndDestroy( 2, identifier );
-
- DEBUG( "- CLcServerEngine::ServiceRequestL, ELcAppInfo ")
-
- break;
- }
- default:
- {
- DEBUG( "CLcServerEngine::ServiceRequestL, KErrNotSupported ")
- User::Leave( KErrNotSupported );
- break;
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerEngine::GetFilteredApps
-// ---------------------------------------------------------------------------
-//
-void CLcServerEngine::GetFilteredAppsL(
- TLcLocationAppFilter& aAppFilter,
- RLcIpcAppInfoArray& aFilteredAppArray )
- {
- DEBUG( "+ CLcServerEngine::GetFilteredAppsL")
-
- // Obtain the current list of Location based Applications from the
- // Location Centre registry. Incase, the application satisfies the
- // filter conditions, then the application is appended to the list.
-
- RPointerArray<CLcAppInfo> appInfoArray;
- User::LeaveIfError( iRegistry->GetAllRegisteredAppsList( appInfoArray ));
-
- TInt count = appInfoArray.Count();
-
- // Parse through the array list for each item
- for ( TInt i = 0; i < count; i++ )
- {
- // Obtain the element at the position 'i'
- CLcAppInfo* element = appInfoArray[i];
-
- if ( element->ApplicationType() == ELcNativeApplication &&
- IsSameSID( element->ApplicationData()))
- {
- continue;
- }
-
- // Check for the filtering conditions. Here we can check for the System
- // filters and Application filters simultaneously. The code seems
- // pretty lengthy owing to many accessor methods but retained it here
- // instead of using too many local variables.
- if ( Compare( aAppFilter.SystemCharacteristics(),
- element->SystemCharacteristics(),
- aAppFilter.SysCharFilterConfiguration()) &&
- Compare( aAppFilter.ApplicationCharacteristics(),
- element->ApplicationCharacteristics(),
- aAppFilter.AppCharFilterConfiguration()))
- {
- // The filter characteristics have matched. So append the element
- // to the Array
-
- // Ignoring the Append error. Incase there is an error then the
- // element would not be appened.
- User::LeaveIfError( aFilteredAppArray.Append( element ));
- }
- }
- appInfoArray.Reset();
- appInfoArray.Close();
-
- DEBUG1( "App Count : %d", aFilteredAppArray.Count())
- DEBUG( "- CLcServerEngine::GetFilteredAppsL")
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerEngine::GetSpecifiedAppsL
-// ---------------------------------------------------------------------------
-//
-void CLcServerEngine::GetSpecifiedAppsL(
- RLcIpcAppIdArray& aSpecifedApps,
- RLcIpcAppInfoArray& aSpecifiedAppArray )
- {
- // Obtain the current list of Location based Applications from the
- // Location Centre registry. Incase, the application satisfies the
- // filter conditions, then the application is appended to the list.
- RPointerArray<CLcAppInfo> appInfoArray;
- User::LeaveIfError( iRegistry->GetAllRegisteredAppsList( appInfoArray ));
- TInt count = appInfoArray.Count();
-
- // Parse through the array list for each item
- for ( TInt i = 0; i < count; i++ )
- {
- // Obtain the element at the position 'i'
- CLcAppInfo* element = appInfoArray[i];
-
- if ( element->ApplicationType() == ELcNativeApplication &&
- IsSameSID( element->ApplicationData()))
- {
- continue;
- }
-
- // Check for the filtering conditions
- for ( TInt j = 0; j < aSpecifedApps.Count(); j++ )
- {
- // Obtain the current identifier
- HBufC* identifier = aSpecifedApps[j];
-
- // Check if the current App info's id is the same as this identifer
- // If Yes, then append it and go to the next element.
- if ( !identifier->Des().Compare( element->Id()))
- {
- // Ignoring the Append error. Incase there is an error then the
- // element would not be appened.
- User::LeaveIfError( aSpecifiedAppArray.Append( element ));
- }
- }
- // Small optimization check to see if the number of elements that have
- // been added are equal to the the number of elements in the App id
- // array. If yes, we can stop the checking.
- if ( aSpecifiedAppArray.Count() == aSpecifedApps.Count() )
- {
- break;
- }
- }
- appInfoArray.Reset();
- appInfoArray.Close();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerEngine::GetWithoutSpecifiedAppsL
-// ---------------------------------------------------------------------------
-//
-void CLcServerEngine::GetWithoutSpecifiedAppsL(
- RLcIpcAppIdArray& aSpecifedApps,
- RLcIpcAppInfoArray& aSpecifiedAppArray )
- {
- // Obtain the current list of Location based Applications from the
- // Location Centre registry. Incase, the application satisfies the
- // filter conditions, then the application is appended to the list.
-
- RPointerArray<CLcAppInfo> appInfoArray;
- User::LeaveIfError( iRegistry->GetAllRegisteredAppsList( appInfoArray ));
- TInt count = appInfoArray.Count();
-
- // Parse through the array list for each item
- for ( TInt i = 0; i < appInfoArray.Count(); i++ )
- {
- // Obtain the element at the position 'i'
- CLcAppInfo* element = appInfoArray[i];
-
- if ( element->ApplicationType() == ELcNativeApplication &&
- IsSameSID( element->ApplicationData()))
- {
- continue;
- }
-
- // Boolean flag to check whether an element exists or not.
- TBool append = ETrue;
-
- // Check for the filtering conditions
- for ( TInt j = 0; j < aSpecifedApps.Count(); j++ )
- {
- // Obtain the current identifier
- HBufC* identifier = aSpecifedApps[j];
-
- // Check if the current App info's id is the same as this identifer
- // If Yes, then append it and go to the next element.
- if ( !identifier->Des().Compare( element->Id()))
- {
- // Incase, the element being compared in the list is requested
- // then set the flag and break the switch
- append = EFalse;
- break;
- }
- }
-
- if ( append )
- {
- // Ignoring the Append error. Incase there is an error then the
- // element would not be appened.
- User::LeaveIfError( aSpecifiedAppArray.Append( element ));
- }
- }
- appInfoArray.Reset();
- appInfoArray.Close();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerEngine::Compare
-// ---------------------------------------------------------------------------
-//
-TBool CLcServerEngine::Compare( TUint32 aFilter,
- TUint32 aFiltertoCompare,
- TInt aFilterConfig )
- {
- // Here,
- // aFilter - Filter passed by the Client Application
- // aFiltertoCompare - Filter of the Location based Application
-
- // If no filter configurations are set then there will be no need to
- // proceed with checking. The Locaiton based Application must always be
- // included. Hence, return True.
- if ( !aFilter )
- {
- return ETrue;
- }
-
- // Proceed for the Actual checking.
-
- // Set the default value to EFalse to enable pessimistic match.
- TBool ret = EFalse;
-
- switch( aFilterConfig )
- {
- case TLcLocationAppFilter::EFilterStrict:
- {
- // Strict Filtering needs to be applied. So here we just have to
- // compare the values and then return True only if there is an
- // exact match
- if ( aFilter == aFiltertoCompare )
- {
- ret = ETrue;
- }
- break;
- }
- case TLcLocationAppFilter::EFilterInclusive:
- {
- // The Location based Application must have all the characteristics
- // passed by the Client application. It can have any additonal
- // characteristic too.
- if (( aFilter & aFiltertoCompare ) == aFilter )
- {
- ret = ETrue;
- }
- break;
- }
- case TLcLocationAppFilter::EFilterExclusive:
- {
- // The filtering should be such that there should be no match
- // between the requested character set and the one specified for the
- // Location based Application.
- if ( !( aFilter & aFiltertoCompare ))
- {
- ret = ETrue;
- }
- break;
- }
- default:
- {
- break;
- }
- }
- return ret;
- }
-
-// ---------------------------------------------------------------------------
-// TBool CLcServerEngine::IsSameSID
-// ---------------------------------------------------------------------------
-//
-TBool CLcServerEngine::IsSameSID( const TDesC& aAppSid )
- {
- // Since the request is for a Native S60 application, the Identifer
- // contains an UID. Obtain it using Lexer
- TLex lexer( aAppSid );
- TUint32 uidValue;
-
- if ( lexer.BoundedVal( uidValue, EHex, KUidMaxValue ) ||
- uidValue != iCurrentRequestorSid )
- {
- return EFalse;
- }
- else
- {
- return ETrue;
- }
- }
-
-// End of File
--- a/locationcentre/lcserver/src/lcserversession.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,240 +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: Location Centre Server side session object.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <s32mem.h>
-
-// USER INCLUDES
-#include "lcserversession.h"
-#include "lcserver.h"
-#include "lcipcparams.h"
-#include "lcserverinterface.h"
-#include "lcserverengine.h"
-#include "lcdebug.h"
-
-// ----- Member funtions for CLcServerSession ---------------------------------
-
-// ---------------------------------------------------------------------------
-// CLcServerSession::CLcServerSession
-// ---------------------------------------------------------------------------
-//
-CLcServerSession::CLcServerSession( CLcServer& aLcServer,
- CLcServerEngine& aLcServerEngine )
- :iLcServer( aLcServer ),
- iEngine( aLcServerEngine )
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- }
-
-// ---------------------------------------------------------------------------
-// CLcServerSession::~CLcServerSession
-// ---------------------------------------------------------------------------
-//
-CLcServerSession::~CLcServerSession()
- {
- // C++ Destructor. Free all resources associated with this class.
-
- // Complete the Observer method with KErrServerTerminated if it exists
- if ( iNotificationOutStanding )
- {
- iObserverMessage.Complete( KErrServerTerminated );
- }
-
- // Decrement the count only if it has been incremented in the Construction
- if( iDecrementSession )
- {
- iLcServer.DecrementSessions();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CLcServerSession* CLcServerSession::NewL
-// ---------------------------------------------------------------------------
-//
-CLcServerSession* CLcServerSession::NewL( CLcServer& aLcServer,
- CLcServerEngine& aLcServerEngine )
- {
- CLcServerSession* self = NewLC( aLcServer, aLcServerEngine );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcServerSession* CLcServerSession::NewLC
-// ---------------------------------------------------------------------------
-//
-CLcServerSession* CLcServerSession::NewLC( CLcServer& aLcServer,
- CLcServerEngine& aLcServerEngine )
- {
- // Symbian Two phased constructor. Leaves the object on the Clean-up
- // stack.
- CLcServerSession* self =
- new ( ELeave )CLcServerSession( aLcServer,
- aLcServerEngine );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcServerSession::ConstructL()
- {
-
- // Increment the server's increment session routine.
- iLcServer.IncrementSessions();
-
- // Set the flag to mark that the number of sessions have been incremented.
- // This flag is set at the end of the contruction process to ensure that
- // we dont decrement the count in the destructor unless we have actually
- // incremented it. This is necessary because there is a possibility that
- // the ConstructL leaves before incrementing the count.
- iDecrementSession = ETrue;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerSession::RegistryUpdated
-// ---------------------------------------------------------------------------
-//
-void CLcServerSession::RegistryUpdated()
- {
- DEBUG( "+ CLcServerSession::RegistryUpdated")
-
- // If the Observer has been set, then complete the Observer
- // request with KErrNone.
- if ( iNotificationOutStanding )
- {
- DEBUG3("Notify Client", 0, 0, 0 );
-
- iObserverMessage.Complete( KErrNone );
- }
- else
- {
- DEBUG3("Notify Lost", 0, 0, 0 );
- iNotifyPending = ETrue;
- }
- iNotificationOutStanding = EFalse;
-
- DEBUG( "- CLcServerSession::RegistryUpdated")
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerSession::ServiceL
-// ---------------------------------------------------------------------------
-//
-void CLcServerSession::ServiceL( const RMessage2& aMessage )
- {
- DEBUG( "+ CLcServerSession::ServiceL")
-
- switch( aMessage.Function())
- {
- case ERegisterObserver:
- {
- DEBUG( "Message : ERegisterObserver")
-
- // If an Observer message exists then this is a Duplicate request
- // which is not accepted.
- if ( iNotificationOutStanding )
- {
- DEBUG3("Notify Already there", 0, 0, 0 );
- aMessage.Complete( KErrAlreadyExists );
- }
- else if ( iNotifyPending )
- {
- DEBUG3("Notify Immediately", 0, 0, 0 );
- aMessage.Complete( KErrNone );
- iNotifyPending = EFalse;
- }
- else
- {
- DEBUG3("Notify Later", 0, 0, 0 );
- // The Client application has requested for an Observer to
- // notify about any changes to the Location Centre Registry.
- // Store the message object.
- iObserverMessage = aMessage;
- iNotificationOutStanding = ETrue;
- }
- break;
- }
- case ERemoveObserver:
- {
- DEBUG( "Message : ERemoveObserver")
-
- // If the Observer has been set, then complete the Observer
- // request with KErrCancel.
- if ( iNotificationOutStanding )
- {
- iObserverMessage.Complete( KErrCancel );
- }
- iNotificationOutStanding = EFalse;
-
- // Complete the current request with KErrNone
- aMessage.Complete( KErrNone );
-
- break;
- }
- case ELcFilteredAppsBufferLength:
- case ELcFilteredApps:
- case ELcSpecifiedAppsBufferLength:
- case ELcSpecifiedApps:
- case ELcAppInfoLength:
- case ELcAppInfo:
- {
- TInt desLength = aMessage.GetDesLength( 0 );
- if ( desLength < KErrNone )
- {
- User::Leave( desLength );
- }
-
- if ( desLength >= KMaxTInt/2 )
- {
- User::Leave( KErrArgument );
- }
-
- // These messages are not handled here but only in the Engine
- // class. Hence, pass it onto the Engine class for handling.
- iEngine.DoServiceL( aMessage );
- break;
- }
- default:
- {
- aMessage.Complete( KErrNotSupported );
- }
- }
-
- DEBUG( "- CLcServerSession::ServiceL")
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerSession::ServiceError
-// ---------------------------------------------------------------------------
-//
-void CLcServerSession::ServiceError( const RMessage2& aMessage,
- TInt aError )
- {
- DEBUG( "+ CLcServerSession::ServiceError")
-
- aMessage.Complete( aError );
-
- DEBUG( "- CLcServerSession::ServiceError")
- }
-
-// End of File
--- a/locationcentre/lcserver/src/lcservershutdowntimer.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +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: Shutdown timer for Location Centre server.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <centralrepository.h>
-
-// USER INCLUDES
-#include "lcservershutdowntimer.h"
-#include "lcprivatecrkeys.h"
-
-// CONSTANT DEFINTIONS
-TInt KMilliSectoMicroConversion = 1000;
-
-// ----- Member funtions for CLcServerShutDownTimerShutDownTimer -------------
-
-// ---------------------------------------------------------------------------
-// CLcServerShutDownTimer::CLcServerShutDownTimer
-// ---------------------------------------------------------------------------
-//
-CLcServerShutDownTimer::CLcServerShutDownTimer()
- :CTimer( CActive::EPriorityLow )
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
-
- // The timer needs to be added to the Active scheduler explicitly. So
- // adding it here
- CActiveScheduler::Add( this );
- }
-
-// ---------------------------------------------------------------------------
-// CLcServerShutDownTimer::~CLcServerShutDownTimer
-// ---------------------------------------------------------------------------
-//
-CLcServerShutDownTimer::~CLcServerShutDownTimer()
- {
- // C++ Destructor. Free all resources associated with this class.
- Cancel();
- }
-
-// ---------------------------------------------------------------------------
-// CLcServerShutDownTimer* CLcServerShutDownTimer::NewL
-// ---------------------------------------------------------------------------
-//
-CLcServerShutDownTimer* CLcServerShutDownTimer::NewL()
- {
- CLcServerShutDownTimer* self = NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcServerShutDownTimer* CLcServerShutDownTimer::NewLC
-// ---------------------------------------------------------------------------
-//
-CLcServerShutDownTimer* CLcServerShutDownTimer::NewLC()
- {
- // Symbian Two phased constructor. Leaves the object on the Clean-up
- // stack.
- CLcServerShutDownTimer* self = new ( ELeave )CLcServerShutDownTimer();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerShutDownTimer::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcServerShutDownTimer::ConstructL()
- {
- // Read the shutdown timer value from the Location Centre Central
- // repository
- CRepository* repository = CRepository::NewLC( KCRUidLocationCentre );
- repository->Get( KLcShutdownTimerValue, iShutDownTimerValue );
- CleanupStack::PopAndDestroy( repository );
-
- // Convert the Shutdown timer value into microseconds
- iShutDownTimerValue *= KMilliSectoMicroConversion;
-
- // Call the base class ConstructL
- CTimer::ConstructL();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerShutDownTimer::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcServerShutDownTimer::StartTimer()
- {
- // Check if there is a request outstanding. Incase, a request is
- // outstanding then do nothing. If not start a new timer request
-
- if ( !IsActive())
- {
- CTimer::After( iShutDownTimerValue );
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServerShutDownTimer::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcServerShutDownTimer::StopTimer()
- {
- Cancel();
- }
-
-// ---------------------------------------------------------------------------
-// CLcServerShutDownTimer::RunL
-// ---------------------------------------------------------------------------
-//
-void CLcServerShutDownTimer::RunL()
- {
- // Timer is not cancelled by the server. Hence, we can assume tha there
- // are no new connection requests to the server. Its safe to shutdown
- // the server
- CActiveScheduler::Stop();
- }
-
-// ---------------------------------------------------------------------------
-// CLcServerShutDownTimer::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CLcServerShutDownTimer::RunError( TInt aError )
- {
- return aError;
- }
-// End of File
-
--- a/locationcentre/lcserver/src/lcserverstartup.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +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: Location Centre Server start up.
-*
-*/
-
-
-// SYSTEM INCLUDES
-
-// USER INCLUDES
-#include "lcserverstartup.h"
-#include "lcserverinterface.h"
-#include "lcserver.h"
-
-// ----- Member funtions for LcServerStartup ---------------------------------
-
-// ---------------------------------------------------------------------------
-// TInt LcServerStartup::StartLocationCentreServer
-// ---------------------------------------------------------------------------
-//
-TInt LcServerStartup::StartLocationCentreServer()
- {
- __UHEAP_MARK;
-
- CTrapCleanup* cleanupStack = CTrapCleanup::New();
-
- TInt ret = KErrNoMemory;
- if ( cleanupStack )
- {
- TRAP(ret, StartLocationCentreServerL());
- delete cleanupStack;
- }
-
- __UHEAP_MARKEND;
-
- return ret;
- }
-
-// ---------------------------------------------------------------------------
-// void LcServerStartup::StartLocationCentreServer
-// ---------------------------------------------------------------------------
-//
-void LcServerStartup::StartLocationCentreServerL()
- {
- // Rename thread to aid debugging
- User::LeaveIfError( User::RenameThread( KLocationCentreServerName ));
-
- // Start Active scheduler and Server
- CActiveScheduler* scheduler = new( ELeave ) CActiveScheduler;
- CleanupStack::PushL( scheduler );
- CActiveScheduler::Install( scheduler );
-
- CLcServer* server = CLcServer::NewL();
- CleanupStack::PushL( server );
-
- CleanupStack::Pop(2, scheduler); // server
-
- RProcess::Rendezvous( KErrNone );
-
- CActiveScheduler::Start();
-
- delete server;
- delete scheduler;
- }
-
-// -----------------------------------------------------------------------------
-// TInt E32Main
-// Server process entry-point
-// -----------------------------------------------------------------------------
-//
-TInt E32Main()
- {
- return LcServerStartup::StartLocationCentreServer();
- }
-
-// End of File
-
--- a/locationcentre/lcservice/bwins/lcserviceu.def Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-EXPORTS
- ??0TLcLocationAppFilter@@QAE@XZ @ 1 NONAME ; TLcLocationAppFilter::TLcLocationAppFilter(void)
- ??1CLcLocationAppInfo@@UAE@XZ @ 2 NONAME ; CLcLocationAppInfo::~CLcLocationAppInfo(void)
- ??1CLcLocationAppInfoArray@@UAE@XZ @ 3 NONAME ; CLcLocationAppInfoArray::~CLcLocationAppInfoArray(void)
- ??ACLcLocationAppInfoArray@@QBEAAVCLcLocationAppInfo@@H@Z @ 4 NONAME ; class CLcLocationAppInfo & CLcLocationAppInfoArray::operator[](int) const
- ?AppCharFilterConfiguration@TLcLocationAppFilter@@QBE?AW4TLcFilterConfig@1@XZ @ 5 NONAME ; enum TLcLocationAppFilter::TLcFilterConfig TLcLocationAppFilter::AppCharFilterConfiguration(void) const
- ?AppendL@CLcLocationAppInfoArray@@QAEXPAVCLcLocationAppInfo@@@Z @ 6 NONAME ; void CLcLocationAppInfoArray::AppendL(class CLcLocationAppInfo *)
- ?ApplicationCharacteristics@CLcLocationAppInfo@@QBEKXZ @ 7 NONAME ; unsigned long CLcLocationAppInfo::ApplicationCharacteristics(void) const
- ?ApplicationCharacteristics@TLcLocationAppFilter@@QBEKXZ @ 8 NONAME ; unsigned long TLcLocationAppFilter::ApplicationCharacteristics(void) const
- ?CancelGetLocationApplications@CLcService@@QAEXXZ @ 9 NONAME ; void CLcService::CancelGetLocationApplications(void)
- ?Count@CLcLocationAppInfoArray@@QBEHXZ @ 10 NONAME ; int CLcLocationAppInfoArray::Count(void) const
- ?GetLocationApplications@CLcService@@QAEXAAVTRequestStatus@@AAPAVCLcLocationAppInfoArray@@@Z @ 11 NONAME ; void CLcService::GetLocationApplications(class TRequestStatus &, class CLcLocationAppInfoArray * &)
- ?GetLocationApplications@CLcService@@QAEXAAVTRequestStatus@@ABVTLcLocationAppFilter@@AAPAVCLcLocationAppInfoArray@@@Z @ 12 NONAME ; void CLcService::GetLocationApplications(class TRequestStatus &, class TLcLocationAppFilter const &, class CLcLocationAppInfoArray * &)
- ?GetLocationApplicationsL@CLcService@@QAEPAVCLcLocationAppInfoArray@@ABVTLcLocationAppFilter@@@Z @ 13 NONAME ; class CLcLocationAppInfoArray * CLcService::GetLocationApplicationsL(class TLcLocationAppFilter const &)
- ?GetLocationApplicationsL@CLcService@@QAEPAVCLcLocationAppInfoArray@@XZ @ 14 NONAME ; class CLcLocationAppInfoArray * CLcService::GetLocationApplicationsL(void)
- ?IconL@CLcLocationAppInfo@@QBEPAVCGulIcon@@XZ @ 15 NONAME ; class CGulIcon * CLcLocationAppInfo::IconL(void) const
- ?Id@CLcLocationAppInfo@@QBE?AVTPtrC16@@XZ @ 16 NONAME ; class TPtrC16 CLcLocationAppInfo::Id(void) const
- ?LaunchLocationApplicationL@CLcService@@QAEXABVTDesC16@@W4TLcLaunchMode@CLcLocationAppInfo@@PAVMLcAppExitObserver@@@Z @ 17 NONAME ; void CLcService::LaunchLocationApplicationL(class TDesC16 const &, enum CLcLocationAppInfo::TLcLaunchMode, class MLcAppExitObserver *)
- ?LaunchLocationCentreL@CLcService@@QAEXABV?$RArray@VTPtrC16@@@@W4TLcLaunchMode@CLcLocationAppInfo@@PAVMLcAppExitObserver@@@Z @ 18 NONAME ; void CLcService::LaunchLocationCentreL(class RArray<class TPtrC16> const &, enum CLcLocationAppInfo::TLcLaunchMode, class MLcAppExitObserver *)
- ?LaunchLocationCentreL@CLcService@@QAEXABV?$RPointerArray@VCLcLaunchParam@CLcService@@@@PAVMLcAppExitObserver@@@Z @ 19 NONAME ; void CLcService::LaunchLocationCentreL(class RPointerArray<class CLcService::CLcLaunchParam> const &, class MLcAppExitObserver *)
- ?LaunchLocationCentreL@CLcService@@QAEXABVTLcLocationAppFilter@@W4TLcLaunchMode@CLcLocationAppInfo@@PAVMLcAppExitObserver@@@Z @ 20 NONAME ; void CLcService::LaunchLocationCentreL(class TLcLocationAppFilter const &, enum CLcLocationAppInfo::TLcLaunchMode, class MLcAppExitObserver *)
- ?LaunchLocationCentreL@CLcService@@QAEXW4TLcLaunchMode@CLcLocationAppInfo@@PAVMLcAppExitObserver@@@Z @ 21 NONAME ; void CLcService::LaunchLocationCentreL(enum CLcLocationAppInfo::TLcLaunchMode, class MLcAppExitObserver *)
- ?LaunchMode@CLcLocationAppInfo@@QBE?AW4TLcLaunchMode@1@XZ @ 22 NONAME ; enum CLcLocationAppInfo::TLcLaunchMode CLcLocationAppInfo::LaunchMode(void) const
- ?Name@CLcLocationAppInfo@@QBE?AVTPtrC16@@XZ @ 23 NONAME ; class TPtrC16 CLcLocationAppInfo::Name(void) const
- ?NewL@CLcLaunchParam@CLcService@@SAPAV12@ABVTDesC16@@W4TLcLaunchMode@CLcLocationAppInfo@@@Z @ 24 NONAME ; class CLcService::CLcLaunchParam * CLcService::CLcLaunchParam::NewL(class TDesC16 const &, enum CLcLocationAppInfo::TLcLaunchMode)
- ?NewL@CLcLocationAppInfo@@SAPAV1@ABV1@@Z @ 25 NONAME ; class CLcLocationAppInfo * CLcLocationAppInfo::NewL(class CLcLocationAppInfo const &)
- ?NewL@CLcLocationAppInfo@@SAPAV1@XZ @ 26 NONAME ; class CLcLocationAppInfo * CLcLocationAppInfo::NewL(void)
- ?NewL@CLcLocationAppInfoArray@@SAPAV1@XZ @ 27 NONAME ; class CLcLocationAppInfoArray * CLcLocationAppInfoArray::NewL(void)
- ?NewL@CLcService@@SAPAV1@XZ @ 28 NONAME ; class CLcService * CLcService::NewL(void)
- ?NewLC@CLcLaunchParam@CLcService@@SAPAV12@ABVTDesC16@@W4TLcLaunchMode@CLcLocationAppInfo@@@Z @ 29 NONAME ; class CLcService::CLcLaunchParam * CLcService::CLcLaunchParam::NewLC(class TDesC16 const &, enum CLcLocationAppInfo::TLcLaunchMode)
- ?NewLC@CLcLocationAppInfo@@SAPAV1@ABV1@@Z @ 30 NONAME ; class CLcLocationAppInfo * CLcLocationAppInfo::NewLC(class CLcLocationAppInfo const &)
- ?NewLC@CLcLocationAppInfo@@SAPAV1@XZ @ 31 NONAME ; class CLcLocationAppInfo * CLcLocationAppInfo::NewLC(void)
- ?NewLC@CLcLocationAppInfoArray@@SAPAV1@XZ @ 32 NONAME ; class CLcLocationAppInfoArray * CLcLocationAppInfoArray::NewLC(void)
- ?NewLC@CLcService@@SAPAV1@XZ @ 33 NONAME ; class CLcService * CLcService::NewLC(void)
- ?Remove@CLcLocationAppInfoArray@@QAEPAVCLcLocationAppInfo@@H@Z @ 34 NONAME ; class CLcLocationAppInfo * CLcLocationAppInfoArray::Remove(int)
- ?RemoveObserver@CLcService@@QAEHXZ @ 35 NONAME ; int CLcService::RemoveObserver(void)
- ?SelectLocationApplicationL@CLcService@@QAE?AVTPtrC16@@ABV?$RArray@VTPtrC16@@@@H@Z @ 36 NONAME ; class TPtrC16 CLcService::SelectLocationApplicationL(class RArray<class TPtrC16> const &, int)
- ?SelectLocationApplicationL@CLcService@@QAE?AVTPtrC16@@ABVTLcLocationAppFilter@@@Z @ 37 NONAME ; class TPtrC16 CLcService::SelectLocationApplicationL(class TLcLocationAppFilter const &)
- ?SelectLocationApplicationL@CLcService@@QAE?AVTPtrC16@@XZ @ 38 NONAME ; class TPtrC16 CLcService::SelectLocationApplicationL(void)
- ?SetAppCharFilterConfiguration@TLcLocationAppFilter@@QAEXW4TLcFilterConfig@1@@Z @ 39 NONAME ; void TLcLocationAppFilter::SetAppCharFilterConfiguration(enum TLcLocationAppFilter::TLcFilterConfig)
- ?SetApplicationCharacteristics@TLcLocationAppFilter@@QAEHK@Z @ 40 NONAME ; int TLcLocationAppFilter::SetApplicationCharacteristics(unsigned long)
- ?SetObserverL@CLcService@@QAEXAAVMLcNotification@@@Z @ 41 NONAME ; void CLcService::SetObserverL(class MLcNotification &)
- ?SetSysCharFilterConfiguration@TLcLocationAppFilter@@QAEXW4TLcFilterConfig@1@@Z @ 42 NONAME ; void TLcLocationAppFilter::SetSysCharFilterConfiguration(enum TLcLocationAppFilter::TLcFilterConfig)
- ?SetSystemCharacteristic@TLcLocationAppFilter@@QAEHK@Z @ 43 NONAME ; int TLcLocationAppFilter::SetSystemCharacteristic(unsigned long)
- ?SysCharFilterConfiguration@TLcLocationAppFilter@@QBE?AW4TLcFilterConfig@1@XZ @ 44 NONAME ; enum TLcLocationAppFilter::TLcFilterConfig TLcLocationAppFilter::SysCharFilterConfiguration(void) const
- ?SystemCharacteristics@CLcLocationAppInfo@@QBEKXZ @ 45 NONAME ; unsigned long CLcLocationAppInfo::SystemCharacteristics(void) const
- ?SystemCharacteristics@TLcLocationAppFilter@@QBEKXZ @ 46 NONAME ; unsigned long TLcLocationAppFilter::SystemCharacteristics(void) const
- ?Reset@CLcLocationAppInfoArray@@QAEXXZ @ 47 NONAME ; void CLcLocationAppInfoArray::Reset(void)
-
--- a/locationcentre/lcservice/eabi/lcserviceu.def Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-EXPORTS
- _ZN10CLcService12SetObserverLER15MLcNotification @ 1 NONAME
- _ZN10CLcService14CLcLaunchParam4NewLERK7TDesC16N18CLcLocationAppInfo13TLcLaunchModeE @ 2 NONAME
- _ZN10CLcService14CLcLaunchParam5NewLCERK7TDesC16N18CLcLocationAppInfo13TLcLaunchModeE @ 3 NONAME
- _ZN10CLcService14RemoveObserverEv @ 4 NONAME
- _ZN10CLcService21LaunchLocationCentreLEN18CLcLocationAppInfo13TLcLaunchModeEP18MLcAppExitObserver @ 5 NONAME
- _ZN10CLcService21LaunchLocationCentreLERK13RPointerArrayINS_14CLcLaunchParamEEP18MLcAppExitObserver @ 6 NONAME
- _ZN10CLcService21LaunchLocationCentreLERK20TLcLocationAppFilterN18CLcLocationAppInfo13TLcLaunchModeEP18MLcAppExitObserver @ 7 NONAME
- _ZN10CLcService21LaunchLocationCentreLERK6RArrayI7TPtrC16EN18CLcLocationAppInfo13TLcLaunchModeEP18MLcAppExitObserver @ 8 NONAME
- _ZN10CLcService23GetLocationApplicationsER14TRequestStatusRK20TLcLocationAppFilterRP23CLcLocationAppInfoArray @ 9 NONAME
- _ZN10CLcService23GetLocationApplicationsER14TRequestStatusRP23CLcLocationAppInfoArray @ 10 NONAME
- _ZN10CLcService24GetLocationApplicationsLERK20TLcLocationAppFilter @ 11 NONAME
- _ZN10CLcService24GetLocationApplicationsLEv @ 12 NONAME
- _ZN10CLcService26LaunchLocationApplicationLERK7TDesC16N18CLcLocationAppInfo13TLcLaunchModeEP18MLcAppExitObserver @ 13 NONAME
- _ZN10CLcService26SelectLocationApplicationLERK20TLcLocationAppFilter @ 14 NONAME
- _ZN10CLcService26SelectLocationApplicationLERK6RArrayI7TPtrC16Ei @ 15 NONAME
- _ZN10CLcService26SelectLocationApplicationLEv @ 16 NONAME
- _ZN10CLcService29CancelGetLocationApplicationsEv @ 17 NONAME
- _ZN10CLcService4NewLEv @ 18 NONAME
- _ZN10CLcService5NewLCEv @ 19 NONAME
- _ZN18CLcLocationAppInfo4NewLERKS_ @ 20 NONAME
- _ZN18CLcLocationAppInfo4NewLEv @ 21 NONAME
- _ZN18CLcLocationAppInfo5NewLCERKS_ @ 22 NONAME
- _ZN18CLcLocationAppInfo5NewLCEv @ 23 NONAME
- _ZN18CLcLocationAppInfoD0Ev @ 24 NONAME
- _ZN18CLcLocationAppInfoD1Ev @ 25 NONAME
- _ZN18CLcLocationAppInfoD2Ev @ 26 NONAME
- _ZN20TLcLocationAppFilter23SetSystemCharacteristicEm @ 27 NONAME
- _ZN20TLcLocationAppFilter29SetAppCharFilterConfigurationENS_15TLcFilterConfigE @ 28 NONAME
- _ZN20TLcLocationAppFilter29SetApplicationCharacteristicsEm @ 29 NONAME
- _ZN20TLcLocationAppFilter29SetSysCharFilterConfigurationENS_15TLcFilterConfigE @ 30 NONAME
- _ZN20TLcLocationAppFilterC1Ev @ 31 NONAME
- _ZN20TLcLocationAppFilterC2Ev @ 32 NONAME
- _ZN23CLcLocationAppInfoArray4NewLEv @ 33 NONAME
- _ZN23CLcLocationAppInfoArray5NewLCEv @ 34 NONAME
- _ZN23CLcLocationAppInfoArray6RemoveEi @ 35 NONAME
- _ZN23CLcLocationAppInfoArray7AppendLEP18CLcLocationAppInfo @ 36 NONAME
- _ZN23CLcLocationAppInfoArrayD0Ev @ 37 NONAME
- _ZN23CLcLocationAppInfoArrayD1Ev @ 38 NONAME
- _ZN23CLcLocationAppInfoArrayD2Ev @ 39 NONAME
- _ZNK18CLcLocationAppInfo10LaunchModeEv @ 40 NONAME
- _ZNK18CLcLocationAppInfo21SystemCharacteristicsEv @ 41 NONAME
- _ZNK18CLcLocationAppInfo26ApplicationCharacteristicsEv @ 42 NONAME
- _ZNK18CLcLocationAppInfo2IdEv @ 43 NONAME
- _ZNK18CLcLocationAppInfo4NameEv @ 44 NONAME
- _ZNK18CLcLocationAppInfo5IconLEv @ 45 NONAME
- _ZNK20TLcLocationAppFilter21SystemCharacteristicsEv @ 46 NONAME
- _ZNK20TLcLocationAppFilter26AppCharFilterConfigurationEv @ 47 NONAME
- _ZNK20TLcLocationAppFilter26ApplicationCharacteristicsEv @ 48 NONAME
- _ZNK20TLcLocationAppFilter26SysCharFilterConfigurationEv @ 49 NONAME
- _ZNK23CLcLocationAppInfoArray5CountEv @ 50 NONAME
- _ZNK23CLcLocationAppInfoArrayixEi @ 51 NONAME
- _ZTI10CLcService @ 52 NONAME ; #<TI>#
- _ZTI18CLcLocationAppInfo @ 53 NONAME ; #<TI>#
- _ZTI23CLcLocationAppInfoArray @ 54 NONAME ; #<TI>#
- _ZTIN10CLcService14CLcLaunchParamE @ 55 NONAME ; #<TI>#
- _ZTV10CLcService @ 56 NONAME ; #<VT>#
- _ZTV18CLcLocationAppInfo @ 57 NONAME ; #<VT>#
- _ZTV23CLcLocationAppInfoArray @ 58 NONAME ; #<VT>#
- _ZTVN10CLcService14CLcLaunchParamE @ 59 NONAME ; #<VT>#
- _ZN23CLcLocationAppInfoArray5ResetEv @ 60 NONAME
-
--- a/locationcentre/lcservice/group/bld.inf Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +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: Build information file for project Location Centre API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Location Centre API Headers
-
-PRJ_MMPFILES
-// Location Centre API Project defintion file.
-lcservice.mmp
-
-PRJ_TESTMMPFILES
-
-// End of File
--- a/locationcentre/lcservice/group/lcservice.mmp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +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: Project definition file for project Location Centre API
-*
-*/
-
-
-// DEFINES
-#define KLocationCentreApiUID3 0x10283138
-
-// SYSTEM INCLUDE
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET lcservice.dll
-TARGETTYPE DLL
-UID 0x0 KLocationCentreApiUID3
-
-VERSION 1.0
-
-CAPABILITY CAP_GENERAL_DLL
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE lcservice.cpp
-SOURCE lclocationappinfo.cpp
-SOURCE lclocationappfilter.cpp
-SOURCE lcserviceimpl.cpp
-SOURCE lcclientsession.cpp
-SOURCE lcnotificationao.cpp
-SOURCE lcsyncoperation.cpp
-SOURCE lcasyncoperation.cpp
-SOURCE lcpopuplistbox.cpp
-SOURCE lcpopuplistboxmodel.cpp
-
-USERINCLUDE ../inc
-USERINCLUDE ../../inc
-USERINCLUDE ../../../inc
-USERINCLUDE ../../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-
-LIBRARY euser.lib
-LIBRARY cone.lib
-LIBRARY eikcore.lib
-LIBRARY eikcoctl.lib
-LIBRARY eikctl.lib
-LIBRARY avkon.lib
-LIBRARY egul.lib
-LIBRARY fbscli.lib
-LIBRARY estor.lib
-LIBRARY commonengine.lib
-LIBRARY lcutils.lib
-LIBRARY efsrv.lib
-LIBRARY aknskins.lib
-LIBRARY aknskinsrv.lib
-LIBRARY aknswallpaperutils.lib
-LIBRARY flogger.lib
-
-DEFFILE lcservice.def
-
-// End of File
--- a/locationcentre/lcservice/inc/lcasyncoperation.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +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: Handles all the Asynchronous operations with the Location
-* Centre Client Session
-*
-*/
-
-
-#ifndef C_LCASYNCOPERATION_H
-#define C_LCASYNCOPERATION_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-// USER INCLUDES
-#include "lclocationappfilter.h"
-
-// FORWARD DECLARATIONS
-class RLcClientSession;
-class CLcBasicAppInfo;
-class CLcLocationAppInfoArray;
-class TLcLocationAppFilter;
-class RLcClientSession;
-class CBufFlat;
-
-/**
- * Observer class to notify the completion of the Asynchronous operation
- * @lib lcservice.lib
- * @since v5.0
- */
-class MLcAsynOperationObserver
- {
-public:
- /**
- * Notification for the Completion of the Asynchronous operation.
- *
- * @param[in] aError Error code for the completion of the Asynchronous
- * Operation.
- */
- virtual void OperationComplete( TInt aError ) =0;
- };
-
-/**
- * Handles all the Asynchronous operations to the Location Centre Server.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CLcAsyncOperation ) : public CActive
- {
-public:
- /**
- * Constructs a new instance of Location Centre interface.
- *
- * @param[in] aSession Reference to the Location Centre Client Session.
- * @param[in] aObserver Observer to notify the Completion of the Asynchronous
- * Operation.
- * @return The new instance of Location Centre interface object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcAsyncOperation* NewL( RLcClientSession& aSession,
- MLcAsynOperationObserver& aObserver );
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * interface.
- */
- virtual ~CLcAsyncOperation();
-
- /**
- * Gets a filtered list of Location based Applications.
- *
- * @param[in] aLocationAppFilter Filtering parameters.
- * @param[in] CLcLocationAppInfoArray* Array of Location based Applications and
- * Contents/Services.
- */
- void GetLocationApplicationsL(
- const TLcLocationAppFilter& aLocationAppFilter,
- CLcLocationAppInfoArray*& aAppInfoArray );
- /**
- * Cancels an outstanding @ref GetLocationApplications request.
- */
- void CancelGetLocationApplications();
-
-private:
- /**
- * Default Constructor
- */
- CLcAsyncOperation( RLcClientSession& aSession,
- MLcAsynOperationObserver& aObserver );
-
- void ConstructL();
-
- /**
- * Issues a self request to this Active Object.
- */
- void GetLengthL();
-
- /**
- * Re-issues a request to the Location Centre Server. The request which will be re-issued
- * will be the last request which was issued.
- */
- void ReIssueRequestL();
-
-private: // Inherited from Base classes
- /**
- * Inherited from CActive
- */
- void RunL();
-
- /**
- * Inherited from CActive
- */
- void DoCancel();
-
- /**
- * Inherited from CActive
- */
- TInt RunError( TInt aError );
-
-private: // Member Variables
- /**
- * Class declaration for holding the Location Application Information
- * array.
- */
- class TLcAppInfoContainer
- {
- public:
- /**
- * Overloaded constructor which takes the reference of the
- * Application Information array.
- */
- TLcAppInfoContainer( CLcLocationAppInfoArray*& aAppInfoArray );
-
- public:
- /**
- * Reference to the Application Information array.
- */
- CLcLocationAppInfoArray*& iAppInfoArray;
- };
-
- /**
- * Enumeration for the State of Asynchronous operation
- */
- enum TASyncOperation
- {
- ELcNoOperation,
- ELcGetAppLength,
- ELcGetApp
- };
-
- /**
- * Reference to the Client session to the Location Centre Server.
- */
- RLcClientSession& iClientSession;
-
- /**
- * Observer to notify the completion of the Asynchronous request.
- */
- MLcAsynOperationObserver& iObserver;
-
- /**
- * Current State of operation
- */
- TASyncOperation iOperation;
-
- /**
- * Location Application filter for this Application.
- */
- TLcLocationAppFilter iAppFilter;
-
- /**
- * Buffer for exchanging information with the Location Centre Server.
- *
- * Owns
- */
- CBufFlat* iBuffer;
-
- /**
- * Pointer to the above buffer
- */
- TPtr8 iBufferPtr;
-
- /**
- * Place holder for the Location Centre Application Information
- * Array.
- */
- TLcAppInfoContainer* iAppInfoArrayContainer;
-
- /**
- * IPC arguments
- */
- TIpcArgs iIpcArgs;
-
- /**
- * Package buffer containing the Application Filter options.
- */
- TPckg< TLcLocationAppFilter >* iFilterBuffer;
- };
-
-#endif // C_LCASYNCOPERATION_H
--- a/locationcentre/lcservice/inc/lcclientsession.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +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: Client side session to the Location Centre server.
-*
-*/
-
-
-#ifndef R_LCCLIENTSESSION_H
-#define R_LCCLIENTSESSION_H
-
-// SYSTEM INCLUDES
-#include <e32std.h>
-
-// USER INCLUDES
-#include "lcserverinterface.h"
-
-// FORWARD DECLARATIONS
-
-/**
- * Client side session handle to the Location Centre server session.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( RLcClientSession ) : public RSessionBase
- {
-public:
- /**
- * C++ Default Constructor
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
- RLcClientSession();
-
- /**
- * C++ Destructor.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
- virtual ~RLcClientSession();
-
- /**
- * Creates the Client side session handle to the Location Centre
- * server.
- *
- * This function starts the Location Centre server (if its not already
- * running) and then creates a session to it.
- *
- * @since S60 v5.0
- * @leave System wide error code if the operation fails.
- */
- TInt CreateSession();
-
- /**
- * Closes the Client side session handle to the Location Centre
- * server.
- *
- * @since S60 v5.0
- */
- void Close();
-
- /**
- * Send an asynchronous request to the Location Centre server.
- *
- * @since S60 v5.0
- * @param aMsgType Operation that is requested from the Location
- * Centre server.
- * @param aArgs Message argument.
- * @param aStatus The request status object on which the completion
- * of the request is communicated.
- */
- void SendReceive( TLcServerMsgType aMsgType,
- const TIpcArgs& aArgs,
- TRequestStatus& aStatus ) const;
-
- /**
- * Send an synchronous request to the Location Centre server.
- *
- * @since S60 v5.0
- * @param aMsgType Operation that is requested from the Location
- * Centre server.
- * @param aArgs Message argument.
- * @return KErrNone, If the request is completed successfully.
- * System wide error codes in the request fails.
- */
- TInt SendReceive( TLcServerMsgType aMsgType,
- const TIpcArgs& aArgs ) const;
-
- /**
- * Send an asynchronous request to the Location Centre server.
- *
- * @since S60 v5.0
- * @param aMsgType Operation that is requested from the Location
- * Centre server.
- * @param aStatus The request status object on which the completion
- * of the request is communicated.
- */
- void SendReceive( TLcServerMsgType aMsgType,
- TRequestStatus& aStatus ) const;
-
- /**
- * Send an synchronous request to the Location Centre server.
- *
- * @since S60 v5.0
- * @param aMsgType Operation that is requested from the Location
- * Centre server.
- * @return KErrNone, If the request is completed successfully.
- * System wide error codes in the request fails.
- */
- TInt SendReceive( TLcServerMsgType aMsgType ) const;
-
-private:
- /**
- * Starts a new server instance
- *
- * @return KErrNone, If the server is successfully launched
- * System wide error codes incase the Start fails
- */
- TInt StartServer();
- };
-
-#endif // R_LCCLIENTSESSION_H
--- a/locationcentre/lcservice/inc/lcnotificationao.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +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: Location Centre Notification Active Object.
-*
-*/
-
-
-#ifndef C_LCNOTIFICATIONAO_H
-#define C_LCNOTIFICATIONAO_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-// USER INCLUDES
-
-// FORWARD DECLARATIONS
-class MLcNotification;
-class RLcClientSession;
-
-/**
- * Location Centre Notification Active Object.
- *
- * This class is used to handle Asynchronous Notification requests.
- *
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CLcNotificationAO ): public CActive
- {
-public:
- /**
- * Constructs a new instance of Location Centre Notification
- * Active Object.
- *
- * @param[in] aObserver Notification Observer.
- * @return The new instance of Location Centre Notification
- * Active Object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcNotificationAO* NewL(
- MLcNotification& aObserver,
- RLcClientSession& aClientSession );
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * Notification Active Object.
- */
- virtual ~CLcNotificationAO();
-
- /**
- * Issue a notification request to the Location Centre server. This
- * is a recurring request which keeps providing notifications
- * through the MLcNotification observer until a CancelRequest()
- * is called.
- */
- void IssueRequest();
-
- /**
- * Cancels the outstanding notification request issued through the
- * IssueRequest() call.
- */
- void CancelRequest();
-
-protected: // Inherited from Base classes
-
- /**
- * Inherited from CActive
- */
- void RunL();
-
- /**
- * Inherited from CActive
- */
- void DoCancel();
-
-private:
- /**
- * C++ Default constructor
- */
- CLcNotificationAO( MLcNotification& aObserver,
- RLcClientSession& aClientSession );
-
-private:
- /**
- * Observer to communicate the notification requests.
- */
- MLcNotification& iObserver;
-
- RLcClientSession& iClientSession;
- };
-
-#endif // C_LCNOTIFICATIONAO_H
--- a/locationcentre/lcservice/inc/lcpopuplistbox.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +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: List box used to display the Location Centre pop-up.
-*
-*/
-
-
-#ifndef C_LCPOPUPLISTBOX_H
-#define C_LCPOPUPLISTBOX_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-#include <aknlists.h>
-
-// FORWARD DECLARATIONS
-class CLcPopupListBoxModel;
-class CLcLocationAppInfoArray;
-
-/**
- * List box for Location Centre pop-up dialog.
- *
- * This class provides the extension of Single Large style list box which is
- * used to display Location Centre pop-up.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CLcPopupListBox ) : public CAknSingleGraphicPopupMenuStyleListBox
- {
-public:
- /**
- * Overloaded constructor
- */
- CLcPopupListBox( CLcLocationAppInfoArray* aAppArray );
-
- /**
- * Second phase of the two phase constructor
- */
- void ConstructL( CCoeControl* aParent );
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * listbox object.
- */
- virtual ~CLcPopupListBox();
-
- /**
- * Updates the Listbox model with a new Array of Location based Applications
- * and Contents/Services.
- *
- * @param[in] aAppArray Array of Location based Applicaions and Contents/Services
- * The ownership of the array is transferred.
- */
- void UpdateListBoxL( CLcLocationAppInfoArray* aAppArray );
-
- /**
- * Updates the listbox icons.
- */
- void UpdateIconsL();
-
- /**
- * Returns the Application's Identifer corresponding to the selected
- * item
- */
- TPtrC AppInfoId() const;
-
-private: // Inherited from Base classes.
- /**
- * Imherited from CCoeControl.
- */
- void HandleResourceChange( TInt aType );
-
-private: // data
- /**
- * Application Information array
- *
- * Owns.
- */
- CLcLocationAppInfoArray* iAppArray;
-
- /**
- * Pop-up List box model.
- */
- CLcPopupListBoxModel* iListBoxModel;
- };
-
-#endif // C_LCPOPUPLISTBOX_H
--- a/locationcentre/lcservice/inc/lcpopuplistboxmodel.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +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: List box model for the list-box used to display the Location
-* Centre pop-up.
-*
-*/
-
-
-#ifndef C_LCPOPUPLISTBOXMODEL_H
-#define C_LCPOPUPLISTBOXMODEL_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-#include <bamdesca.h>
-
-// FORWARD DECLARATIONS
-class CLcLocationAppInfoArray;
-
-/**
- * List box model for Location Centre pop-up dialog.
- *
- * This class provides the implementation of the list-box model for Location
- * Centre lists.
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CLcPopupListBoxModel ) : public MDesCArray
- {
-public:
- /**
- * Constructs a new instance of Location Centre pop-up list box model.
- *
- * @param[in] aAppArray Array of Location based Applicaions and Contents/Services
- * The ownership of the array is transferred.
- * @return The new instance of Location Centre model object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcPopupListBoxModel* NewL( CLcLocationAppInfoArray& aAppArray );
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * model object.
- */
- virtual ~CLcPopupListBoxModel();
-
- /**
- * Updates the Listbox model with a new Array of Location based Applications
- * and Contents/Services.
- *
- * @param[in] aAppArray Array of Location based Applicaions and Contents/Services
- * The ownership of the array is transferred.
- */
- void UpdateModel( CLcLocationAppInfoArray& aAppArray );
-
-public: // Inherited from Base classes
- /**
- * Inherited from MDesCArray
- */
- virtual TInt MdcaCount() const;
-
- /**
- * Inherited from MDesCArray
- */
- virtual TPtrC16 MdcaPoint( TInt aIndex ) const;
-
-private:
- /**
- * Overloaded constructor
- */
- CLcPopupListBoxModel( CLcLocationAppInfoArray& aAppArray );
-
- /**
- * Second phase of the two phase constructor
- */
- void ConstructL();
-
-private: // data
-
- /**
- * Buffer for packing the MdcaPoint
- *
- * Owns
- */
- HBufC16* iBuffer;
-
- /**
- * Application Information Array
- */
- CLcLocationAppInfoArray* iAppArray;
- };
-
-#endif // C_LCPOPUPLISTBOXMODEL_H
--- a/locationcentre/lcservice/inc/lcserviceimpl.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,324 +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: Location Centre API implementation.
-*
-*/
-
-
-#ifndef C_LCSERVICEIMPL_H
-#define C_LCSERVICEIMPL_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-// USER INCLUDES
-#include "lcservice.h"
-#include "lclocationappinfo.h"
-#include "lcclientsession.h"
-#include "lcnotification.h"
-#include "lcasyncoperation.h"
-
-// FORWARD DECLARATIONS
-class MLcAppExitObserver;
-class TLcLocationAppFilter;
-class CLcAppLauncher;
-class CBufFlat;
-class CLcAppInfo;
-class CLcNotificationAO;
-class CLcBasicAppInfo;
-class CLcLocationAppInfoArray;
-class CAknPopupList;
-class CLcPopupListBox;
-
-/**
- * Implementation of Location Centre Interface class CLcService.
- *
- * This class provides the implementation of Location Centre API.
- * This is needed to ensure that the implementation details of Location
- * Centre API is completely abstracted from CLcService.
- */
-NONSHARABLE_CLASS( CLcServiceImpl ) : public CBase,
- public MLcNotification,
- public MLcAsynOperationObserver
- {
-public: // Exported Functions
- /**
- * Constructs a new instance of Location Centre interface.
- *
- * @return The new instance of Location Centre interface object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcServiceImpl* NewL();
-
- /**
- * Constructs a new instance of Location Centre interface.
- * Leaves the created instance on the cleanup stack.
- *
- * @return The new instance of Location Centre interface object.
- * @leave System wide error code if the object creation fails.
- */
- static CLcServiceImpl* NewLC();
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * interface.
- */
- virtual ~CLcServiceImpl();
-
- /**
- * Launches Location Centre as a pop-up dialog with a list of
- * Location based Application.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- void LaunchLocationCentreL(
- const TLcLocationAppFilter& aLocationAppFilter,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode = CLcLocationAppInfo::EDefaultMode,
- MLcAppExitObserver* aChainedAppExitObserver = NULL );
-
- /**
- * Launches Location Centre with the specified array of Location
- * based Applications in a pop-up dialog.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- void LaunchLocationCentreL(
- const RPointerArray<CLcService::CLcLaunchParam>& aIncludeAppArray,
- MLcAppExitObserver* aChainedAppExitObserver = NULL );
-
- /**
- * Launches Location Centre without the specified array of
- * Location based Applications in a pop-up dialog.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- void LaunchLocationCentreL(
- const RArray<TPtrC>& aExcludeAppArray,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode = CLcLocationAppInfo::EDefaultMode,
- MLcAppExitObserver* aChainedAppExitObserver = NULL );
-
- /**
- * Launches Location Centre as a pop-up dialog with a filtered list of
- * Location based Applications and the user can select a Location
- * based Application from the pop-up list displayed.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- TPtrC SelectLocationApplicationL(
- const TLcLocationAppFilter& aLocationAppFilter );
-
- /**
- * Launches Location Centre with based Applications in a pop-up
- * dialog and the user can select a Location based Application
- * from the pop-up list displayed.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- TPtrC SelectLocationApplicationL( const RArray<TPtrC>& aAppArray,
- TBool aIncludeFlag );
-
- /**
- * Gets a filtered list of Location based Applications.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- CLcLocationAppInfoArray* GetLocationApplicationsL(
- const TLcLocationAppFilter& aLocationAppFilter );
-
- /**
- * Gets a filted list of Location based Applications.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- void GetLocationApplications(
- TRequestStatus& aStatus,
- const TLcLocationAppFilter& aLocationAppFilter,
- CLcLocationAppInfoArray*& aAppInfoArray );
-
- /**
- * Cancels an outstanding @ref GetLocationApplications request.
- */
- void CancelGetLocationApplications();
-
- /**
- * Launches a Location based Application in the desired mode.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- void LaunchLocationApplicationL(
- const TDesC& aAppIdentifier,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode = CLcLocationAppInfo::EDefaultMode,
- MLcAppExitObserver* aChainedAppExitObserver = NULL );
-
- /**
- * Sets an observer for notifying changes to the Location Centre server.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- void SetObserverL( MLcNotification& aObserver );
-
- /**
- * Removes the observer that has already been set using the @ref SetObserverL method.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- TInt RemoveObserver();
-
-public: // Inherited from the base classes
- /**
- * Inherited from MLcNotification
- */
- void LcStatusChangedL( TInt aErrorCode );
-
- /**
- * Inherited from MLcAsynOperationObserver
- */
- void OperationComplete( TInt aError );
-
-private:
- /**
- * Default C++ Constructor.
- */
- CLcServiceImpl();
-
- /**
- * Second phase of the two phase constructor.
- */
- void ConstructL();
-
- /**
- * Leaving form of GetLocationApplications. This is needed because the API
- * does not leave whereas we need certain leaving operations to be performed
- * in the GetLocationApplications asynchronous version.
- */
- void GetLocationApplicationsL(
- TRequestStatus& aStatus,
- const TLcLocationAppFilter& aLocationAppFilter,
- CLcLocationAppInfoArray*& aAppInfoArray );
-
- /**
- * Launches Location Centre with the supplied Applications in a pop-up
- * dialog and the user can select a Location based Application from the pop-up
- * list displayed.
- *
- * @param[in] aAppInfoArray Application Information array. The ownership of this
- * array is transferred to the pop-up.
- * @return TPtrC, Identifier corresponding to the element that has been selected.
- */
- TPtrC SelectLocationApplicationL( CLcLocationAppInfoArray* aAppInfoArray );
-
-private:
- /**
- * Enumeration for the outstanding Pop-up operation.
- */
- enum TLcPopUpOutStanding
- {
- /**
- * Filtered based Applications
- */
- ELcPopupWithFiltering,
- ELcPopupWithSpecifiedApps,
- ELcPopupWithoutSpecifedApps
- };
-
-private: // Data
- /**
- * Location Centre server client side session handle
- */
- RLcClientSession iSession;
-
- /**
- * Location based Application's launcher.
- * This object can be used to launch all Location based Applications,
- * contents and services in the standalone mode or in the chained mode.
- * Owns
- */
- CLcAppLauncher* iAppLauncher;
-
- /**
- * Observer for notifications
- */
- MLcNotification* iObserver;
-
- /**
- * Active Object for notification requests
- *
- * Owns
- */
- CLcNotificationAO* iNotificationAO;
-
- /**
- * Request Status on which the Asynchronous request would be completed.
- */
- TRequestStatus* iStatus;
-
- /**
- * Location Centre Asynchronous operation handler.
- *
- * Owns
- */
- CLcAsyncOperation* iAsyncOperation;
-
- /**
- * Location Centre pop-up.
- *
- * Owns.
- */
- CAknPopupList* iPopUp;
-
- /**
- * Location Centre pop-up list box.
- *
- * Owns.
- */
- CLcPopupListBox* iPopUpListBox;
-
- /**
- * Idenfier of the Selected Application.
- */
- HBufC* iSelectedAppId;
-
- /**
- * Pop-up Operation outstanding
- */
- TLcPopUpOutStanding iPopupOutStanding;
-
- /**
- * Filter conditions.
- * Owns.
- */
- TLcLocationAppFilter* iFilter;
-
- /**
- * Array of applications which need to be included/excluded in the filtering
- * operation.
- *
- * Owns.
- */
- RArray<TPtrC> iAppArray;
- };
-
-
-#endif // C_LCSERVICEIMPL_H
--- a/locationcentre/lcservice/inc/lcsyncoperation.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +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: Handles all the Synchronous operations with the Location
-* Centre Client Session
-*
-*/
-
-
-#ifndef LCSYNCOPERATION_H
-#define LCSYNCOPERATION_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-// USER INCLUDES
-
-// FORWARD DECLARATIONS
-class RLcClientSession;
-class CLcBasicAppInfo;
-class CLcLocationAppInfoArray;
-class TLcLocationAppFilter;
-
-/**
- * Handles all the Synchronous operations to the Location Centre Server.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( LcSyncOperation )
- {
-public:
- /**
- * Gets a filtered list of Location based Applications.
- *
- * @param[in] aSession Reference to the Location Centre Client Session.
- * @param[in] aLocationAppFilter Filtering parameters.
- * @return CLcLocationAppInfoArray* Array of Location based Applications and
- * Contents/Services.
- */
- static CLcLocationAppInfoArray* GetLocationApplicationsL(
- RLcClientSession& aSession,
- const TLcLocationAppFilter& aLocationAppFilter );
-
- /**
- * Gets a filtered list of Location based Applications.
- *
- * The Client application can configure the list of Location based
- * Applications returned. This can be achieved by passing the list of Location
- * based Applications which the Client wants to be included/excluded in the
- * list.
- *
- * The ownership of the array of identifiers is not transferred.
- *
- * @param[in] aSession Reference to the Location Centre Client Session.
- * @param[in] aAppArray Array of Location based Applications and Contents
- * or Services which need to be included or excluded.
- * @param[in] aIncludeFlag Boolean flag which defines whether the set of
- * Location based Applications should be included or
- * excluded.
- * @return CLcLocationAppInfoArray object containing a list
- * of applications registered with Location Centre.
- */
- static CLcLocationAppInfoArray* GetLocationApplicationsL(
- RLcClientSession& aSession,
- const RArray<TPtrC>& aAppArray,
- TBool aIncludeFlag );
-
- /**
- * Gets the Location Application Information corresponding to the Location
- * based Application or Content/Service based on the Identifer name.
- *
- * @param[in] aSession Reference to the Location Centre Client Session.
- * @param[in] aIdentifier Name of the Location based Identifier whose
- * information is requested.
- */
- static CLcBasicAppInfo* GetLocationAppInfoL(
- RLcClientSession& aSession,
- const TDesC& aIdentifier );
-
- /**
- * Parses the Location Application information present in the Read stream.
- *
- * Other documentation present in the corresponding function for
- * CLcService class.
- */
- static CLcLocationAppInfoArray* ParseLocAppBufferL( RReadStream& aReadStream );
- };
-
-#endif // LCSYNCOPERATION_H
--- a/locationcentre/lcservice/src/lcasyncoperation.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,346 +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: Handles all the Asynchronous operations with the Location
-* Centre Client Session
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <s32mem.h>
-
-// USER INCLUDES
-#include "lcasyncoperation.h"
-#include "lcclientsession.h"
-#include "lcipcparams.h"
-#include "lcsyncoperation.h"
-
-// CONSTANT DEFINTIONS
-const TInt KLcLengthofInteger = 4;
-
-// ----- Member functions for TLcAppInfoContainer ----------------------------
-
-CLcAsyncOperation::TLcAppInfoContainer::TLcAppInfoContainer(
- CLcLocationAppInfoArray*& aAppInfoArray )
- :iAppInfoArray( aAppInfoArray )
- {
- }
-
-// ----- Member funtions for LcSyncOperation ---------------------------------
-
-// ---------------------------------------------------------------------------
-// CLcAsyncOperation::CLcAsyncOperation
-// ---------------------------------------------------------------------------
-//
-CLcAsyncOperation::CLcAsyncOperation( RLcClientSession& aSession,
- MLcAsynOperationObserver& aObserver )
- :CActive( EPriorityStandard ),
- iClientSession( aSession ),
- iObserver( aObserver ),
- iBufferPtr( NULL, 0 )
- {
- CActiveScheduler::Add( this );
- }
-
-// ---------------------------------------------------------------------------
-// CLcAsyncOperation::~CLcAsyncOperation
-// ---------------------------------------------------------------------------
-//
-CLcAsyncOperation::~CLcAsyncOperation()
- {
- // Cancel any outstanding request.
- Cancel();
-
- // Delete the filter
- delete iFilterBuffer;
-
- // Delete the Buffer pointer
- delete iBuffer;
-
- // Delete the App Info array container
- delete iAppInfoArrayContainer;
- }
-
-// ---------------------------------------------------------------------------
-// CLcAsyncOperation* CLcAsyncOperation::NewL
-// ---------------------------------------------------------------------------
-//
-CLcAsyncOperation* CLcAsyncOperation::NewL( RLcClientSession& aSession,
- MLcAsynOperationObserver& aObserver )
- {
- CLcAsyncOperation* self = new ( ELeave ) CLcAsyncOperation( aSession, aObserver );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAsyncOperation::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcAsyncOperation::ConstructL()
- {
- // Construct the Buffer structure used for exchanging information with the
- // Location Centre Server.
- iBuffer = CBufFlat::NewL( KLcLengthofInteger );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAsyncOperation::GetLocationApplicationsL
-// ---------------------------------------------------------------------------
-//
-void CLcAsyncOperation::GetLocationApplicationsL(
- const TLcLocationAppFilter& aLocationAppFilter,
- CLcLocationAppInfoArray*& aAppInfoArray )
- {
- // Check if there was any request outstanding. Incase, there was any
- // request then the request will leave with KErrInUse.
- if ( IsActive())
- {
- User::Leave( KErrInUse );
- }
- // Copy the Filter parameters to the Filter member variable.
- iAppFilter = aLocationAppFilter;
-
- iFilterBuffer = new ( ELeave ) TPckg< TLcLocationAppFilter >( iAppFilter );
-
- // Hold the Array pointer
- iAppInfoArrayContainer = new ( ELeave )TLcAppInfoContainer( aAppInfoArray );
-
- // Set the Operation to the Initial state and issue a new request.
- GetLengthL();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAsyncOperation::CancelGetLocationApplications
-// ---------------------------------------------------------------------------
-//
-void CLcAsyncOperation::CancelGetLocationApplications()
- {
- Cancel();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAsyncOperation::ReIssueRequestL
-// ---------------------------------------------------------------------------
-//
-void CLcAsyncOperation::ReIssueRequestL()
- {
- // Check if there are any operation outstanding. This request will be valid
- // only when there are no requests outstanding.
- if ( ELcNoOperation != iOperation )
- {
- // Rest the State to the initial state and Issue a new request
- GetLengthL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAsyncOperation::GetLengthL
-// ---------------------------------------------------------------------------
-//
-void CLcAsyncOperation::GetLengthL()
- {
- if ( !IsActive())
- {
-
- // Set the size of this buffer to 4. This is required because we dont
- // actually fill this buffer but expect the server to fill it. In that case
- // if we dont set the expected length, the server would fail with
- // KrrBadDescriptor.
- iBuffer->ResizeL( KLcLengthofInteger );
-
- // Fill the IPC argument structure with the Length buffer, the server
- // will write the data onto this buffer.
-
- // By the IPC exchange parameter defintion, this must be the first
- // argument to the IPC message.
- iIpcArgs.Set( 0, iFilterBuffer );
-
- // Set the buffer pointer to the start of the Length buffer
- iBufferPtr.Set( const_cast< TUint8 *>( iBuffer->Ptr( 0 ).Ptr()),
- KLcLengthofInteger,
- KLcLengthofInteger );
-
- // This will be the second argument passed to this IPC message.
- iIpcArgs.Set( 1, &iBufferPtr);
-
- // Send an asynchronous message to the server to obtain the length. On return the
- // server is expected to pack the length of the Application information
- // arrays in the LengthBuffer pointer.
- iClientSession.SendReceive( ELcFilteredAppsBufferLength,
- iIpcArgs,
- iStatus );
- iOperation = ELcGetAppLength;
- SetActive();
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAsyncOperation::RunL
-// ---------------------------------------------------------------------------
-//
-void CLcAsyncOperation::RunL()
- {
- if( !iStatus.Int())
- {
- switch ( iOperation )
- {
- case ELcGetAppLength:
- {
- // The Server has passed the Length of the buffer that is needed to pack
- // the Location Applications.
-
- // If the server has not set the buffer then leave with KErrNotFound
- if ( !iBufferPtr.Length())
- {
- User::Leave( KErrNotFound );
- }
-
- // Obtain the length from the Length buffer;
- RBufReadStream readStream( *iBuffer, 0 );
- CleanupClosePushL( readStream );
- TUint length = readStream.ReadInt32L();
- CleanupStack::PopAndDestroy(); // readStream
-
- // If the server has returned a length of 0, then there are no applications
- // registered with Location Centre.
- if ( !length )
- {
- User::Leave( KErrNotFound );
- }
-
- // Set the actual size to 'length' obtained in the previous IPC. This is required
- // because we dont actually fill this buffer but expect the server to fill it.
- // In that case if we dont set the expected length, the server would fail with
- // KrrBadDescriptor.
- iBuffer->ResizeL( length );
-
- // Fill the IPC argument structure with the Application info buffer, the server
- // will write the data onto this buffer.
- TIpcArgs args;
-
- // Pass the filter parameters to the Location Centre Server
- // By the IPC exchange parameter defintion, this must be the first
- // argument to the IPC message.
- args.Set( 0, iFilterBuffer );
-
- // Set the buffer pointer to the start of the Length buffer
- iBufferPtr.Set( const_cast< TUint8 *>( iBuffer->Ptr( 0 ).Ptr()),
- length,
- length );
-
- // This will be the second argument passed to this IPC message.
- args.Set( 1, &iBufferPtr);
-
- // Send an Asynchrnous message to the server to obtain the array of Applications.
- iClientSession.SendReceive( ELcFilteredApps,
- args,
- iStatus );
-
- iOperation = ELcGetApp;
- SetActive();
-
- break;
- }
- case ELcGetApp:
- {
- // The server has successfully returned the Location based Applications
-
- // If the server has not set the buffer then leave with KErrNotFound
- if ( !iBufferPtr.Length())
- {
- User::Leave( KErrNotFound );
- }
-
- // Parse the Application information array to obtain the array
- RBufReadStream appReadStream( *iBuffer, 0 );
- CleanupClosePushL( appReadStream );
-
- iAppInfoArrayContainer->iAppInfoArray =
- LcSyncOperation::ParseLocAppBufferL( appReadStream );
-
- // The App Info array container has been used. We can now free the
- // memory for the same.
- delete iAppInfoArrayContainer;
- iAppInfoArrayContainer = NULL;
-
- CleanupStack::PopAndDestroy(); // appReadStream
-
- // The request has been successfully processed.
- iObserver.OperationComplete( KErrNone );
-
- break;
- }
- default:
- {
- // This condition should never occur
- break;
- }
- }
- }
- else
- {
- // If the Retrieval function completes with KErrOverflow then there has been
- // an update to the registry since the time we obtained the length. We need
- // to re-issue the request to obtain the Length from the application
- if( iOperation == ELcGetApp && KErrOverflow == iStatus.Int())
- {
- ReIssueRequestL();
- }
- else
- {
- // All other condtions terminate
-
- // There is nothing to be done to the App Info buffer. Delete it
- delete iAppInfoArrayContainer;
- iAppInfoArrayContainer = NULL;
-
- // There is an error from the Server side. Hence, complete the request
- // to the Client Side.
- iObserver.OperationComplete( iStatus.Int());
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAsyncOperation::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CLcAsyncOperation::DoCancel()
- {
- iClientSession.SendReceive( ELcCancelFilteredApps );
-
- // Clear the App Info array container
- delete iAppInfoArrayContainer;
- iAppInfoArrayContainer = NULL;
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLcAsyncOperation::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CLcAsyncOperation::RunError( TInt aError )
- {
- // Clear the App Info array container
- delete iAppInfoArrayContainer;
- iAppInfoArrayContainer = NULL;
-
- // The RunL has left with an Error, Notify the Client of the same
- iObserver.OperationComplete( aError );
- return KErrNone;
- }
-
-// End of File
--- a/locationcentre/lcservice/src/lcclientsession.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +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: Client side session to the Location Centre server.
-*
-*/
-
-
-// SYSTEM INCLUDES
-
-// USER INCLUDES
-#include "lcclientsession.h"
-
-// CONSTANT DEFINTIONS
-const TInt KNumofConnectAttempts = 200;
-
-// ----- Member funtions for RLcClientSession ---------------------------------
-
-// ---------------------------------------------------------------------------
-// RLcClientSession::RLcClientSession
-// ---------------------------------------------------------------------------
-//
-RLcClientSession::RLcClientSession()
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- }
-
-// ---------------------------------------------------------------------------
-// RLcClientSession::~RLcClientSession
-// ---------------------------------------------------------------------------
-//
-RLcClientSession::~RLcClientSession()
- {
- // C++ Destructor. Free all resources associated with this class.
- }
-
-// ---------------------------------------------------------------------------
-// RLcClientSession::~RLcClientSession
-// ---------------------------------------------------------------------------
-//
-TInt RLcClientSession::CreateSession()
- {
- TInt error = KErrNone;
-
- // Attempt KNumofConnectAttempts to make a connection to the server
- for ( TInt i = 0; i <= KNumofConnectAttempts; i++ )
- {
- error = RSessionBase::CreateSession(
- KLocationCentreServerName,
- TVersion( KLcServerMajorVersionNumber,
- KLcServerMinorVersionNumber,
- KLcServerBuildVersionNumber ),
- 8);
- if ( error != KErrNotFound && error != KErrServerTerminated )
- {
- // If the Create session returns an error code other than
- // KErrNotFound or KErrServerTerminated, then the request
- // is terminated immediately with the error code.
- // If it is any of these error codes then the server is
- // not running. In this case, try to start the server
- return error;
- }
-
- error = StartServer();
- if ( error != KErrAlreadyExists && error != KErrNone)
- {
- // Server returned error code other than KErrAlreadyExists
- // or KErrNone. The request is terminated with this
- // error code.
- // If the error code is one of these then the server is
- // up and running. Now try to establish the connection.
- return error;
- }
- }
- return error;
- }
-
-// ---------------------------------------------------------------------------
-// RLcClientSession::~RLcClientSession
-// ---------------------------------------------------------------------------
-//
-void RLcClientSession::Close()
- {
- RHandleBase::Close();
- }
-
-// ---------------------------------------------------------------------------
-// RLcClientSession::SendReceive
-// ---------------------------------------------------------------------------
-//
-void RLcClientSession::SendReceive( TLcServerMsgType aMsgType,
- const TIpcArgs& aArgs,
- TRequestStatus& aStatus ) const
- {
- return RSessionBase::SendReceive( aMsgType,
- aArgs,
- aStatus );
- }
-
-// ---------------------------------------------------------------------------
-// RLcClientSession::SendReceive
-// ---------------------------------------------------------------------------
-//
-TInt RLcClientSession::SendReceive( TLcServerMsgType aMsgType,
- const TIpcArgs& aArgs ) const
- {
- return RSessionBase::SendReceive( aMsgType,
- aArgs );
- }
-
-// ---------------------------------------------------------------------------
-// RLcClientSession::SendReceive
-// ---------------------------------------------------------------------------
-//
-void RLcClientSession::SendReceive( TLcServerMsgType aMsgType,
- TRequestStatus& aStatus ) const
- {
- return RSessionBase::SendReceive( aMsgType, aStatus );
- }
-
-// ---------------------------------------------------------------------------
-// RLcClientSession::SendReceive
-// ---------------------------------------------------------------------------
-//
-TInt RLcClientSession::SendReceive( TLcServerMsgType aMsgType ) const
- {
- return RSessionBase::SendReceive( aMsgType );
- }
-
-// ---------------------------------------------------------------------------
-// RLcClientSession::StartServer
-// ---------------------------------------------------------------------------
-//
-TInt RLcClientSession::StartServer()
- {
- // Create a new server process.
- // If the server is already running then the function fails with
- // KErrAlreadyExists
- RProcess server;
- TInt error = server.Create( KLocationCentreServerExe,
- KNullDesC );
- if ( !error )
- {
- TRequestStatus died;
- server.Rendezvous( died );
- if ( died != KRequestPending )
- {
- // Logon failed - Server is not yet running, so cannot have terminated
- User::WaitForRequest( died ); // Eat signal
- server.Kill( 0 ); // Abort startup
- }
- else
- {
- server.Resume();
- User::WaitForRequest( died ); // Wait for start or death
- }
-
- // We can't use the 'exit reason' if the server panicked as this
- // is the panic 'reason' and may be '0' which cannot be distinguished
- // from KErrNone
- error = ( server.ExitType() == EExitPanic ) ? KErrGeneral : died.Int();
- server.Close();
- }
- return error;
- }
-// End of File
--- a/locationcentre/lcservice/src/lclocationappfilter.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +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: Location Application Filters
-*
-*/
-
-
-// SYSTEM INCLUDES
-
-// USER INCLUDES
-#include "lclocationappfilter.h"
-
-// CONSTANT DEFINITIONS
-
-// This value is obtained by ORing all the System characteristics
-// available
-const TUint32 KMaxSystemCharValue = 1;
-
-// This value is obtained by ORing all the Application characteristics
-// available
-const TUint32 KMaxAppCharValue = 1023;
-
-
-// ----- Member funtions for TLcLocationAppFilter ------------------
-
-// ---------------------------------------------------------------------------
-// TUint32 TLcLocationAppFilter::TLcLocationAppFilter
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TLcLocationAppFilter::TLcLocationAppFilter()
- :iSystemChar(0),
- iSysFilterConfig( TLcLocationAppFilter::EFilterStrict ),
- iApplicationChar(0),
- iAppFilterConfig( TLcLocationAppFilter::EFilterStrict )
- {
- }
-
-// ---------------------------------------------------------------------------
-// TUint32 TLcLocationAppFilter::GetSystemCharacteristics
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUint32 TLcLocationAppFilter::SystemCharacteristics() const
- {
- return iSystemChar;
- }
-
-// ---------------------------------------------------------------------------
-// TInt TLcLocationAppFilter::AddSystemCharacteristic
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt TLcLocationAppFilter::SetSystemCharacteristic(
- TUint32 aSystemChar )
- {
- // Check if the System characteristics value is a valid bit-mask.
- if( aSystemChar > KMaxSystemCharValue )
- {
- return KErrArgument;
- }
-
- iSystemChar = aSystemChar;
- return KErrNone;
- }
-
-// ---------------------------------------------------------------------------
-// TLcLocationAppFilter::TLocationAppFilterConfig TLcLocationAppFilter::
-// SysCharFilterConfiguration
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TLcLocationAppFilter::TLcFilterConfig
- TLcLocationAppFilter::SysCharFilterConfiguration() const
- {
- return iSysFilterConfig;
- }
-
-// ---------------------------------------------------------------------------
-// void TLcLocationAppFilter::SetSysCharacFilterConfig
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TLcLocationAppFilter::SetSysCharFilterConfiguration(
- TLcLocationAppFilter::TLcFilterConfig aFilterConfig )
- {
- iSysFilterConfig = aFilterConfig;
- }
-
-// ---------------------------------------------------------------------------
-// TUint32 TLcLocationAppFilter::GetApplicationCharacteristics
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUint32 TLcLocationAppFilter::ApplicationCharacteristics() const
- {
- return iApplicationChar;
- }
-
-// ---------------------------------------------------------------------------
-// TInt TLcLocationAppFilter::SetApplicationCharacteristics
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt TLcLocationAppFilter::SetApplicationCharacteristics(
- TUint32 aAppChar )
- {
- // Check if the Application characteristics value is a valid bit-mask.
- if( aAppChar > KMaxAppCharValue )
- {
- return KErrArgument;
- }
-
- iApplicationChar = aAppChar;
- return KErrNone;
- }
-
-// ---------------------------------------------------------------------------
-// TLcLocationAppFilter::TLcFilterConfig AppCharFilterConfiguration
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TLcLocationAppFilter::TLcFilterConfig
- TLcLocationAppFilter::AppCharFilterConfiguration() const
- {
- return iAppFilterConfig;
- }
-
-// ---------------------------------------------------------------------------
-// void TLcLocationAppFilter::SetAppCharFilterConfiguration
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TLcLocationAppFilter::SetAppCharFilterConfiguration(
- TLcLocationAppFilter::TLcFilterConfig aFilterConfig )
- {
- iAppFilterConfig = aFilterConfig;
- }
-
-// End of File
-
--- a/locationcentre/lcservice/src/lclocationappinfo.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,514 +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: Location Application Information structures.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <gulicon.h> // Gul Icon
-#include <fbs.h> // Bitmap
-
-// USER INCLUDES
-#include "lclocationappinfo.h"
-#include "lcnativeapps.hrh"
-#include "lcerrors.h"
-#include "lciconloader.h"
-#include "lcipcparams.h"
-
-// CONSTANT DEFINTIONS
-// Maximum value that the UID field can take in S60
-const TUint32 KUidMaxValue = 0xFFFFFFFF;
-
-// ----- Member funtions for CLcLocationAppInfo ------------------
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfo::CLcLocationAppInfo
-// ---------------------------------------------------------------------------
-//
-CLcLocationAppInfo::CLcLocationAppInfo(
- const CLcLocationAppInfo& aLCAppInfo )
- {
- // C++ Copy constructor. No allocations or functions which can Leave
- // should be called from here.
-
- // Set only those parameters which dont require memory allocation.
- iLaunchMode = aLCAppInfo.iLaunchMode;
- iSystemCharacteristics = aLCAppInfo.iSystemCharacteristics;
- iAppCharacteristics = aLCAppInfo.iAppCharacteristics;
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfo::CLcLocationAppInfo
-// ---------------------------------------------------------------------------
-//
-CLcLocationAppInfo::CLcLocationAppInfo()
- :iLaunchMode( EDefaultMode )
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfo::~CLcLocationAppInfo
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcLocationAppInfo::~CLcLocationAppInfo()
- {
- // C++ Destructor. Free all resources associated with this class.
-
- // Delete the buffer containing the Identifier
- delete iId;
-
- // Delete the buffer containing the name of the Location application
- delete iApplicationName;
-
- // Delete the Application Icon
- delete iApplicationIconData;
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfo* CLcLocationAppInfo::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcLocationAppInfo* CLcLocationAppInfo::NewL()
- {
- CLcLocationAppInfo* self = NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfo* CLcLocationAppInfo::NewLC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcLocationAppInfo* CLcLocationAppInfo::NewLC()
- {
- // Symbian Two phased constructor. Leaves the object on the Clean-up
- // stack.
- CLcLocationAppInfo* self =
- new ( ELeave )CLcLocationAppInfo();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfo* CLcLocationAppInfo::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcLocationAppInfo* CLcLocationAppInfo::NewL(
- const CLcLocationAppInfo& aLocAppInfo )
- {
- CLcLocationAppInfo* self = NewLC( aLocAppInfo );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfo* CLcLocationAppInfo::NewLC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcLocationAppInfo* CLcLocationAppInfo::NewLC(
- const CLcLocationAppInfo& aLocAppInfo )
- {
- // Symbian Two phased constructor. Leaves the object on the Clean-up
- // stack.
- CLcLocationAppInfo* self =
- new ( ELeave )CLcLocationAppInfo( aLocAppInfo );
- CleanupStack::PushL( self );
- self->ConstructL( aLocAppInfo );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcLocationAppInfo::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcLocationAppInfo::ConstructL()
- {
- }
-
-// ---------------------------------------------------------------------------
-// void CLcLocationAppInfo::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcLocationAppInfo::ConstructL( const CLcLocationAppInfo& aLCAppInfo )
- {
- // Copy the Identifier from the Argument Location Application App info.
- iId = aLCAppInfo.Id().AllocL();
-
- // Copy the Name from the Argument Location Application App info.
- iApplicationName = aLCAppInfo.Name().AllocL();
-
- // Create the Icon related objects.
- if ( aLCAppInfo.iApplicationIconData )
- {
- iApplicationIconData = aLCAppInfo.iApplicationIconData->Des().Alloc();
- }
- iApplicationIconType = aLCAppInfo.iApplicationIconType;
- iIconId = aLCAppInfo.iIconId;
- }
-
-// ---------------------------------------------------------------------------
-// TUint32 CLcLocationAppInfo::IdL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPtrC CLcLocationAppInfo::Id() const
- {
- // Check whether the UID exists, incase it doesnt exist then return a
- // NULL string.
- if( !iId )
- {
- return TPtrC();
- }
-
- // Return the UID.
- return *iId;
- }
-
-// ---------------------------------------------------------------------------
-// TDesC& CLcLocationAppInfo::NameL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPtrC CLcLocationAppInfo::Name() const
- {
- // Check whether the application name exists, incase it doesnt exist then
- // return a NULL string.
- if( !iApplicationName )
- {
- return TPtrC();
- }
- // Return the Application Name.
- return *iApplicationName;
- }
-
-// ---------------------------------------------------------------------------
-// CGulIcon& CLcLocationAppInfo::IconL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGulIcon* CLcLocationAppInfo::IconL() const
- {
- CGulIcon* icon = NULL;
- // If there is no Icon file present, then we have to load the default
- // Icon for the Application
- if ( iApplicationIconData )
- {
- switch( iApplicationIconType )
- {
- case CLcAppInfo::EIconfromApp:
- {
- // Since the request is for a Native S60 application, the Identifer
- // contains an UID. Obtain it using Lexer
- TLex lexer( iApplicationIconData->Des());
- TUint32 uidValue;
- User::LeaveIfError( lexer.BoundedVal( uidValue, EHex, KUidMaxValue ));
-
- // Obtain the Location Icon.
- icon = LcIconLoader::LoadApplicationIconL( TUid::Uid( uidValue ));
-
- break;
- }
- case CLcAppInfo::EMifFile:
- {
- icon = LcIconLoader::LoadMifFileIconL( iApplicationIconData->Des(),
- iIconId );
- break;
- }
- default:
- {
- icon = LcIconLoader::LoadDefaultIconL();
- break;
- }
- }
- }
- else
- {
- icon = LcIconLoader::LoadDefaultIconL();
- }
- return icon;
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfo::TLcLaunchMode
-// CLcLocationAppInfo::LocationApplicationIconL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcLocationAppInfo::TLcLaunchMode CLcLocationAppInfo::LaunchMode() const
- {
- return iLaunchMode;
- }
-
-// ---------------------------------------------------------------------------
-// TUint32 CLcLocationAppInfo::SystemCharacteristics
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUint32 CLcLocationAppInfo::SystemCharacteristics() const
- {
- return iSystemCharacteristics;
- }
-
-// ---------------------------------------------------------------------------
-// TUint32 CLcLocationAppInfo::ApplicationCharacteristics
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUint32 CLcLocationAppInfo::ApplicationCharacteristics() const
- {
- return iAppCharacteristics;
- }
-
-// ---------------------------------------------------------------------------
-// TUint32 CLcLocationAppInfo::SetIdL
-// ---------------------------------------------------------------------------
-//
-void CLcLocationAppInfo::SetIdL( const TDesC& aId )
- {
- // Incase, the UID already exists then Leave with KErrAlreadyExists
- if( iId )
- {
- User::Leave( KErrAlreadyExists );
- }
-
- // Copy the Identifier from the Argument Location Application App info.
- iId = aId.AllocL();
-
- }
-
-// ---------------------------------------------------------------------------
-// void CLcLocationAppInfo::SetNameL
-// ---------------------------------------------------------------------------
-//
-void CLcLocationAppInfo::SetNameL( const TDesC& aName )
- {
- // Incase, the application name exists then Leave with KErrAlreadyExists.
- if( iApplicationName )
- {
- User::Leave( KErrAlreadyExists );
- }
-
- // Copy the Name from the Argument Location Application App info.
- iApplicationName = aName.AllocL();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcLocationAppInfo::SetIconL
-// ---------------------------------------------------------------------------
-//
-void CLcLocationAppInfo::SetIconL( TInt aIconType,
- const TDesC& aIconData,
- TInt aIconId )
- {
- // Incase, the application icon exists then Leave with KErrAlreadyExists.
- if( iApplicationIconData )
- {
- User::Leave( KErrAlreadyExists );
- }
-
- if( !aIconData.Length())
- {
- User::Leave( KErrArgument );
- }
-
- // Create the Icon related objects.
- iApplicationIconData = aIconData.Alloc();
- iApplicationIconType = aIconType;
- iIconId = aIconId;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcLocationAppInfo::SetLocationApplicationLaunchMode
-// ---------------------------------------------------------------------------
-//
-void CLcLocationAppInfo::SetLaunchMode(
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode )
- {
- iLaunchMode = aLaunchMode;
- }
-
-
-// ---------------------------------------------------------------------------
-// void CLcLocationAppInfo::SetSystemCharacteristics
-// ---------------------------------------------------------------------------
-//
-void CLcLocationAppInfo::SetSystemCharacteristics(
- TUint32 aSysCharacteristics )
- {
- iSystemCharacteristics = aSysCharacteristics;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcLocationAppInfo::SetApplicationCharacteristics
-// ---------------------------------------------------------------------------
-//
-void CLcLocationAppInfo::SetApplicationCharacteristics(
- TUint32 aAppCharacteristics )
- {
- iAppCharacteristics = aAppCharacteristics;
- }
-
-// ----- Member funtions for CLcLocationAppInfoArray -------------
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfoArray::CLcLocationAppInfoArray
-// ---------------------------------------------------------------------------
-//
-CLcLocationAppInfoArray::CLcLocationAppInfoArray()
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfoArray::~CLcLocationAppInfoArray
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcLocationAppInfoArray::~CLcLocationAppInfoArray()
- {
- // C++ Destructor. Free all resources associated with this class.
-
- // Delete all the the associated Location application information objects.
- while ( iAppInfoArray.Count() > 0 )
- {
- // Remove the first item
- CLcLocationAppInfo* item = iAppInfoArray[0];
- iAppInfoArray.Remove( 0 );
-
- // Delete the element
- delete item;
- item = NULL;
- }
- iAppInfoArray.Reset();
- iAppInfoArray.Close();
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfoArray*
-// CLcLocationAppInfoArray::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcLocationAppInfoArray*
- CLcLocationAppInfoArray::NewL()
- {
- CLcLocationAppInfoArray* self = NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfoArray*
-// CLcLocationAppInfoArray::NewLC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcLocationAppInfoArray*
- CLcLocationAppInfoArray::NewLC()
- {
- // Symbian Two phased constructor. Leaves the object on the Clean-up
- // stack.
- CLcLocationAppInfoArray* self =
- new ( ELeave )CLcLocationAppInfoArray();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcLocationAppInfoArray::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcLocationAppInfoArray::ConstructL()
- {
- // Second phase of the two phase constructor.
- }
-
-// ---------------------------------------------------------------------------
-// void CLcLocationAppInfoArray::Count
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CLcLocationAppInfoArray::Count() const
- {
- // Return the number of elements in the Application information array.
- return iAppInfoArray.Count();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcLocationAppInfoArray::AppendL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLcLocationAppInfoArray::AppendL(
- CLcLocationAppInfo* aLCAppInfo )
- {
- // Check if the element passed as an argument is NULL. If its NULL, then
- // Leave with KErrArgument
- // Not using User::LeaveIfNull because in that case, the leave would happen
- // with KErrNoMemory which conveys the wrong behaviour.
- if( !aLCAppInfo )
- {
- User::Leave( KErrArgument );
- }
-
- // Append the new element into the array;
- iAppInfoArray.AppendL( aLCAppInfo );
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfo* CLcLocationAppInfoArray::RemoveL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcLocationAppInfo* CLcLocationAppInfoArray::Remove( TInt aIndex )
- {
- // Check if the element requested is out of array bounds
- if( aIndex < 0 || aIndex >= iAppInfoArray.Count())
- {
- User::Panic( KLcPanicCategory, ELcInvalidIndex );
- }
-
- // Since, the remove method is expected to return back the reference
- // of the element removed, first store the element at the aIndex
- // position and return it back
- CLcLocationAppInfo* item = iAppInfoArray[ aIndex ];
- iAppInfoArray.Remove( aIndex );
- return item;
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfo* CLcLocationAppInfoArray::Reset
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLcLocationAppInfoArray::Reset()
- {
- // Reset the entire array so that its ok for resuse.
- iAppInfoArray.ResetAndDestroy();
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfo& CLcLocationAppInfoArray::
-// operator[]
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcLocationAppInfo& CLcLocationAppInfoArray::
- operator[]( TInt aIndex ) const
- {
- // Check if the element requested is out of array bounds
- if( aIndex < 0 || aIndex >= iAppInfoArray.Count())
- {
- User::Panic( KLcPanicCategory, ELcInvalidIndex );
- }
-
- // Return only a reference of the object. The ownership is not be
- // transferred.
- return *(iAppInfoArray[ aIndex ]);
- }
-
-// End of File
-
--- a/locationcentre/lcservice/src/lcnotificationao.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +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: Location Centre Notification Active Object.
-*
-*/
-
-
-// SYSTEM INCLUDES
-
-// USER INCLUDES
-#include "lcnotificationao.h"
-#include "lcnotification.h"
-#include "lcclientsession.h"
-
-// CONSTANT DEFINTIONS
-
-// ----- Member funtions for CLcNotificationAO ---------------------------------
-
-// ---------------------------------------------------------------------------
-// CLcNotificationAO::CLcNotificationAO
-// ---------------------------------------------------------------------------
-//
-CLcNotificationAO::CLcNotificationAO( MLcNotification& aObserver,
- RLcClientSession& aClientSession )
- :CActive( EPriorityStandard ),
- iObserver( aObserver ),
- iClientSession( aClientSession )
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- CActiveScheduler::Add( this );
- }
-
-// ---------------------------------------------------------------------------
-// CLcNotificationAO::~CLcNotificationAO
-// ---------------------------------------------------------------------------
-//
-CLcNotificationAO::~CLcNotificationAO()
- {
- // C++ Destructor. Free all resources associated with this class.
- Cancel();
- }
-
-// ---------------------------------------------------------------------------
-// CLcNotificationAO* CLcNotificationAO::NewL
-// ---------------------------------------------------------------------------
-//
-CLcNotificationAO* CLcNotificationAO::NewL( MLcNotification& aObserver,
- RLcClientSession& aClientSession )
- {
- CLcNotificationAO* self = new ( ELeave )CLcNotificationAO( aObserver,
- aClientSession );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcNotificationAO::IssueRequest
-// ---------------------------------------------------------------------------
-//
-void CLcNotificationAO::IssueRequest()
- {
- // The request is issued only if there is no outstanding request. If there
- // any request outstanding then don't do anything. Server the previous
- // request.
- if ( !IsActive())
- {
- // Location Centre Server is the ASP. Send a notification request to
- // the same.
- iClientSession.SendReceive( ERegisterObserver, iStatus );
- SetActive();
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcNotificationAO::CancelRequest
-// ---------------------------------------------------------------------------
-//
-void CLcNotificationAO::CancelRequest()
- {
- Cancel();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcNotificationAO::RunL
-// ---------------------------------------------------------------------------
-//
-void CLcNotificationAO::RunL()
- {
- // Communicate the Success/Failure of the Notification request to the
- // Location Centre Client.
- iObserver.LcStatusChangedL( iStatus.Int());
-
- // Issue the Observer request unless the server has been terminated.
- if ( iStatus.Int() != KErrServerTerminated )
- {
- IssueRequest();
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcNotificationAO::DeCancel
-// ---------------------------------------------------------------------------
-//
-void CLcNotificationAO::DoCancel()
- {
- iClientSession.SendReceive( ERemoveObserver );
- }
-
-// End of File
--- a/locationcentre/lcservice/src/lcpopuplistbox.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +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: List box used to display the Location Centre pop-up.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <AknIconArray.h> // Icon Array
-#include <eikclbd.h> // Column Listbox
-
-// USER INCLUDES
-#include "lcpopuplistbox.h"
-#include "lcpopuplistboxmodel.h"
-#include "lclocationappinfo.h"
-
-// CONSTANT DEFINTION
-const TInt KLcPopupListboxGranularity = 4;
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLcPopupListBox::CLcPopupListBox
-// ---------------------------------------------------------------------------
-//
-CLcPopupListBox::CLcPopupListBox( CLcLocationAppInfoArray* aAppArray )
- :iAppArray( aAppArray )
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- }
-
-// ---------------------------------------------------------------------------
-// CLcPopupListBox::~CLcPopupListBox
-// ---------------------------------------------------------------------------
-//
-CLcPopupListBox::~CLcPopupListBox()
- {
- // C++ Destructor. Free all resources associated with this class.
-
- // Delete the List box model.
- delete iListBoxModel;
-
- // Delete the Application Info array
- delete iAppArray;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcPopupListBox::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcPopupListBox::ConstructL( CCoeControl* aParent )
- {
- // Create the list box model
- iListBoxModel = CLcPopupListBoxModel::NewL( *iAppArray );
-
- CAknSingleGraphicPopupMenuStyleListBox::ConstructL( aParent, EAknListBoxMenuList );
- CreateScrollBarFrameL(ETrue);
- ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
- CEikScrollBarFrame::EAuto );
-
- UpdateIconsL();
-
- // The ownership of the List box model is retained with the Container.
- // This is needed because the model is used to return the identifier of the
- // Location based Application or Content/Service when its selected.
- Model()->SetItemTextArray( iListBoxModel );
- Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
-
- ActivateL();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcPopupListBox::UpdateModel
-// ---------------------------------------------------------------------------
-//
-void CLcPopupListBox::UpdateListBoxL( CLcLocationAppInfoArray* aAppArray )
- {
- // Delete the existing contents and set the new Application info array
- // to the listbox model.
- delete iAppArray;
- iAppArray = aAppArray;
-
- iListBoxModel->UpdateModel( *iAppArray );
-
- UpdateIconsL();
-
- HandleItemAdditionL();
- HandleItemRemovalL();
-
- DrawDeferred();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcPopupListBox::UpdateIconsL
-// ---------------------------------------------------------------------------
-//
-void CLcPopupListBox::UpdateIconsL()
- {
- TInt count = iAppArray->Count();
- // Update the Icons only if there are any elements the List box
- if ( count )
- {
- // Create a new Icons Array
- CAknIconArray* icons = new( ELeave ) CAknIconArray( KLcPopupListboxGranularity );
- CleanupStack::PushL( icons );
-
- // Add All the icons to the Icons array
- for ( TInt i = 0; i < count; i++ )
- {
- icons->AppendL(( *iAppArray )[i].IconL() );
- }
-
- // Get old icons and delete those. This is done because SetIconArray will
- // not do it.
- CAknIconArray* oldIcons =
- static_cast<CAknIconArray*>( ItemDrawer()->ColumnData()->IconArray());
-
- delete oldIcons;
-
- //Set New Icons to array
- ItemDrawer()->ColumnData()->SetIconArray( icons );
- CleanupStack::Pop(icons);
- }
- ItemDrawer()->ColumnData()->EnableMarqueeL( ETrue );
-
- DrawDeferred();
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLcPopupListBox::AppInfoId
-// ---------------------------------------------------------------------------
-//
-TPtrC CLcPopupListBox::AppInfoId() const
- {
- return ( *iAppArray )[ CurrentItemIndex() ].Id();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcPopupListBox::HandleResourceChange
-// ---------------------------------------------------------------------------
-//
-void CLcPopupListBox::HandleResourceChange( TInt aType )
- {
- // Pass the event to the base class
- CCoeControl::HandleResourceChange( aType );
- switch( aType )
- {
- // Dynamic Layout switch and Skin Change
- case KEikDynamicLayoutVariantSwitch:
- {
- SetRect( Rect());
- break;
- }
- case KAknsMessageSkinChange:
- {
- TRAP_IGNORE( UpdateIconsL());
- break;
- }
- default:
- {
- break;
- }
- }
- DrawDeferred();
- }
--- a/locationcentre/lcservice/src/lcpopuplistboxmodel.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +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: List box model for the list-box used to display the Location
-* Centre pop-up.
-*
-*/
-
-
-// SYSTEM INCLUDES
-
-// USER INCLUDES
-#include "lcpopuplistboxmodel.h"
-#include "lclocationappinfo.h"
-#include "lcerrors.h"
-
-// CONSTANT DEFINTION
-const TInt KLcBufferSize = 128;
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLcPopupListBoxModel::CLcPopupListBoxModel
-// ---------------------------------------------------------------------------
-//
-CLcPopupListBoxModel::CLcPopupListBoxModel( CLcLocationAppInfoArray& aAppArray )
- :iAppArray( &aAppArray )
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- }
-
-// ---------------------------------------------------------------------------
-// CLcPopupListBoxModel::~CLcPopupListBoxModel
-// ---------------------------------------------------------------------------
-//
-CLcPopupListBoxModel::~CLcPopupListBoxModel()
- {
- // C++ Destructor. Free all resources associated with this class.
-
- // Delete the MdcaPoint buffer
- delete iBuffer;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcPopupListBoxModel::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcPopupListBoxModel::ConstructL()
- {
- // Create the Buffer for packing the MdcaPoint
- iBuffer = HBufC16::NewL( KLcBufferSize );
- }
-
-// ---------------------------------------------------------------------------
-// CLcPopupListBoxModel* CLcPopupListBoxModel::NewL
-// ---------------------------------------------------------------------------
-//
-CLcPopupListBoxModel* CLcPopupListBoxModel::NewL( CLcLocationAppInfoArray& aAppArray )
- {
- CLcPopupListBoxModel* self = new ( ELeave ) CLcPopupListBoxModel( aAppArray );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcPopupListBoxModel::UpdateModel
-// ---------------------------------------------------------------------------
-//
-void CLcPopupListBoxModel::UpdateModel( CLcLocationAppInfoArray& aAppArray )
- {
- // Now assign the new one
- iAppArray = &aAppArray;
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLcPopupListBoxModel::MdcaCount
-// ---------------------------------------------------------------------------
-//
-TInt CLcPopupListBoxModel::MdcaCount() const
- {
- return iAppArray->Count();
- }
-
-// ---------------------------------------------------------------------------
-// TPtrC16 CLcPopupListBoxModel::MdcaPoint
-// ---------------------------------------------------------------------------
-//
-TPtrC16 CLcPopupListBoxModel::MdcaPoint( TInt aIndex ) const
- {
- // Pack the contents into the Buffer. We dont have to re-allocate the buffer
- // everytime because the length of the name field is restricted in the
- // Location Centre Registration API
-
- // Tabulator Defintion
- _LIT( KTab, "\t" );
-
- // Create formatted item string.
- // list_single_large_pane:
- // list item string format: "0\tTextLabel"
- // where 0 is an index to icon array
- TPtr16 buf( iBuffer->Des());
- buf.Zero();
-
- // Append the Icon Index
- buf.AppendNum( aIndex );
-
- // Append the Tab Key
- buf.Append( KTab );
-
- // Append the Application Information
- buf.Append(( *iAppArray )[aIndex].Name());
-
- return buf;
- }
--- a/locationcentre/lcservice/src/lcservice.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,360 +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: Location Centre API interface.
-*
-*/
-
-
-// SYSTEM INCLUDES
-
-// USER INCLUDES
-#include "lcservice.h"
-#include "lcserviceimpl.h"
-#include "lclocationappfilter.h"
-#include "lcappexitobserver.h"
-#include "lcnotification.h"
-
-// ---------- Member funtions for CLcService::CLcLaunchParam -----------------
-
-// ---------------------------------------------------------------------------
-// CLcService::CLcLaunchParam::CLcLaunchParam
-// ---------------------------------------------------------------------------
-//
-CLcService::CLcLaunchParam::CLcLaunchParam(
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode)
- :iLaunchMode( aLaunchMode )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CLcService::CLcLaunchParam::~CLcLaunchParam
-// ---------------------------------------------------------------------------
-//
-CLcService::CLcLaunchParam::~CLcLaunchParam()
- {
- delete iId;
- }
-
-// ---------------------------------------------------------------------------
-// CLcService::CLcLaunchParam::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcService::CLcLaunchParam* CLcService::CLcLaunchParam::NewL(
- const TDesC& aAppId,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode )
- {
- CLcService::CLcLaunchParam* self = NewLC( aAppId, aLaunchMode );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcService::CLcLaunchParam::NewLC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcService::CLcLaunchParam* CLcService::CLcLaunchParam::NewLC(
- const TDesC& aAppId,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode )
- {
- CLcService::CLcLaunchParam* self = new ( ELeave )CLcService::CLcLaunchParam( aLaunchMode );
- CleanupStack::PushL( self );
- self->ConstructL( aAppId );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// TPtrC CLcService::CLcLaunchParam::Id
-// ---------------------------------------------------------------------------
-//
-TPtrC CLcService::CLcLaunchParam::Id() const
- {
- // Check whether the application id exists, incase it doesnt exist then
- // return a NULL string.
- if( !iId )
- {
- return TPtrC();
- }
- // Return the Application Id.
- return *iId;
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfo::TLcLaunchMode CLcLaunchParam::LaunchMode
-// ---------------------------------------------------------------------------
-//
-CLcLocationAppInfo::TLcLaunchMode CLcService::CLcLaunchParam::LaunchMode() const
- {
- return iLaunchMode;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::CLcLaunchParam::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcService::CLcLaunchParam::ConstructL( const TDesC& aAppId )
- {
- iId = aAppId.AllocL();
- }
-
-// ---------- Member funtions for CLcService ---------------------------------
-
-// ---------------------------------------------------------------------------
-// CLcService::CLcService
-// ---------------------------------------------------------------------------
-//
-CLcService::CLcService()
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- }
-
-// ---------------------------------------------------------------------------
-// CLcService::~CLcService
-// ---------------------------------------------------------------------------
-//
-CLcService::~CLcService()
- {
- // C++ Destructor. Free all resources associated with this class.
-
- delete iImplementation;
- }
-
-// ---------------------------------------------------------------------------
-// CLcService* CLcService::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcService* CLcService::NewL()
- {
- CLcService* self = NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcService* CLcService::NewLC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcService* CLcService::NewLC()
- {
- // Symbian Two phased constructor. Leaves the object on the Clean-up
- // stack.
- CLcService* self =
- new ( ELeave )CLcService();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcService::ConstructL()
- {
- // Second phase of the two phase constructor.
-
- // Create the Location Centre API implementation
- iImplementation = CLcServiceImpl::NewL();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::LaunchLocationCentreL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLcService::LaunchLocationCentreL(
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode,
- MLcAppExitObserver* aChainedAppExitObserver )
- {
- // The Filter construction without any arguments will act as no filtering
- // applied on the list of Location based Applications and Contents/Services.
- TLcLocationAppFilter filter;
-
- iImplementation->LaunchLocationCentreL( filter,
- aLaunchMode,
- aChainedAppExitObserver );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::LaunchLocationCentreL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLcService::LaunchLocationCentreL(
- const TLcLocationAppFilter& aLocationAppFilter,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode,
- MLcAppExitObserver* aChainedAppExitObserver )
- {
- iImplementation->LaunchLocationCentreL( aLocationAppFilter,
- aLaunchMode,
- aChainedAppExitObserver );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::LaunchLocationCentreL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLcService::LaunchLocationCentreL(
- const RPointerArray<CLcLaunchParam>& aIncludeAppArray,
- MLcAppExitObserver* aChainedAppExitObserver )
- {
- iImplementation->LaunchLocationCentreL( aIncludeAppArray,
- aChainedAppExitObserver );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::LaunchLocationCentreL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLcService::LaunchLocationCentreL(
- const RArray<TPtrC>& aExcludeAppArray,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode,
- MLcAppExitObserver* aChainedAppExitObserver )
- {
- iImplementation->LaunchLocationCentreL( aExcludeAppArray,
- aLaunchMode,
- aChainedAppExitObserver );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::SelectLocationApplicationL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPtrC CLcService::SelectLocationApplicationL()
- {
- // The Filter construction without any arguments will act as no filtering
- // applied on the list of Location based Applications and Contents/Services.
- // coverity[var_decl : FALSE]
- TLcLocationAppFilter filter;
- // coverity[uninit_use_in_call : FALSE]
- return iImplementation->SelectLocationApplicationL( filter );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::SelectLocationApplicationL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPtrC CLcService::SelectLocationApplicationL(
- const TLcLocationAppFilter& aLocationAppFilter )
- {
- return iImplementation->SelectLocationApplicationL( aLocationAppFilter );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::SelectLocationApplicationL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPtrC CLcService::SelectLocationApplicationL(
- const RArray<TPtrC>& aAppArray,
- TBool aIncludeFlag )
- {
- return iImplementation->SelectLocationApplicationL( aAppArray,
- aIncludeFlag );
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfoArray* CLcService::GetLocationApplicationsL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcLocationAppInfoArray* CLcService::GetLocationApplicationsL()
- {
- // The Get Location Applications call is implemented as a Get Location
- // based Applications function which doesn't have any filtering. So, we
- // need to create an empty filter and pass it to this function.
-
- // The Filter construction without any arguments will act as no filtering
- // applied on the list of Location based Applications and Contents/Services.
- TLcLocationAppFilter filter;
- return iImplementation->GetLocationApplicationsL( filter );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::GetLocationApplications
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLcService::GetLocationApplications(
- TRequestStatus& aStatus,
- CLcLocationAppInfoArray*& aAppInfoArray )
- {
- TLcLocationAppFilter filter;
- iImplementation->GetLocationApplications( aStatus,
- filter,
- aAppInfoArray );
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfoArray* CLcService::GetLocationApplicationsL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcLocationAppInfoArray* CLcService::GetLocationApplicationsL(
- const TLcLocationAppFilter& aLocationAppFilter )
- {
- return iImplementation->GetLocationApplicationsL( aLocationAppFilter );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::GetLocationApplicationsL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLcService::GetLocationApplications(
- TRequestStatus& aStatus,
- const TLcLocationAppFilter& aLocationAppFilter,
- CLcLocationAppInfoArray*& aAppInfoArray )
- {
- iImplementation->GetLocationApplications( aStatus,
- aLocationAppFilter,
- aAppInfoArray );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::CancelGetLocationApplications
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLcService::CancelGetLocationApplications()
- {
- iImplementation->CancelGetLocationApplications();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::LaunchLocationApplicationL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLcService::LaunchLocationApplicationL(
- const TDesC& aAppIdentifier,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode,
- MLcAppExitObserver* aChainedAppExitObserver )
- {
- iImplementation->LaunchLocationApplicationL( aAppIdentifier,
- aLaunchMode,
- aChainedAppExitObserver );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcService::SetObserverL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLcService::SetObserverL( MLcNotification& aObserver )
- {
- iImplementation->SetObserverL( aObserver );
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLcService::RemoveObserver
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CLcService::RemoveObserver()
- {
- return iImplementation->RemoveObserver();
- }
-
-// End of File
-
--- a/locationcentre/lcservice/src/lcserviceimpl.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,647 +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: Location Centre API interface.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <s32mem.h>
-#include <AknsUtils.h>
-#include <gulicon.h>
-#include <aknlists.h>
-#include <aknPopup.h>
-#include <avkon.rsg>
-
-// USER INCLUDES
-#include "lcserviceimpl.h"
-#include "lclocationappfilter.h"
-#include "lcappexitobserver.h"
-#include "lcnotification.h"
-#include "lcapplauncher.h"
-#include "lcipcparams.h"
-#include "lcnotificationao.h"
-#include "lciconloader.h"
-#include "lcsyncoperation.h"
-#include "lcpopuplistbox.h"
-#include "lcdebug.h"
-
-// ----- Member funtions for CLcServiceImpl ---------------------------------
-
-// ---------------------------------------------------------------------------
-// CLcServiceImpl::CLcServiceImpl
-// ---------------------------------------------------------------------------
-//
-CLcServiceImpl::CLcServiceImpl()
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- }
-
-// ---------------------------------------------------------------------------
-// CLcServiceImpl::~CLcServiceImpl
-// ---------------------------------------------------------------------------
-//
-CLcServiceImpl::~CLcServiceImpl()
- {
- // C++ Destructor. Free all resources associated with this class.
- if ( iPopUp )
- {
- iPopUp->CancelPopup();
- }
-
- // Delele the Pop-up list
- delete iPopUpListBox;
-
- // Delete the Selected ID buffer
- delete iSelectedAppId;
-
- // Delete filter parameters
- delete iFilter;
-
- // Delete the Application information array
- iAppArray.Reset();
- iAppArray.Close();
-
- // Delete the Notification Active object
- delete iNotificationAO;
-
- // Delete the Application launcher
- delete iAppLauncher;
-
- // If there is an outstanding request then complete the same with KErrCancel.
- if ( iAsyncOperation )
- {
- iAsyncOperation->CancelGetLocationApplications();
- User::RequestComplete( iStatus, KErrCompletion );
-
- // We can now delete the asynchronous operation
- delete iAsyncOperation;
- iAsyncOperation = NULL;
- }
-
- // Close the session handle. The session handle is active throughout the
- // lifetime of this class
- iSession.Close();
-
- }
-
-// ---------------------------------------------------------------------------
-// CLcServiceImpl* CLcServiceImpl::NewL
-// ---------------------------------------------------------------------------
-//
-CLcServiceImpl* CLcServiceImpl::NewL()
- {
- CLcServiceImpl* self = NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcServiceImpl* CLcServiceImpl::NewLC
-// ---------------------------------------------------------------------------
-//
-CLcServiceImpl* CLcServiceImpl::NewLC()
- {
- // Symbian Two phased constructor. Leaves the object on the Clean-up
- // stack.
- CLcServiceImpl* self =
- new ( ELeave )CLcServiceImpl();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServiceImpl::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcServiceImpl::ConstructL()
- {
- // Second phase of the two phase constructor.
-
- // Open a connection to the Location Centre Server
- // The connection is opened at the class construction and Closed at the
- // class deletion. This is done inorder to avoid delays during every
- // operation
- User::LeaveIfError( iSession.CreateSession());
-
- // Create the Location application launcher.
- iAppLauncher = CLcAppLauncher::NewL();
-
- // Create the Notification AO
- iNotificationAO = CLcNotificationAO::NewL( *this, iSession );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServiceImpl::LaunchLocationCentreL
-// ---------------------------------------------------------------------------
-//
-void CLcServiceImpl::LaunchLocationCentreL(
- const TLcLocationAppFilter& aLocationAppFilter,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode,
- MLcAppExitObserver* aChainedAppExitObserver )
- {
- DEBUG("+ CLcServiceImpl::LaunchLocationCentreL")
- // First select a Location based Application from the list
- TPtrC identifier = SelectLocationApplicationL( aLocationAppFilter );
- if ( !identifier.Length())
- {
- return;
- }
-
- // Launch the corresponding application.
- LaunchLocationApplicationL( identifier, aLaunchMode, aChainedAppExitObserver );
- DEBUG("- CLcServiceImpl::LaunchLocationCentreL")
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServiceImpl::LaunchLocationCentreL
-// ---------------------------------------------------------------------------
-//
-void CLcServiceImpl::LaunchLocationCentreL(
- const RPointerArray<CLcService::CLcLaunchParam>& aIncludeAppArray,
- MLcAppExitObserver* aChainedAppExitObserver )
- {
- // Form an array of applications identifiers which can be passed to the
- // selection function
- RArray<TPtrC> appArray;
- CleanupClosePushL( appArray );
-
- TInt count = aIncludeAppArray.Count();
- for( TInt i = 0; i < count; i++ )
- {
- User::LeaveIfError( appArray.Append( aIncludeAppArray[i]->Id()));
- }
-
- // First select a Location based Application from the list
- TPtrC identifier = SelectLocationApplicationL( appArray, ETrue );
- if ( !identifier.Length())
- {
- return;
- }
-
- CLcLocationAppInfo::TLcLaunchMode launchmode = CLcLocationAppInfo::EDefaultMode;
- // Obtain the launch mode for that application
- for ( TInt i = 0; i < count; i++ )
- {
- if ( !appArray[i].Compare( identifier ))
- {
- launchmode = aIncludeAppArray[i]->LaunchMode();
- break;
- }
- }
-
- // Launch the corresponding application.
- LaunchLocationApplicationL( identifier, launchmode, aChainedAppExitObserver );
-
- // Pop and Destroy the application array
- CleanupStack::PopAndDestroy();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServiceImpl::LaunchLocationCentreL
-// ---------------------------------------------------------------------------
-//
-void CLcServiceImpl::LaunchLocationCentreL(
- const RArray<TPtrC>& aExcludeAppArray,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode,
- MLcAppExitObserver* aChainedAppExitObserver )
- {
- // First select a Location based Application from the list
- TPtrC identifier = SelectLocationApplicationL( aExcludeAppArray, EFalse );
- if ( !identifier.Length())
- {
- return;
- }
-
- // Launch the corresponding application.
- LaunchLocationApplicationL( identifier, aLaunchMode, aChainedAppExitObserver );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServiceImpl::SelectLocationApplicationL
-// ---------------------------------------------------------------------------
-//
-TPtrC CLcServiceImpl::SelectLocationApplicationL(
- const TLcLocationAppFilter& aLocationAppFilter )
- {
- // If the pop-up dialog is currently being displayed then cannot proceed with
- // the request.
- if ( iPopUp )
- {
- User::Leave( KErrInUse );
- }
-
- iPopupOutStanding = ELcPopupWithFiltering;
-
- // Delete any existing filter. This condition should never occur. Just a safe
- // check.
- delete iFilter;
- iFilter = NULL;
-
- // Copy the filter contents
- iFilter = new ( ELeave ) TLcLocationAppFilter( aLocationAppFilter );
-
- // Obtain the list of applications from the Location Centre Server and
- // launch the Location Centre pop-up with that list.
- CLcLocationAppInfoArray* array = GetLocationApplicationsL( aLocationAppFilter );
-
- // The ownership of the array is transferred.
- TPtrC appId(KNullDesC());
- TRAPD( error, appId.Set( SelectLocationApplicationL( array )));
-
- // Delete the filter before any operation on the result
- delete iFilter;
- iFilter = NULL;
-
- // Handle Error
- if ( error )
- {
- if ( iPopUp )
- {
- iPopUp->CancelPopup();
- }
- iPopUp = NULL;
-
- delete iPopUpListBox;
- iPopUpListBox = NULL;
-
- User::Leave( error );
- }
- return appId;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServiceImpl::SelectLocationApplicationL
-// ---------------------------------------------------------------------------
-//
-TPtrC CLcServiceImpl::SelectLocationApplicationL(
- const RArray<TPtrC>& aAppArray,
- TBool aIncludeFlag )
- {
- // If the pop-up dialog is currently being displayed then cannot proceed with
- // the request.
- if ( iPopUp )
- {
- User::Leave( KErrInUse );
- }
-
- // Reset and Destroy the existing array.
- iAppArray.Reset();
-
- if ( aIncludeFlag )
- {
- iPopupOutStanding = ELcPopupWithSpecifiedApps;
- }
- else
- {
- iPopupOutStanding = ELcPopupWithoutSpecifedApps;
- }
-
- // Create the array with the new elements
- TInt count = aAppArray.Count();
- for ( TInt i = 0; i < count; i++ )
- {
- User::LeaveIfError( iAppArray.Append( aAppArray[i] ));
- }
-
- // Obtain the list of applications from the Location Centre Server and
- // launch the Location Centre pop-up with that list.
- CLcLocationAppInfoArray* array =
- LcSyncOperation::GetLocationApplicationsL( iSession,
- aAppArray,
- aIncludeFlag );
-
- // The ownership of the array is transferred.
- TPtrC appId(KNullDesC());
- TRAPD( error, appId.Set( SelectLocationApplicationL( array )));
-
- // Reset and destroy the array
- iAppArray.Reset();
-
- // Handle Error
- if ( error )
- {
- if ( iPopUp )
- {
- iPopUp->CancelPopup();
- }
- iPopUp = NULL;
-
- delete iPopUpListBox;
- iPopUpListBox = NULL;
-
- User::Leave( error );
- }
- return appId;
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfoArray* CLcServiceImpl::GetLocationApplicationsL
-// ---------------------------------------------------------------------------
-//
-CLcLocationAppInfoArray* CLcServiceImpl::GetLocationApplicationsL(
- const TLcLocationAppFilter& aLocationAppFilter )
- {
- return LcSyncOperation::GetLocationApplicationsL( iSession,
- aLocationAppFilter );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServiceImpl::GetLocationApplicationsL
-// ---------------------------------------------------------------------------
-//
-void CLcServiceImpl::GetLocationApplications(
- TRequestStatus& aStatus,
- const TLcLocationAppFilter& aLocationAppFilter,
- CLcLocationAppInfoArray*& aAppInfoArray)
- {
- TRAPD( error, GetLocationApplicationsL( aStatus,
- aLocationAppFilter,
- aAppInfoArray ));
- if ( error )
- {
- TRequestStatus* status = &aStatus;
- User::RequestComplete( status , error );
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServiceImpl::CancelGetLocationApplications
-// ---------------------------------------------------------------------------
-//
-void CLcServiceImpl::CancelGetLocationApplications()
- {
- // If there is an outstanding request then complete the same with KErrCancel.
- if ( iAsyncOperation )
- {
- iAsyncOperation->CancelGetLocationApplications();
- User::RequestComplete( iStatus, KErrCancel );
-
- // We can now delete the asynchronous operation
- delete iAsyncOperation;
- iAsyncOperation = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServiceImpl::LaunchLocationApplicationL
-// ---------------------------------------------------------------------------
-//
-void CLcServiceImpl::LaunchLocationApplicationL(
- const TDesC& aAppIdentifier,
- CLcLocationAppInfo::TLcLaunchMode aLaunchMode,
- MLcAppExitObserver* aChainedAppExitObserver )
- {
- DEBUG("+ CLcServiceImpl::LaunchLocationApplicationL" )
-
- // Obtain the Location Application Information from Location Centre Server.
- CLcBasicAppInfo* appInfo =
- LcSyncOperation::GetLocationAppInfoL( iSession, aAppIdentifier );
- CleanupStack::PushL( appInfo );
-
- // Resolve the model in which the Application must be launched.
- if ( aLaunchMode == CLcLocationAppInfo::EDefaultMode )
- {
- // Since this is a Local copy we can use the same for handling
- // Launch mode changes.
- aLaunchMode =
- static_cast<CLcLocationAppInfo::TLcLaunchMode>( appInfo->LaunchMode());
- }
-
- // Now Launch the Location based Application or Content/Service
- iAppLauncher->LaunchLocationApplicationL(
- appInfo->ApplicationType(),
- appInfo->ApplicationData(),
- ( aLaunchMode == CLcLocationAppInfo::EStandAloneMode ) ? ETrue : EFalse,
- appInfo->CommandLineParamters(),
- aChainedAppExitObserver );
-
- CleanupStack::PopAndDestroy( appInfo );
-
- DEBUG("- CLcServiceImpl::LaunchLocationApplicationL" )
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServiceImpl::SetObserverL
-// ---------------------------------------------------------------------------
-//
-void CLcServiceImpl::SetObserverL( MLcNotification& aObserver )
- {
- if ( iObserver )
- {
- User::Leave( KErrAlreadyExists );
- }
-
- iObserver = &aObserver;
-
- iNotificationAO->IssueRequest();
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLcServiceImpl::RemoveObserver
-// ---------------------------------------------------------------------------
-//
-TInt CLcServiceImpl::RemoveObserver()
- {
- if ( !iObserver )
- {
- return KErrNotFound;
- }
-
- iObserver = NULL;
-
- // If there is a popup outstanding then do nothing. If not remove the
- // notification
- if ( !iPopUp )
- {
- iNotificationAO->CancelRequest();
- }
-
- return KErrNone;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServiceImpl::LcStatusChangedL
-// ---------------------------------------------------------------------------
-//
-void CLcServiceImpl::LcStatusChangedL( TInt aErrorCode )
- {
- // If we are displaying the pop-up then we need to transfer the changes
- // to the pop-up first
- if ( iPopUp )
- {
- // Obtain the new list of applications from the Location Centre Server and
- // update the Location Centre pop-up with that list.
- CLcLocationAppInfoArray* array = NULL;
- TInt error = KErrNone;
-
- switch( iPopupOutStanding )
- {
- case ELcPopupWithFiltering:
- {
- // Incase we face any errors in retrival then we can Ignore the
- // updations
- TRAP( error, array = GetLocationApplicationsL( *iFilter ));
- break;
- }
- case ELcPopupWithSpecifiedApps:
- case ELcPopupWithoutSpecifedApps:
- {
- TBool includeflag = EFalse;
- if ( iPopupOutStanding == ELcPopupWithSpecifiedApps )
- {
- includeflag = ETrue;
- }
-
- // Incase we face any errors in retrival then we can Ignore the
- // updations
- TRAP( error, array = LcSyncOperation::GetLocationApplicationsL(
- iSession, iAppArray, includeflag ));
- break;
- }
- default:
- {
- break;
- }
- }
-
- if ( !error && array )
- {
- // The ownership of the array is transferred to the list box.
- TRAP_IGNORE( CleanupStack::PushL( array );
- iPopUpListBox->UpdateListBoxL( array );
- CleanupStack::Pop( array );
- );
- }
- else if ( KErrNotFound == error )
- {
- if ( iPopUp )
- {
- iPopUp->CancelPopup();
- }
- iPopUp = NULL;
-
- delete iPopUpListBox;
- iPopUpListBox = NULL;
- }
- }
-
- // Notify the client regarding the changes to Location Centre Registry
- if ( iObserver )
- {
- iObserver->LcStatusChangedL( aErrorCode );
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServiceImpl::OperationComplete
-// ---------------------------------------------------------------------------
-//
-void CLcServiceImpl::OperationComplete( TInt aError )
- {
- User::RequestComplete( iStatus, aError );
-
- // We can now delete the asynchronous operation
- delete iAsyncOperation;
- iAsyncOperation = NULL;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServiceImpl::GetLocationApplicationsL
-// ---------------------------------------------------------------------------
-//
-void CLcServiceImpl::GetLocationApplicationsL(
- TRequestStatus& aStatus,
- const TLcLocationAppFilter& aLocationAppFilter,
- CLcLocationAppInfoArray*& aAppInfoArray )
- {
- aStatus = KRequestPending;
-
- // If there is an asynchronous operation then leave with KErrInUse
- if ( iAsyncOperation )
- {
- User::Leave( KErrInUse );
- }
-
- // Create the Asynchronous Operations class
- iAsyncOperation = CLcAsyncOperation::NewL( iSession, *this );
-
- // Set the status to KRequestPending
- aStatus = KRequestPending;
- iStatus = &aStatus;
-
- // Issue the request to the ASP
- iAsyncOperation->GetLocationApplicationsL( aLocationAppFilter,
- aAppInfoArray );
- }
-
-// ---------------------------------------------------------------------------
-// void CLcServiceImpl::SelectLocationApplicationL
-// ---------------------------------------------------------------------------
-//
-TPtrC CLcServiceImpl::SelectLocationApplicationL(
- CLcLocationAppInfoArray* aAppInfoArray )
- {
- // The App Info arrays ownership is tranferred to the List. So push it
- // to the Cleanup stack until the ownership is completely transferred.
- CleanupStack::PushL( aAppInfoArray );
-
- iPopUpListBox = new ( ELeave ) CLcPopupListBox( aAppInfoArray );
- CleanupStack::Pop( aAppInfoArray );
-
- // Construct the popup with the list
- iPopUp = CAknPopupList::NewL( iPopUpListBox,
- R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT,
- AknPopupLayouts::EMenuGraphicWindow );
- iPopUpListBox->ConstructL( iPopUp );
- // iPopUp->SetBorder( AknBorderId::EAknBorderMenuPopup );
-
- // Set up notification events
- iNotificationAO->IssueRequest();
-
- // Display the pop-up and let user selection.
- TInt popupOk = iPopUp->ExecuteLD();
- iPopUp = NULL;
-
- // Only we are observing for notifications. We dont need it anymore
- // Cancel it
- if ( !iObserver )
- {
- iNotificationAO->CancelRequest();
- }
-
- if ( popupOk )
- {
- delete iSelectedAppId;
- iSelectedAppId = NULL;
-
- iSelectedAppId = iPopUpListBox->AppInfoId().AllocL();
-
- delete iPopUpListBox;
- iPopUpListBox = NULL;
-
- return *iSelectedAppId;
- }
- else
- {
- delete iPopUpListBox;
- iPopUpListBox = NULL;
-
- return TPtrC();
- }
- }
-
-// End of File
--- a/locationcentre/lcservice/src/lcsyncoperation.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,544 +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: Handles all the Synchronous operations with the Location
-* Centre Client Session
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <s32mem.h>
-
-// USER INCLUDES
-#include "lcsyncoperation.h"
-#include "lcclientsession.h"
-#include "lcipcparams.h"
-#include "lcdebug.h"
-
-// CONSTANT DEFINTIONS
-const TInt KLcLengthofInteger = 4;
-
-// ----- Member funtions for LcSyncOperation ---------------------------------
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfoArray* CLcServiceImpl::GetLocationApplicationsL
-// ---------------------------------------------------------------------------
-//
-CLcLocationAppInfoArray* LcSyncOperation::GetLocationApplicationsL(
- RLcClientSession& aSession,
- const TLcLocationAppFilter& aLocationAppFilter )
- {
- DEBUG("+ LcSyncOperation::GetLocationApplicationsL")
- DEBUG("Filtering")
-
- // This function needs to obtain a list of all applications. This would
- // first require to obtain the length of the buffer that needs to be
- // passed from the client to the server to pack the array.
- CBufFlat* lengthBuf = CBufFlat::NewL( KLcLengthofInteger );
- CleanupStack::PushL( lengthBuf );
-
- // Set the size of this buffer to 4. This is required because we dont
- // actually fill this buffer but expect the server to fill it. In that case
- // if we dont set the expected length, the server would fail with
- // KrrBadDescriptor.
- lengthBuf->ResizeL( KLcLengthofInteger );
-
- // Fill the IPC argument structure with the Length buffer, the server
- // will write the data onto this buffer.
- TIpcArgs args;
-
- // Pass the filter parameters to the Location Centre Server
- TPckg< TLcLocationAppFilter > filterBuffer( aLocationAppFilter );
-
- // By the IPC exchange parameter defintion, this must be the first
- // argument to the IPC message.
- args.Set( 0, &filterBuffer );
-
- // Set the buffer pointer to the start of the Length buffer
- TPtr8 bufPtr( const_cast< TUint8 *>( lengthBuf->Ptr( 0 ).Ptr()),
- 0,
- KLcLengthofInteger );
-
- // This will be the second argument passed to this IPC message.
- args.Set( 1, &bufPtr);
-
- // Send a synchrnous message to the server to obtain the length. On return the
- // server is expected to pack the length of the Application information
- // arrays in the LengthBuffer pointer.
- User::LeaveIfError( aSession.SendReceive( ELcFilteredAppsBufferLength, args ));
-
- // If the server has not set the buffer then leave with KErrNotFound
- if ( !bufPtr.Length())
- {
- User::Leave( KErrNotFound );
- }
-
- // Obtain the length from the Length buffer;
- RBufReadStream readStream( *lengthBuf, 0 );
- CleanupClosePushL( readStream );
- TUint length = readStream.ReadInt32L();
- CleanupStack::PopAndDestroy( 2, lengthBuf ); // readStream
-
- // If the server has returned a length of 0, then there are no applications
- // registered with Location Centre.
- if ( !length )
- {
- User::Leave( KErrNotFound );
- }
-
- // Now that the length has been obtained. Allocate the descriptor
- // of suitable length and send it across to the server.
- CBufFlat* appInfoBuf = CBufFlat::NewL( length );
- CleanupStack::PushL( appInfoBuf );
-
- // Set the actual size to 'length' obtained in the previous IPC. This is required
- // because we dont actually fill this buffer but expect the server to fill it.
- // In that case if we dont set the expected length, the server would fail with
- // KrrBadDescriptor.
- appInfoBuf->ResizeL( length );
-
- // Fill the IPC argument structure with the Application info buffer, the server
- // will write the data onto this buffer.
-
- // Pass the filter parameters to the Location Centre Server
- // By the IPC exchange parameter defintion, this must be the first
- // argument to the IPC message.
- args.Set( 0, &filterBuffer );
-
- // Set the buffer pointer to the start of the Length buffer
- bufPtr.Set( const_cast< TUint8 *>( appInfoBuf->Ptr( 0 ).Ptr()),
- 0,
- length );
-
- // This will be the second argument passed to this IPC message.
- args.Set( 1, &bufPtr);
-
- // Send a synchrnous message to the server to obtain the length. On return the
- // server is expected to pack the length of the Application information
- // arrays in the LengthBuffer pointer.
- TInt error = aSession.SendReceive( ELcFilteredApps, args );
-
- // If the Retrieval function completes with KErrOverflow then there has been
- // an update to the registry since the time we obtained the length.
- if ( KErrOverflow == error )
- {
- // Cleanup the current state and Re-issue the same request again
- CleanupStack::PopAndDestroy( appInfoBuf );
- return GetLocationApplicationsL( aSession, aLocationAppFilter );
- }
- else if( error )
- {
- User::Leave( error );
- }
-
- // If the server has not set the buffer then leave with KErrNotFound
- if ( !bufPtr.Length())
- {
- User::Leave( KErrNotFound );
- }
-
- // Parse the Application information array to obtain the array
- RBufReadStream appReadStream( *appInfoBuf, 0 );
- CleanupClosePushL( appReadStream );
-
- CLcLocationAppInfoArray* array = ParseLocAppBufferL( appReadStream );
-
- CleanupStack::PopAndDestroy( 2, appInfoBuf ); // appReadStream
-
- DEBUG("- LcSyncOperation::GetLocationApplicationsL")
-
- return array;
-
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfoArray* LcSyncOperation::GetLocationApplicationsL
-// ---------------------------------------------------------------------------
-//
-CLcLocationAppInfoArray* LcSyncOperation::GetLocationApplicationsL(
- RLcClientSession& aSession,
- const RArray<TPtrC>& aAppArray,
- TBool aIncludeFlag )
- {
-
- // Obtain the array of Application Identifiers in a buffer
- RLcIpcAppIdArray idArray;
- CleanupStack::PushL( TCleanupItem( RLcIpcAppIdArray::ResetAndDestroyIdArray, &idArray ));
-
- // Append all the identifiers to the Array
- for ( TInt i = 0; i < aAppArray.Count(); i++ )
- {
- // Create a new element
- HBufC* newElement = HBufC::NewLC( aAppArray[i].Length());
-
- // Copy the contents to the buffer and append it to the array
- newElement->Des().Copy( aAppArray[i] );
- User::LeaveIfError( idArray.Append( newElement ));
-
- // Now that the ownership is transferred, the content can be removed from
- // the Cleanup stack
- CleanupStack::Pop();
- }
-
- // Create the buffer for packing the Application Information
- // structure and pack the contents into this buffer
- CBufFlat* buffer = CBufFlat::NewL( idArray.BufferLength());
- CleanupStack::PushL( buffer );
-
- RBufWriteStream writeStream( *buffer, 0 );
- CleanupClosePushL( writeStream );
- idArray.ExternalizeL( writeStream );
- CleanupStack::PopAndDestroy(); // writeStream
-
- // This needs to be popped inorder to Close the idArray;
- CleanupStack::Pop( 2 ); // buffer, idArray
- idArray.ResetAndDestroy();
- idArray.Close();
-
- // Now reinsert the App buffer back into the Cleanupstack
- CleanupStack::PushL( buffer );
-
- // This function needs to obtain a list of all applications. This would
- // first require to obtain the length of the buffer that needs to be
- // passed from the client to the server to pack the array.
-
- TIpcArgs args;
-
- // First pack the application id array to the IPC args
- // By the IPC exchange parameter defintion, this must be the first
- // argument to the IPC message.
- TPtr8 appArrayPtr( buffer->Ptr(0));
-
- args.Set( 0, &appArrayPtr );
-
- // The second argument is the Include flag
- args.Set( 1, aIncludeFlag );
-
- CBufFlat* lengthBuf = CBufFlat::NewL( KLcLengthofInteger );
- CleanupStack::PushL( lengthBuf );
-
- // Set the size of this buffer to 4. This is required because we dont
- // actually fill this buffer but expect the server to fill it. In that case
- // if we dont set the expected length, the server would fail with
- // KrrBadDescriptor.
- lengthBuf->ResizeL( KLcLengthofInteger );
-
- // Set the buffer pointer to the start of the Length buffer
- TPtr8 bufPtr( const_cast< TUint8 *>( lengthBuf->Ptr( 0 ).Ptr()),
- 0,
- KLcLengthofInteger );
-
- // This will be the third argument passed to this IPC message.
- args.Set( 2, &bufPtr);
-
- // Send a synchrnous message to the server to obtain the length. On return the
- // server is expected to pack the length of the Application information
- // arrays in the LengthBuffer pointer.
- User::LeaveIfError( aSession.SendReceive( ELcSpecifiedAppsBufferLength, args ));
-
- // If the server has not set the buffer then leave with KErrNotFound
- if ( !bufPtr.Length())
- {
- User::Leave( KErrNotFound );
- }
-
- // Obtain the length from the Length buffer;
- RBufReadStream readStream( *lengthBuf, 0 );
- CleanupClosePushL( readStream );
- TUint length = readStream.ReadInt32L();
- CleanupStack::PopAndDestroy( 2, lengthBuf ); // readStream
-
- // If the server has returned a length of 0, then there are no applications
- // registered with Location Centre.
- if ( !length )
- {
- User::Leave( KErrNotFound );
- }
-
- // Now that the length has been obtained. Allocate the descriptor
- // of suitable length and send it across to the server.
- CBufFlat* appInfoBuf = CBufFlat::NewL( length );
- CleanupStack::PushL( appInfoBuf );
-
- // Set the actual size to 'length' obtained in the previous IPC. This is required
- // because we dont actually fill this buffer but expect the server to fill it.
- // In that case if we dont set the expected length, the server would fail with
- // KrrBadDescriptor.
- appInfoBuf->ResizeL( length );
-
- // Fill the IPC argument structure with the Application info buffer, the server
- // will write the data onto this buffer.
-
- // Pass the Application ids to the Location Centre Server
- // By the IPC exchange parameter defintion, this must be the first
- // argument to the IPC message.
- args.Set( 0, &appArrayPtr );
-
- // The second argument is the Include flag
- args.Set( 1, aIncludeFlag );
-
- // Set the buffer pointer to the start of the Length buffer
- bufPtr.Set( const_cast< TUint8 *>( appInfoBuf->Ptr( 0 ).Ptr()),
- 0,
- length );
-
- // This will be the third argument passed to this IPC message.
- args.Set( 2, &bufPtr);
-
- // Send a synchrnous message to the server to obtain the length. On return the
- // server is expected to pack the length of the Application information
- // arrays in the LengthBuffer pointer.
- TInt error = aSession.SendReceive( ELcSpecifiedApps, args );
-
- // If the Retrieval function completes with KErrOverflow then there has been
- // an update to the registry since the time we obtained the length.
- if ( KErrOverflow == error )
- {
- // Cleanup the current state and Re-issue the same request again
- CleanupStack::PopAndDestroy( 2, buffer );
- return GetLocationApplicationsL( aSession, aAppArray, aIncludeFlag );
- }
- else if( error )
- {
- User::Leave( error );
- }
-
-
- // If the server has not set the buffer then leave with KErrNotFound
- if ( !bufPtr.Length())
- {
- User::Leave( KErrNotFound );
- }
-
- // Parse the Application information array to obtain the array
- RBufReadStream appReadStream( *appInfoBuf, 0 );
- CleanupClosePushL( appReadStream );
-
- CLcLocationAppInfoArray* array = LcSyncOperation::ParseLocAppBufferL( appReadStream );
-
- CleanupStack::PopAndDestroy( 3, buffer ); // idArray, appInfoBuf and buffer
-
- return array;
- }
-
-// ---------------------------------------------------------------------------
-// CLcBasicAppInfo* LcSyncOperation::GetLocationAppInfoL
-// ---------------------------------------------------------------------------
-//
-CLcBasicAppInfo* LcSyncOperation::GetLocationAppInfoL(
- RLcClientSession& aSession,
- const TDesC& aIdentifier )
- {
- // This function needs to obtain the Length of the buffer which needs to be
- // passed to the Server to pack the Location Application Information.
- CBufFlat* lengthBuf = CBufFlat::NewL( KLcLengthofInteger );
- CleanupStack::PushL( lengthBuf );
-
- // Set the size of this buffer to 4. This is required because we dont
- // actually fill this buffer but expect the server to fill it. In that case
- // if we dont set the expected length, the server would fail with
- // KrrBadDescriptor.
- lengthBuf->ResizeL( KLcLengthofInteger );
-
- // Fill the IPC argument structure with the Length buffer, the server
- // will write the data onto this buffer.
- TIpcArgs args;
-
- // By the IPC exchange parameter defintion, the first argument must the
- // Identifier name
- args.Set( 0, &aIdentifier );
-
- // Set the buffer pointer to the start of the Length buffer
- TPtr8 bufPtr( const_cast< TUint8 *>( lengthBuf->Ptr( 0 ).Ptr()),
- 0,
- KLcLengthofInteger );
-
- // This will be the second argument passed to this IPC message.
- args.Set( 1, &bufPtr);
-
- // Send a synchrnous message to the server to obtain the length. On return the
- // server is expected to pack the length of the Application information
- // arrays in the LengthBuffer pointer.
- User::LeaveIfError( aSession.SendReceive( ELcAppInfoLength, args ));
-
- // If the server has not set the buffer then leave with KErrNotFound
- if ( !bufPtr.Length())
- {
- User::Leave( KErrNotFound );
- }
-
- // Obtain the length from the Length buffer;
- RBufReadStream readStream( *lengthBuf, 0 );
- CleanupClosePushL( readStream );
- TUint length = readStream.ReadInt32L();
- CleanupStack::PopAndDestroy( 2, lengthBuf ); // readStream
-
- // If the server has returned a length of 0, then there are no applications
- // registered with Location Centre.
- if ( !length )
- {
- User::Leave( KErrNotFound );
- }
-
- // Now that the length has been obtained. Allocate the descriptor
- // of suitable length and send it across to the server.
- CBufFlat* appInfoBuf = CBufFlat::NewL( length );
- CleanupStack::PushL( appInfoBuf );
-
- // Set the actual size to 'length' obtained in the previous IPC. This is required
- // because we dont actually fill this buffer but expect the server to fill it.
- // In that case if we dont set the expected length, the server would fail with
- // KrrBadDescriptor.
- appInfoBuf->ResizeL( length );
-
- // Fill the IPC argument structure with the Application info buffer, the server
- // will write the data onto this buffer.
-
- // Pass the Application Identifier to the Location Centre Server
- // By the IPC exchange parameter defintion, this must be the first
- // argument to the IPC message.
- args.Set( 0, &aIdentifier );
-
- // Set the buffer pointer to the start of the Length buffer
- bufPtr.Set( const_cast< TUint8 *>( appInfoBuf->Ptr( 0 ).Ptr()),
- 0,
- length );
-
- // This will be the second argument passed to this IPC message.
- args.Set( 1, &bufPtr);
-
- // Send a synchrnous message to the server to obtain the length. On return the
- // server is expected to pack the length of the Application information
- // in the buffer pointer.
- TInt error = aSession.SendReceive( ELcAppInfo, args );
-
- // If the Retrieval function completes with KErrOverflow then there has been
- // an update to the registry since the time we obtained the length.
- if ( KErrOverflow == error )
- {
- // Cleanup the current state and Re-issue the same request again
- CleanupStack::PopAndDestroy( appInfoBuf );
- return GetLocationAppInfoL( aSession, aIdentifier );
- }
- else if( error )
- {
- User::Leave( error );
- }
-
- // If the server has not set the buffer then leave with KErrNotFound
- if ( !bufPtr.Length())
- {
- User::Leave( KErrNotFound );
- }
-
- // Parse the Application information structure to obtain the Application
- // information structure
- RBufReadStream appReadStream( *appInfoBuf, 0 );
- CleanupClosePushL( appReadStream );
-
- CLcBasicAppInfo* appInfo = CLcBasicAppInfo::NewLC();
- appInfo->InternalizeL( appReadStream );
- CleanupStack::Pop( appInfo );
-
- CleanupStack::PopAndDestroy( 2, appInfoBuf ); // appReadStream
-
- return appInfo;
- }
-
-// ---------------------------------------------------------------------------
-// CLcLocationAppInfoArray* LcSyncOperation::ParseLocAppBufferL
-// ---------------------------------------------------------------------------
-//
-CLcLocationAppInfoArray* LcSyncOperation::ParseLocAppBufferL(
- RReadStream& aReadStream )
- {
- DEBUG("+ LcSyncOperation::ParseLocAppBufferL")
-
- CLcLocationAppInfoArray* appArray = CLcLocationAppInfoArray::NewLC();
-
- // Parse the contents into RLcIpcAppInfoArray type.
- RLcIpcAppInfoArray ipcArray;
- CleanupStack::PushL( TCleanupItem( RLcIpcAppInfoArray::ResetAndDestroyAppArray, &ipcArray ));
-
- // Internalize the array onto the ipcArray structure.
- ipcArray.InternalizeL( aReadStream );
-
- // Pack the Application info array
- for ( TInt i = 0; i < ipcArray.Count(); i++ )
- {
-
- // Form the Application information object corresponding to
- // this ipcAppInfo.
-
- // Create a new Application Information object. This object will
- // be populated and the appended to the appArray.
- CLcLocationAppInfo* appInfo = CLcLocationAppInfo::NewLC();
-
- // Set the Unique identifer for the application
- appInfo->SetIdL( ipcArray[i]->Id());
-
- // Set the display name of the application
- appInfo->SetNameL( ipcArray[i]->Name());
-
- // Set the Launch Mode for the application
- // There is no need to check the launch mode and compare it with
- // the values of TLcLaunchMode. Internally its ensured that the
- // server would only set the parameter based in TLcLaunchMode.
- appInfo->SetLaunchMode( static_cast<CLcLocationAppInfo::
- TLcLaunchMode>( ipcArray[i]->LaunchMode()));
-
- // Set the Application characteristics
- appInfo->SetApplicationCharacteristics(
- ipcArray[i]->ApplicationCharacteristics());
-
- // Set the system characteristics
- appInfo->SetSystemCharacteristics( ipcArray[i]->SystemCharacteristics());
-
- // Load the application Icon Related Data
- if ( ipcArray[i]->IconFile().Compare( KNullDesC ))
- {
- // The Icon file name is specified. So Load the icons from the
- // Icon file. So we can set these values for the Icon file.
- appInfo->SetIconL( ipcArray[i]->IconFileType(),
- ipcArray[i]->IconFile(),
- ipcArray[i]->FrameNo());
- }
- else if ( ipcArray[i]->ApplicationType() == ELcNativeApplication )
- {
- // Only native applications are handled here.
- // Here we have to pass the Application UID as the Icon data since
- // the Icon will be loaded from the App shell
- appInfo->SetIconL( ipcArray[i]->IconFileType(),
- ipcArray[i]->ApplicationData());
- }
-
- appArray->AppendL( appInfo );
- CleanupStack::Pop( appInfo );
- }
- CleanupStack::PopAndDestroy(); // ipcArray
-
- // If there are no elements in the array then that means that there
- // are no applications registered with LC. So leave with KErrNotFound
- if ( !appArray->Count())
- {
- User::Leave( KErrNotFound );
- }
-
- CleanupStack::Pop( appArray );
-
- DEBUG("- LcSyncOperation::ParseLocAppBufferL")
-
- return appArray;
- }
-// End of File
--- a/locationcentre/lcutils/bwins/lcutilsu.def Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-EXPORTS
- ?BufferLength@CLcAppInfo@@QAEHXZ @ 1 NONAME ; int CLcAppInfo::BufferLength(void)
- ?BufferLength@CLcBasicAppInfo@@QAEHXZ @ 2 NONAME ; int CLcBasicAppInfo::BufferLength(void)
- ?BufferLength@RLcIpcAppIdArray@@QAEHXZ @ 3 NONAME ; int RLcIpcAppIdArray::BufferLength(void)
- ?BufferLength@RLcIpcAppInfoArray@@QAEHXZ @ 4 NONAME ; int RLcIpcAppInfoArray::BufferLength(void)
- ?ExternalizeL@CLcBasicAppInfo@@QAEXAAVRWriteStream@@@Z @ 5 NONAME ; void CLcBasicAppInfo::ExternalizeL(class RWriteStream &)
- ?ExternalizeL@RLcIpcAppIdArray@@QAEXAAVRWriteStream@@@Z @ 6 NONAME ; void RLcIpcAppIdArray::ExternalizeL(class RWriteStream &)
- ?ExternalizeL@RLcIpcAppInfoArray@@QAEXAAVRWriteStream@@@Z @ 7 NONAME ; void RLcIpcAppInfoArray::ExternalizeL(class RWriteStream &)
- ?InternalizeL@CLcBasicAppInfo@@QAEXAAVRReadStream@@@Z @ 8 NONAME ; void CLcBasicAppInfo::InternalizeL(class RReadStream &)
- ?InternalizeL@RLcIpcAppIdArray@@QAEXAAVRReadStream@@@Z @ 9 NONAME ; void RLcIpcAppIdArray::InternalizeL(class RReadStream &)
- ?InternalizeL@RLcIpcAppInfoArray@@QAEXAAVRReadStream@@@Z @ 10 NONAME ; void RLcIpcAppInfoArray::InternalizeL(class RReadStream &)
- ?LaunchLocationApplicationL@CLcAppLauncher@@QAEXHABVTDesC16@@H0PAVMLcAppExitObserver@@@Z @ 11 NONAME ; void CLcAppLauncher::LaunchLocationApplicationL(int, class TDesC16 const &, int, class TDesC16 const &, class MLcAppExitObserver *)
- ?LoadApplicationIconL@LcIconLoader@@SAPAVCGulIcon@@VTUid@@@Z @ 12 NONAME ; class CGulIcon * LcIconLoader::LoadApplicationIconL(class TUid)
- ?LoadDefaultIconL@LcIconLoader@@SAPAVCGulIcon@@XZ @ 13 NONAME ; class CGulIcon * LcIconLoader::LoadDefaultIconL(void)
- ?LoadMifFileIconL@LcIconLoader@@SAPAVCGulIcon@@ABVTDesC16@@H@Z @ 14 NONAME ; class CGulIcon * LcIconLoader::LoadMifFileIconL(class TDesC16 const &, int)
- ?NewL@CLcAppLauncher@@SAPAV1@XZ @ 15 NONAME ; class CLcAppLauncher * CLcAppLauncher::NewL(void)
- ?NewLC@CLcAppLauncher@@SAPAV1@XZ @ 16 NONAME ; class CLcAppLauncher * CLcAppLauncher::NewLC(void)
- ?ResetAndDestroyAppArray@RLcIpcAppInfoArray@@SAXPAX@Z @ 17 NONAME ; void RLcIpcAppInfoArray::ResetAndDestroyAppArray(void *)
- ?ResetAndDestroyIdArray@RLcIpcAppIdArray@@SAXPAX@Z @ 18 NONAME ; void RLcIpcAppIdArray::ResetAndDestroyIdArray(void *)
- ?Debug@@YAXV?$TRefByValue@$$CBVTDesC16@@@@ZZ @ 19 NONAME ; void Debug(class TRefByValue<class TDesC16 const >, ...)
-
--- a/locationcentre/lcutils/eabi/lcutilsu.def Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-EXPORTS
- _ZN10CLcAppInfo12BufferLengthEv @ 1 NONAME
- _ZN12LcIconLoader16LoadDefaultIconLEv @ 2 NONAME
- _ZN12LcIconLoader16LoadMifFileIconLERK7TDesC16i @ 3 NONAME
- _ZN12LcIconLoader20LoadApplicationIconLE4TUid @ 4 NONAME
- _ZN14CLcAppLauncher26LaunchLocationApplicationLEiRK7TDesC16iS2_P18MLcAppExitObserver @ 5 NONAME
- _ZN14CLcAppLauncher4NewLEv @ 6 NONAME
- _ZN14CLcAppLauncher5NewLCEv @ 7 NONAME
- _ZN15CLcBasicAppInfo12BufferLengthEv @ 8 NONAME
- _ZN15CLcBasicAppInfo12ExternalizeLER12RWriteStream @ 9 NONAME
- _ZN15CLcBasicAppInfo12InternalizeLER11RReadStream @ 10 NONAME
- _ZN16RLcIpcAppIdArray12BufferLengthEv @ 11 NONAME
- _ZN16RLcIpcAppIdArray12ExternalizeLER12RWriteStream @ 12 NONAME
- _ZN16RLcIpcAppIdArray12InternalizeLER11RReadStream @ 13 NONAME
- _ZN16RLcIpcAppIdArray22ResetAndDestroyIdArrayEPv @ 14 NONAME
- _ZN18RLcIpcAppInfoArray12BufferLengthEv @ 15 NONAME
- _ZN18RLcIpcAppInfoArray12ExternalizeLER12RWriteStream @ 16 NONAME
- _ZN18RLcIpcAppInfoArray12InternalizeLER11RReadStream @ 17 NONAME
- _ZN18RLcIpcAppInfoArray23ResetAndDestroyAppArrayEPv @ 18 NONAME
- _ZTI14CLcAppLauncher @ 19 NONAME ; #<TI>#
- _ZTI19CLcLaunchAppService @ 20 NONAME ; #<TI>#
- _ZTI19RLcLaunchAppService @ 21 NONAME ; #<TI>#
- _ZTV14CLcAppLauncher @ 22 NONAME ; #<VT>#
- _ZTV19CLcLaunchAppService @ 23 NONAME ; #<VT>#
- _ZTV19RLcLaunchAppService @ 24 NONAME ; #<VT>#
- _Z5Debug11TRefByValueIK7TDesC16Ez @ 25 NONAME
-
--- a/locationcentre/lcutils/group/bld.inf Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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: Build information file for project Location Centre Utils.
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// Location Centre Utility Headers
-../inc/lcapplauncher.h |../../../../inc/lcapplauncher.h
-../inc/lcipcparams.h |../../../../inc/lcipcparams.h
-../inc/lcipcparams.inl |../../../../inc/lcipcparams.inl
-../inc/lciconloader.h |../../../../inc/lciconloader.h
-../inc/lcdebug.h |../../../../inc/lcdebug.h
-
-PRJ_MMPFILES
-
-// Location Centre Utils Project defintion file.
-lcutils.mmp
-
-PRJ_TESTMMPFILES
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE lcicons.mif
-OPTION HEADERFILE lcicons.mbg
-OPTION SOURCES -c8,8 qgn_menu_am_sis.svg
-END
-// End of File
--- a/locationcentre/lcutils/group/lcutils.mmp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +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: Project definition file for project Location Centre Utils.
-*
-*/
-
-
-// DEFINES
-#define KLocationCentreUtilsUID3 0x10009C03
-
-// SYSTEM INCLUDE
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET lcutils.dll
-TARGETTYPE DLL
-UID 0x0 KLocationCentreUtilsUID3
-
-VERSION 1.0
-
-CAPABILITY CAP_GENERAL_DLL
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE lcapplauncher.cpp
-SOURCE lcipcparams.cpp
-SOURCE lciconloader.cpp
-SOURCE lcdebug.cpp
-
-USERINCLUDE ../inc
-USERINCLUDE ../../inc
-USERINCLUDE ../../../inc
-USERINCLUDE ../../../../inc
-
-APP_LAYER_SYSTEMINCLUDE /epoc32/include/ecom
-
-LIBRARY euser.lib
-LIBRARY efsrv.lib
-LIBRARY bafl.lib
-LIBRARY eikcore.lib
-LIBRARY apgrfx.lib
-LIBRARY cone.lib
-LIBRARY apparc.lib
-LIBRARY avkon.lib
-LIBRARY ws32.lib
-LIBRARY commonui.lib
-LIBRARY BrowserLauncher.lib
-LIBRARY egul.lib
-LIBRARY fbscli.lib
-LIBRARY estor.lib
-LIBRARY aknskins.lib
-LIBRARY aknskinsrv.lib
-LIBRARY aknswallpaperutils.lib
-LIBRARY imageconversion.lib
-LIBRARY SVGEngine.lib
-LIBRARY gdi.lib
-LIBRARY aknicon.lib
-LIBRARY apmime.lib
-LIBRARY CdlEngine.lib
-LIBRARY flogger.lib
-LIBRARY ecom.lib
-
-DEFFILE lcutils.def
-
-// End of File
--- a/locationcentre/lcutils/inc/lcapplauncher.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,320 +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: Utility class which provides the Application, Service and File
-* launching services to Location Centre.
-*
-*/
-
-
-#ifndef LCAPPLAUNCHER_H
-#define LCAPPLAUNCHER_H
-
-// SYSTEM INCLUDES
-#include <e32std.h>
-#include <AknServerApp.h>
-
-// USER INCLUDES
-
-// FORWARD DECLARATIONS
-class CEikonEnv;
-class MLcAppExitObserver;
-class CSchemeHandler;
-class CDocumentHandler;
-
-/**
- * Lc Launch Application Service class. This class provides the return path
- * for the Application termination call issued from an application launched
- * in the chanied mode
- */
-class RLcLaunchAppService : public RAknAppServiceBase
- {
-public: // Inherited from Base classes
-
- /**
- * Imherited from RAknAppServiceBase
- */
- TUid ServiceUid() const;
- };
-
-/**
- * Chained Application launcher for Location Centre. This class almost acts
- * like a duplication for CAknLaunchAppService class. This is required because
- * CAknLaunchAppService doesnt take any command line arguments.
- */
-class CLcLaunchAppService : public CBase
- {
-public:
- /**
- * Static two phases constructor
- */
- static CLcLaunchAppService* NewL();
-
- /**
- * C++ Destructor
- */
- ~CLcLaunchAppService();
-
- /**
- * Launches an Application in the chained mode.
- *
- * @since S60 v5.0
- * @param aApplicationUid UID of the application that needs to be
- * launched.
- * @param aExitObserver Application Exit Observer
- * @param aCmdLineArg Command line arguments which needs to be passed
- * when the application is launched.
- */
- void LaunchAppL( const TUid& aAppUid,
- MAknServerAppExitObserver& aObserver,
- const TDesC& aExitObserver );
-
-
-private:
- /**
- * Generates a Server name. This function has been duplicated
- * from CAknLaunchAppService
- *
- * @since S60 v5.0
- * @param[out] aServerName Application Server name
- * @param[in] aAppServerUid Application server UID
- * @param[in] aServerDifferentiator Server differentiator
- */
- void ServerName( TName& aServerName, TUid aAppServerUid, TUint aServerDifferentiator );
-
- /**
- * Generates a Server name and a differentiator. This function has been duplicated
- * from CAknLaunchAppService
- *
- * @since S60 v5.0
- * @param[in] aServerName Application Server name
- * @param[in] aAppServerUid Application server UID
- * return Server differentiator
- */
- TUint GenerateServerDifferentiatorAndName( TName& aServerName, TUid aAppServerUid );
-
-private: // Data members
- /**
- * App Server exit monitor
- * Owns
- */
- CApaServerAppExitMonitor* iMonitor;
-
- /**
- * Service class for establishing communication with the Application server
- */
- RLcLaunchAppService iService;
- };
-
-/**
- * Utility class which provides Application, Content and Services
- * launch functionality to Location Centre.
- *
- * @lib lcutils.lib
- * @since S60 v5.0
- */
-class CLcAppLauncher : public CBase,
- public MAknServerAppExitObserver
- {
-public:
- /**
- * Constructs a new instance of Location Centre Application launcher.
- *
- * @return The new instance of Location Centre Application launcher object.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CLcAppLauncher* NewL();
-
- /**
- * Constructs a new instance of Location Centre Application launcher.
- * Leaves the created instance on the cleanup stack.
- *
- * @return The new instance of Location Centre Application launcher object.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CLcAppLauncher* NewLC();
-
- /**
- * C++ Destructor.
- * Frees all the resources associated with this Location Centre
- * interface.
- */
- virtual ~CLcAppLauncher();
-
- /**
- * Launchers an S60 Application or a Content/Service.
- *
- * This function acts a generic interface which the Location Centre
- * Utility class provides to the Location Centre Client Library. Using
- * this class Location Centre Client library can request the launch
- * of an S60 Application, a Java based Application, Location based
- * Content / Service.
- *
- * @since v5.0
- * @param aAppType Application Type
- * @param aIdentifier Application Identifier
- * @param aStandAlone Boolen value indicating whether the Application
- * is Launched in the Stand-alone mode or in the
- * Chained mode.
- * @param aCmdLineArg Command line arguments which needs to be passed
- * when the application is launched.
- * @param aExitObserver The observer to notify the termination of the
- * Launched application.
- */
- IMPORT_C void LaunchLocationApplicationL(
- TInt aAppType,
- const TDesC& aIdentifer,
- TBool aStandAlone,
- const TDesC& aCmdLineArg,
- MLcAppExitObserver* aExitObserver );
-
-private:
- /**
- * Launches an S60 Application as a stand-alone application.
- *
- * This function launches an S60 application using the S60 Application
- * architecture. Each S60 application is identified by a Unique
- * identifier ( the UID of the application ). This function launches the
- * application corresponding to the UID passed to it as a standalone
- * application.
- *
- * @since S60 v5.0
- * @param aApplicationUid UID of the application that needs to be
- * launched.
- * @param aCmdLineArg Command line arguments which needs to be passed
- * when the application is launched.
- */
- void LaunchAppL( TUid aApplicationUid,
- const TDesC& aCmdLineArg );
-
-
- /**
- * Launches an S60 Application as a chained application.
- *
- * This function launches an S60 application using the S60 Application
- * architecture. Each S60 application is identified by a Unique
- * identifier ( the UID of the application ). This function launches the
- * application corresponding to the UID passed to it as a chained
- * application. In addition to that the caller function can also register
- * an observer to notify the termination of the launched application.
- *
- * @since S60 v5.0
- * @param aApplicationUid UID of the application that needs to be
- * launched.
- * @param aCmdLineArg Command line arguments which needs to be passed
- * when the application is launched.
- * @param aExitObserver Application Exit Observer
- */
- void LaunchAppAsChainedL( TUid aApplicationUid,
- const TDesC& aCmdLineArg,
- MLcAppExitObserver* aExitObserver );
-
- /**
- * Launches a Web URL using the S60 Web browser.
- *
- * This function launched a Web URL as specified by the argument in
- * the S60 Web browser. This function invokes the existing instance
- * of the browser with the URL if the browser is already running. In case
- * the browser is not running, it launches the browser in the stand alone
- * mode with the specified URL. Incase, the Chained mode is requested, then
- * the browser is launched in the Embedded mode.
- *
- * @since S60 v5.0
- * @param aUrl The URL which needs to be launched in the browser.
- * @param aStandAlone Boolen value indicating whether the Application
- * is Launched in the Stand-alone mode or in the
- * Chained mode.
- * @param aObserver Observer to notify the termination of the
- * Web browser.
- */
- void LaunchWebBroserL( const TDesC& aUrl,
- TBool aStandAlone,
- MLcAppExitObserver* aObserver );
-
- /**
- * Launches content present in a file using an appropriate Application.
- *
- * This function launches the content using an appropriate S60 application. It
- * uses the S60 Document handler to load the corresponding application
- * with the specified file name.
- *
- * @since S60 v5.0
- * @param aFileName The name with full path of the file containing the content.
- * @param aStandAlone Boolen value indicating whether the Application
- * is Launched in the Stand-alone mode or in the
- * Chained mode.
- * @param aObserver The observer to notify the termination of the launched
- * application.
- */
- void LaunchContentL( const TDesC& aFileName,
- TBool aStandAlone,
- MLcAppExitObserver* aObserver );
-
-public: // Inherited from Base classes
- /**
- * Inherited from MAknServerAppExitObserver
- * Notifies the termination of the Chained Application.
- *
- * @param aReason Reason for the application termination.
- */
- void HandleServerAppExit( TInt aReason );
-
-private:
- /**
- * Default C++ Constructor.
- */
- CLcAppLauncher();
-
- /**
- * Second phase of the two phase constructor.
- */
- void ConstructL();
-
-private:
- /**
- * Pointer to the Eikon Environment.
- */
- CEikonEnv* iEnv;
-
- /**
- * Observer to notify the termination of the Location Application.
- */
- MLcAppExitObserver* iExitObserver;
-
- /**
- * Launcher class used to launch the S60 browser as a chained
- * application.
- * Owns.
- */
- CSchemeHandler* iBrowserLauncher;
-
- /**
- * Document handler used for launching documents.
- * Owns
- */
- CDocumentHandler* iDocHandler;
-
- /**
- * Application Service class. This class is used to launch an application
- * as an embedded application
- */
- CLcLaunchAppService* iAppService;
-
- /**
- * Flag to check whether an Embedded launch is outstanding
- */
- TBool isEmbeddedLaunchOutstanding;
-
- };
-
-#endif // LCAPPLAUNCHER_H
--- a/locationcentre/lcutils/inc/lcdebug.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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: Utility class for Debug traces
-*
-*/
-
-
-#ifndef LCDEBUG_H
-#define LCDEBUG_H
-
-// INCLUDES
-#include <e32std.h>
-
-// #define _LCDEBUG
-
-// MACROS
-#ifdef _LCDEBUG
-
-#define DEBUG( TEXT) Debug( _L( #TEXT ));
-#define DEBUG1( TEXT, ARG1 ) Debug( _L( #TEXT ), ( ARG1 ));
-#define DEBUG2( TEXT, ARG1, ARG2 ) Debug( _L( #TEXT ), ( ARG1 ), ( ARG2 ));
-#define DEBUG3( TEXT, ARG1, ARG2, ARG3 ) Debug( _L( #TEXT ), ( ARG1 ), ( ARG2 ), ( ARG3 ));
-
-#else
-
-#define DEBUG( TEXT ) ;
-#define DEBUG1( TEXT, ARG1 ) ;
-#define DEBUG2( TEXT, ARG1, ARG2 ) ;
-#define DEBUG3( TEXT, ARG1, ARG2, ARG3 ) ;
-
-#endif // _LCDEBUG
-
-IMPORT_C void Debug( TRefByValue<const TDesC> aText, ...);
-
-#endif // LCDEBUG_H
--- a/locationcentre/lcutils/inc/lciconloader.h Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +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: Utility class for loading Application Icons
-*
-*/
-
-
-#ifndef LCICONLOADER_H
-#define LCICONLOADER_H
-
-// SYSTEM INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CGulIcon;
-
-/**
- * Utility class for loading icons.
- *
- * This class encapsulated the icon loading functionality for Location Centre
- * Application. Incase, there is no icon corresponding to the Location
- * based Application or Content/Service a default icon wil be loaded.
- *
- * @lib lcservice.lib
- * @since S60 v5.0
- */
-class LcIconLoader
- {
-public:
- /**
- * Loads an Icon for a Location based Application. If there is no icon
- * corresponding to the Application, then a default Icon is loaded.
- *
- * @param[in] aAppUid UID for the application whose Icon is loaded.
- */
- IMPORT_C static CGulIcon* LoadApplicationIconL( const TUid aAppUid );
-
- /**
- * Loads the Icon for a Location based Application from an MIF Icon file.
- *
- * If there is no icon loadable fron the requested file then a default
- * icon is loaded.
- *
- * @param[in] aAppIconFile Icon file name.
- * @param[in] aFrameNo The Icon id of the icon when the Icon file
- * is a MIF File.
- * @return The new instance of Location Centre listbox object.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CGulIcon* LoadMifFileIconL(
- const TDesC& aAppIconFile,
- TInt aFrameNo );
-
- /**
- * Loads the default icon for a Location based Application or Content/
- * Service.
- *
- * @return The new instance of Location Centre listbox object.
- * @leave System wide error code if the object creation fails.
- */
- IMPORT_C static CGulIcon* LoadDefaultIconL();
-
-private:
- /**
- * Loads an Icon for a Location based Application based on its UID.
- * If there is no icon corresponding to the Application UID,
- * then a default Icon is loaded.
- *
- * @param[in] aAppUid UID for the application whose Icon is loaded.
- */
- static CGulIcon* LoadIconfromUIDL( const TUid aAppUid );
-
- /**
- * Loads the Icon for a Location based Application from an Icon file.
- *
- * If there is no icon loadable fron the requested file then a default
- * icon is loaded.
- *
- * @param[in] aAppIconFile Icon file name.
- * @param[in] aFrameNo The Icon id of the icon when the Icon file
- * is a MIF File.
- * @return The new instance of Location Centre listbox object.
- * @leave System wide error code if the object creation fails.
- */
- static CGulIcon* LoadIconFromMifFileL(
- const TDesC& aAppIconFile,
- TInt aFrameNo );
- };
-
-#endif // LCICONLOADER_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 <e32base.h>
-#include <s32strm.h>
-#include <lclocationappfilter.h>
-#include <lclocationappinfo.h>
-
-// 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
--- a/locationcentre/lcutils/inc/lcipcparams.inl Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,390 +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.
-*
-*/
-
-
-// ----- Member funtions for CLcBasicAppInfo ------------------------------
-
-// ---------------------------------------------------------------------------
-// CLcBasicAppInfo::CLcBasicAppInfo
-// ---------------------------------------------------------------------------
-//
-inline CLcBasicAppInfo::CLcBasicAppInfo()
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- }
-
-// ---------------------------------------------------------------------------
-// CLcBasicAppInfo::~CLcBasicAppInfo
-// ---------------------------------------------------------------------------
-//
-inline CLcBasicAppInfo::~CLcBasicAppInfo()
- {
- // C++ Destructor. Free all resources associated with this class.
-
- // Delete the Application data content
- delete iAppData;
-
- // Delete the buffer containing the command line arguments
- delete iCmdLineParams;
- }
-
-// ---------------------------------------------------------------------------
-// CLcBasicAppInfo* CLcBasicAppInfo::NewL
-// ---------------------------------------------------------------------------
-//
-inline CLcBasicAppInfo* CLcBasicAppInfo::NewL()
- {
- return ( new ( ELeave ) CLcBasicAppInfo );
- }
-
-// ---------------------------------------------------------------------------
-// CLcBasicAppInfo* CLcBasicAppInfo::NewLC
-// ---------------------------------------------------------------------------
-//
-inline CLcBasicAppInfo* CLcBasicAppInfo::NewLC()
- {
- CLcBasicAppInfo* self = new ( ELeave ) CLcBasicAppInfo;
- CleanupStack::PushL( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// TUint32 CLcBasicAppInfo::ApplicationType
-// ---------------------------------------------------------------------------
-//
-inline TUint32 CLcBasicAppInfo::ApplicationType() const
- {
- return iAppType;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcBasicAppInfo::SetApplicationType
-// ---------------------------------------------------------------------------
-//
-inline void CLcBasicAppInfo::SetApplicationType( TUint32 aAppType )
- {
- iAppType = aAppType;
- }
-
-// ---------------------------------------------------------------------------
-// TUint32 CLcBasicAppInfo::LocationApplicationIconL
-// ---------------------------------------------------------------------------
-//
-inline TUint32 CLcBasicAppInfo::LaunchMode() const
- {
- return iLaunchMode;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcBasicAppInfo::SetLocationApplicationLaunchMode
-// ---------------------------------------------------------------------------
-//
-inline void CLcBasicAppInfo::SetLaunchMode( TUint32 aLaunchMode )
- {
- iLaunchMode = aLaunchMode;
- }
-
-// ---------------------------------------------------------------------------
-// TPtrC CLcBasicAppInfo::ApplicationData
-// ---------------------------------------------------------------------------
-//
-inline TPtrC CLcBasicAppInfo::ApplicationData() const
- {
- // Check whether the application data exists, incase it doesnt exist then
- // return a NULL string else return Application data.
- if ( iAppData )
- {
- return *iAppData;
- }
- else
- {
- return TPtrC();
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcBasicAppInfo::ApplicationData
-// ---------------------------------------------------------------------------
-//
-inline void CLcBasicAppInfo::SetApplicationDataL( const TDesC& aAppData )
- {
- delete iAppData;
-
- // Copy the Identifier from the Argument Location Application App info.
- iAppData = aAppData.AllocL();
- }
-
-// ---------------------------------------------------------------------------
-// TPtrC CLcBasicAppInfo::CommandLineParameters
-// ---------------------------------------------------------------------------
-//
-inline TPtrC CLcBasicAppInfo::CommandLineParamters() const
- {
- // Check whether the command line args exists, incase it doesnt exist then
- // return a NULL string else return command line arguments.
- if ( iCmdLineParams )
- {
- return *iCmdLineParams;
- }
- else
- {
- return TPtrC();
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcBasicAppInfo::SetCommandLineParameters
-// ---------------------------------------------------------------------------
-//
-inline void CLcBasicAppInfo::SetCommandLineParametersL( const TDesC& aCmdLineParams )
- {
- delete iCmdLineParams;
-
- // Copy the Identifier from the Argument Location Application App info.
- iCmdLineParams = aCmdLineParams.AllocL();
- }
-
-// ----- Member funtions for CLcAppInfo ------------------------------
-
-// ---------------------------------------------------------------------------
-// CLcAppInfo::CLcAppInfo
-// ---------------------------------------------------------------------------
-//
-inline CLcAppInfo::CLcAppInfo()
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- }
-
-// ---------------------------------------------------------------------------
-// CLcAppInfo::~CLcAppInfo
-// ---------------------------------------------------------------------------
-//
-inline CLcAppInfo::~CLcAppInfo()
- {
- // C++ Destructor. Free all resources associated with this class.
-
- // Delete the buffer containing the Identifier
- delete iId;
-
- // Delete the buffer containing the name of the Location application
- delete iApplicationName;
-
- // Delete the buffer containing the Icon file name
- delete iIconFile;
- }
-
-// ---------------------------------------------------------------------------
-// CLcAppInfo* CLcAppInfo::NewL
-// ---------------------------------------------------------------------------
-//
-inline CLcAppInfo* CLcAppInfo::NewL()
- {
- return ( new ( ELeave ) CLcAppInfo );
- }
-
-// ---------------------------------------------------------------------------
-// CLcAppInfo* CLcAppInfo::NewLC
-// ---------------------------------------------------------------------------
-//
-inline CLcAppInfo* CLcAppInfo::NewLC()
- {
- CLcAppInfo* self = new ( ELeave ) CLcAppInfo;
- CleanupStack::PushL( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// TPtrC CLcAppInfo::IdL
-// ---------------------------------------------------------------------------
-//
-inline TPtrC CLcAppInfo::Id() const
- {
- // Check whether the UID exists, incase it doesnt exist then return a
- // NULL string else return the UID.
- if ( iId )
- {
- return *iId;
- }
- else
- {
- return TPtrC();
- }
- }
-
-// ---------------------------------------------------------------------------
-// TUint32 CLcAppInfo::SetIdL
-// ---------------------------------------------------------------------------
-//
-inline void CLcAppInfo::SetIdL( const TDesC& aId )
- {
- // Incase, the UID already exists then Leave with KErrAlreadyExists
- if( iId )
- {
- User::Leave( KErrAlreadyExists );
- }
-
- // Copy the Identifier from the Argument Location Application App info.
- iId = aId.AllocL();
-
- }
-
-
-// ---------------------------------------------------------------------------
-// TPtrC CLcAppInfo::NameL
-// ---------------------------------------------------------------------------
-//
-inline TPtrC CLcAppInfo::Name() const
- {
- // Check whether the application name exists, incase it doesnt exist then
- // return a NULL string else return Application name.
- if ( iApplicationName )
- {
- return *iApplicationName;
- }
- else
- {
- return TPtrC();
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAppInfo::SetNameL
-// ---------------------------------------------------------------------------
-//
-inline void CLcAppInfo::SetNameL( const TDesC& aName )
- {
- // Incase, the application name exists then Leave with KErrAlreadyExists.
- if( iApplicationName )
- {
- User::Leave( KErrAlreadyExists );
- }
-
- // Copy the Name from the Argument Location Application App info.
- iApplicationName = aName.AllocL();
- }
-
-// ---------------------------------------------------------------------------
-// CLcAppInfo::TLcIconFileType CLcAppInfo::IconFileType
-// ---------------------------------------------------------------------------
-//
-inline CLcAppInfo::TLcIconFileType CLcAppInfo::IconFileType() const
- {
- return iIconFileType;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAppInfo::SetLocationApplicationLaunchMode
-// ---------------------------------------------------------------------------
-//
-inline void CLcAppInfo::SetIconFileType(
- const CLcAppInfo::TLcIconFileType aIconFileType )
- {
- iIconFileType = aIconFileType;
- }
-
-// ---------------------------------------------------------------------------
-// TPtrC CLcAppInfo::IconFile
-// ---------------------------------------------------------------------------
-//
-inline TPtrC CLcAppInfo::IconFile() const
- {
- // Check whether the icon file exists, incase it doesnt exist then
- // return a NULL string else return icon file name.
- if ( iIconFile )
- {
- return *iIconFile;
- }
- else
- {
- return TPtrC();
- }
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAppInfo::SetIconFileL
-// ---------------------------------------------------------------------------
-//
-inline void CLcAppInfo::SetIconFileL( const TDesC& aIconFileType )
- {
- // Incase, the icon file exists then Leave with KErrAlreadyExists.
- if( iIconFile )
- {
- User::Leave( KErrAlreadyExists );
- }
-
- // Copy the Name from the Argument Location Application App info.
- iIconFile = aIconFileType.AllocL();
- }
-
-// ---------------------------------------------------------------------------
-// TUint32 CLcAppInfo::FrameNo
-// ---------------------------------------------------------------------------
-//
-inline TUint32 CLcAppInfo::FrameNo() const
- {
- return iFrameNo;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAppInfo::SetFrameNo
-// ---------------------------------------------------------------------------
-//
-inline void CLcAppInfo::SetFrameNo( TUint32 aFrameNo )
- {
- iFrameNo = aFrameNo;
- }
-
-// ---------------------------------------------------------------------------
-// TUint32 CLcAppInfo::SystemCharacteristics
-// ---------------------------------------------------------------------------
-//
-inline TUint32 CLcAppInfo::SystemCharacteristics() const
- {
- return iSystemCharacteristics;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAppInfo::SetSystemCharacteristics
-// ---------------------------------------------------------------------------
-//
-inline void CLcAppInfo::SetSystemCharacteristics(
- TUint32 aSysCharacteristics )
- {
- iSystemCharacteristics = aSysCharacteristics;
- }
-
-// ---------------------------------------------------------------------------
-// TUint32 CLcAppInfo::ApplicationCharacteristics
-// ---------------------------------------------------------------------------
-//
-inline TUint32 CLcAppInfo::ApplicationCharacteristics() const
- {
- return iAppCharacteristics;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAppInfo::SetApplicationCharacteristics
-// ---------------------------------------------------------------------------
-//
-inline void CLcAppInfo::SetApplicationCharacteristics(
- TUint32 aAppCharacteristics )
- {
- iAppCharacteristics |= aAppCharacteristics;
- }
--- a/locationcentre/lcutils/src/lcapplauncher.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,600 +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: Utility class which provides the Application, Service and File
-* launching services to Location Centre.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <apgcli.h>
-#include <apgtask.h>
-#include <eikenv.h>
-#include <lcappexitobserver.h>
-#include <schemehandler.h>
-#include <DocumentHandler.h>
-#include <e32math.h>
-#include <eikappui.h>
-#include <avkon.hrh>
-
-// USER INCLUDES
-#include "lcapplauncher.h"
-#include "lcipcparams.h"
-#include "lcdebug.h"
-
-// CONSTANT DEFINITIONS
-_LIT( KLcFourSpace, "4 " );
-
-// Maximum value that the UID field can take in S60
-const TUint32 KUidMaxValue = 0xFFFFFFFF;
-
-// Application Server Service ID. This is the same valuw which AknAppService classes use
-const TUid KLcLaunchAppServiceUid = { 0x101F887A };
-
-// -------- Member functions of RLcLaunchAppService --------------------------
-
-// ---------------------------------------------------------
-// TUid RLcLaunchAppService::ServiceUid
-// ---------------------------------------------------------
-//
-TUid RLcLaunchAppService::ServiceUid() const
- {
- return KLcLaunchAppServiceUid;
- }
-
-// -------- Member functions of CLcLaunchAppService --------------------------
-
-// ---------------------------------------------------------------------------
-// CLcLaunchAppService* CLcLaunchAppService::NewL
-// ---------------------------------------------------------------------------
-//
-CLcLaunchAppService* CLcLaunchAppService::NewL()
- {
- CLcLaunchAppService* self = new ( ELeave ) CLcLaunchAppService();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcLaunchAppService::~CLcLaunchAppService
-// ---------------------------------------------------------------------------
-//
-CLcLaunchAppService::~CLcLaunchAppService()
- {
- delete iMonitor;
- iService.Close();
- }
-
-// ---------------------------------------------------------------------------
-// Tvoid CLcLaunchAppService::ServerName
-// ---------------------------------------------------------------------------
-//
-void CLcLaunchAppService::ServerName( TName& aServerName,
- TUid aAppServerUid,
- TUint aServerDifferentiator )
- {
- _LIT(KServerNameFormat, "%08x_%08x_AppServer");
- aServerName.Format( KServerNameFormat,
- aServerDifferentiator,
- aAppServerUid );
- }
-
-// ---------------------------------------------------------------------------
-// TUid RLcLaunchAppService::ServiceUid
-// ---------------------------------------------------------------------------
-//
-TUint CLcLaunchAppService::GenerateServerDifferentiatorAndName(
- TName& aServerName,
- TUid aAppServerUid )
- {
- TUint r;
- FOREVER
- {
- r = Math::Random();
- if ( r == 0 )
- continue;
- ServerName( aServerName, aAppServerUid, r );
- TFindServer find( aServerName );
- TFullName fullName;
- if ( find.Next( fullName ) == KErrNone )
- {
- continue;
- }
- break;
- }
- return r;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcLaunchAppService::LaunchAppL
-// ---------------------------------------------------------------------------
-//
-void CLcLaunchAppService::LaunchAppL( const TUid& aAppUid,
- MAknServerAppExitObserver& aObserver,
- const TDesC& aCmdLineArg )
- {
- DEBUG("+ CLcLaunchAppService::LaunchAppL")
-
- CEikonEnv* eikEnv = CEikonEnv::Static();
- RWindowGroup& wg = eikEnv->RootWin();
-
- TName notUsed;
- const TUint differentiator = GenerateServerDifferentiatorAndName( notUsed, aAppUid );
- TRequestStatus requestStatusForRendezvous;
-
- RApaLsSession apa;
- User::LeaveIfError( apa.Connect());
- CleanupClosePushL( apa );
-
- // Check for the Application capabilities
- TApaAppCapabilityBuf capabilityBuf;
- User::LeaveIfError( apa.GetAppCapability( capabilityBuf, aAppUid ));
- TApaAppCapability& caps = capabilityBuf();
-
- // Launch only those applications can be embedded and will not be run the background
-
- if( caps.iLaunchInBackground ||
- caps.iEmbeddability == TApaAppCapability::ENotEmbeddable )
- {
- User::Leave( KErrNotSupported );
- }
-
- TApaAppInfo info;
- User::LeaveIfError( apa.GetAppInfo( info, aAppUid ));
-
- // Pack the command line arguments
- CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
- cmdLine->SetExecutableNameL(info.iFullName);
- cmdLine->SetServerRequiredL(differentiator);
-
- // Set the Command line arguments.
- if ( aCmdLineArg.Length())
- {
- // These arguments would be sent as Tail end arguments to the launched
- // Application. Its left to the application to handle those
- HBufC8* tailEnd = HBufC8::NewLC( aCmdLineArg.Length());
- tailEnd->Des().Copy( aCmdLineArg );
-
- // The Tail end buffer is copied to the Command line structure. Hence,
- // can delete this variable after the set operation succeeds.
- cmdLine->SetTailEndL( tailEnd->Des());
-
- CleanupStack::PopAndDestroy( tailEnd );
- }
-
- cmdLine->SetCommandL( EApaCommandRun );
-
- // Window chain the client with the current application
- const TInt parentWindowGroupID = wg.Identifier();
- if ( parentWindowGroupID )
- {
- cmdLine->SetParentWindowGroupID( parentWindowGroupID );
- wg.AllowProcessToCreateChildWindowGroups( aAppUid );
- }
-
- // Launch the requested Application
- TThreadId threadNotUsed;
- User::LeaveIfError( apa.StartApp( *cmdLine,
- threadNotUsed,
- &requestStatusForRendezvous ));
-
- CleanupStack::PopAndDestroy(2, &apa); // cmdLine and apa
-
- CEikAppUi* appUi = eikEnv->EikAppUi();
- if ( appUi )
- {
- appUi->DeactivateActiveViewL();
- }
-
- User::WaitForRequest( requestStatusForRendezvous );
- User::LeaveIfError( requestStatusForRendezvous.Int());
-
- // Establish a connection to the running server
- TName serverName;
- ServerName( serverName, aAppUid, differentiator );
-
- // Though the server had been successfully created the application
- // has can shutdown before we can establish a connection. There is nothing
- // that we can do here. Ignore the error.
- iService.ConnectExistingByNameL(serverName );
-
- // Set the observer for receiving notifications of the application exit.
- iMonitor = CApaServerAppExitMonitor::NewL( iService,
- aObserver,
- CActive::EPriorityStandard );
-
- DEBUG("- CLcLaunchAppService::LaunchAppL")
- }
-
-
-// ----- Member funtions for CLcAppLauncher ----------------------------------
-
-// ---------------------------------------------------------------------------
-// CLcAppLauncher::CLcAppLauncher
-// ---------------------------------------------------------------------------
-//
-CLcAppLauncher::CLcAppLauncher()
- {
- // C++ Default constructor. No allocations or functions which can Leave
- // should be called from here.
- }
-
-// ---------------------------------------------------------------------------
-// CLcAppLauncher::~CLcAppLauncher
-// ---------------------------------------------------------------------------
-//
-CLcAppLauncher::~CLcAppLauncher()
- {
-
- // Delete the Broswer launcher.
- delete iBrowserLauncher;
-
- // Delete the document handler.
- delete iDocHandler;
-
- // Delete the Application Service if it exists
- delete iAppService;
- }
-
-// ---------------------------------------------------------------------------
-// CLcAppLauncher* CLcAppLauncher::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcAppLauncher* CLcAppLauncher::NewL()
- {
- CLcAppLauncher* self = NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CLcAppLauncher* CLcAppLauncher::NewLC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLcAppLauncher* CLcAppLauncher::NewLC()
- {
- // Symbian Two phased constructor. Leaves the object on the Clean-up
- // stack.
- CLcAppLauncher* self = new ( ELeave ) CLcAppLauncher();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// void CLcAppLauncher::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CLcAppLauncher::ConstructL()
- {
- // Second phase of the two phase constructor.
- iEnv = CEikonEnv::Static();
- }
-
-// ---------------------------------------------------------------------------
-// void LcAppLauncher::LaunchLocationApplicationL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLcAppLauncher::LaunchLocationApplicationL(
- TInt aAppType,
- const TDesC& aIdentifer,
- TBool aStandAlone,
- const TDesC& aCmdLineArg,
- MLcAppExitObserver* aExitObserver )
- {
- DEBUG("+ CLcLaunchAppService::LaunchLocationApplicationL")
-
- // Check for the validity of the request
-
- // Check if there is an outstanding Embedded launch request
- if(( isEmbeddedLaunchOutstanding && !aStandAlone ) ||
- ( !aStandAlone && !iEnv ))
- {
- User::Leave( KErrNotSupported );
- }
-
- // At any instant of time this class can one outstanding Exit observer.
- // There is currently no provision of storing a list of observers and
- // mapping them correspondingly to each of the assciated applications
- // Hence, Leave if there exists an Exit observer.
- if (( aExitObserver && iExitObserver ))
- {
- User::Leave( KErrAlreadyExists );
- }
-
- // Launch the Applications based on their type and Mode of launching
- switch ( aAppType )
- {
- case ELcNativeApplication:
- {
- // Since the request is for a Native S60 application, the Identifer
- // contains an UID. Obtain it using Lexer
- TLex lexer( aIdentifer );
- TUint32 uidValue;
-
- User::LeaveIfError( lexer.BoundedVal( uidValue, EHex, KUidMaxValue ));
-
- if ( aStandAlone )
- {
- // Launch the Location based Application based standalone mode
- LaunchAppL( TUid::Uid( uidValue ), aCmdLineArg );
- }
- else
- {
- // Launch Application in the chained mode
- LaunchAppAsChainedL( TUid::Uid( uidValue ), aCmdLineArg, aExitObserver );
- }
-
- break;
- }
- case ELcWebUrl:
- {
- LaunchWebBroserL( aIdentifer, aStandAlone, aExitObserver );
- break;
- }
- case ELcDocument:
- {
- LaunchContentL( aIdentifer, aStandAlone, aExitObserver );
- break;
- }
- default:
- {
- User::Leave( KErrNotSupported );
- break;
- }
- }
-
- DEBUG("+ CLcLaunchAppService::LaunchLocationApplicationL")
- }
-
-// ---------------------------------------------------------------------------
-// void LcAppLauncher::LaunchAppL
-// ---------------------------------------------------------------------------
-//
-void CLcAppLauncher::LaunchAppL(
- TUid aApplicationUid,
- const TDesC& aCmdLineArg )
- {
- DEBUG("+ CLcAppLauncher::LaunchAppL")
-
- // Create the Session handle and connect to the Application architecture
- // server. This is required to obtain the details of the application from
- // the Application UID.
- RApaLsSession lsSession;
- User::LeaveIfError( lsSession.Connect() );
- CleanupClosePushL( lsSession );
-
- // Get the Application's capability.
- TApaAppCapabilityBuf capabilityBuf;
- User::LeaveIfError( lsSession.GetAppCapability( capabilityBuf, aApplicationUid ));
- TApaAppCapability& caps = capabilityBuf();
-
- if ( caps.iEmbeddability == TApaAppCapability::EEmbeddableOnly ||
- caps.iEmbeddability == TApaAppCapability::EEmbeddableUiNotStandAlone )
- {
- User::Leave( KErrNotSupported );
- }
-
- // Get the Application Information.
- TApaAppInfo appInfo;
- User::LeaveIfError( lsSession.GetAppInfo( appInfo, aApplicationUid ) );
-
- // Fill the command line argument structure
- CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
-
- // Set the Application name.
- TFileName appName = appInfo.iFullName;
- cmdLine->SetExecutableNameL( appName );
-
- // Set the Command
- if ( caps.iLaunchInBackground )
- {
- cmdLine->SetCommandL( EApaCommandBackground );
- }
- else
- {
- cmdLine->SetCommandL( EApaCommandRun );
- }
-
- // Set the Command line arguments.
- if ( aCmdLineArg.Length())
- {
- // These arguments would be sent as Tail end arguments to the launched
- // Application. Its left to the application to handle those
- HBufC8* tailEnd = HBufC8::NewLC( aCmdLineArg.Length());
- tailEnd->Des().Copy( aCmdLineArg );
-
- // The Tail end buffer is copied to the Command line structure. Hence,
- // can delete this variable after the set operation succeeds.
- cmdLine->SetTailEndL( tailEnd->Des());
-
- CleanupStack::PopAndDestroy( tailEnd );
- }
-
- // Start the Application
- User::LeaveIfError( lsSession.StartApp( *cmdLine ));
-
- // Clean up all the allocated heap variables.
- CleanupStack::PopAndDestroy( cmdLine );
- CleanupStack::PopAndDestroy(); //lsSession
-
- DEBUG("- CLcAppLauncher::LaunchAppL")
- }
-
-// ---------------------------------------------------------------------------
-// void LcAppLauncher::LaunchAppAsChainedL
-// ---------------------------------------------------------------------------
-//
-void CLcAppLauncher::LaunchAppAsChainedL(
- TUid aApplicationUid,
- const TDesC& aCmdLineArg,
- MLcAppExitObserver* aExitObserver )
- {
- DEBUG("+ CLcAppLauncher::LaunchAppAsChainedL" )
-
- // Createt the App service object and launch the application
- CLcLaunchAppService* appService = CLcLaunchAppService::NewL();
- CleanupStack::PushL( appService );
- appService->LaunchAppL( aApplicationUid, *this, aCmdLineArg );
- CleanupStack::Pop( appService );
-
- // Transfer the ownership to this class.
- iAppService = appService;
- isEmbeddedLaunchOutstanding = ETrue;
-
- // Store the Observer for future reference
- iExitObserver = aExitObserver;
-
- DEBUG("- CLcAppLauncher::LaunchAppAsChainedL" )
- }
-
-// ---------------------------------------------------------------------------
-// void LcAppLauncher::LaunchWebBroserL
-// ---------------------------------------------------------------------------
-//
-void CLcAppLauncher::LaunchWebBroserL( const TDesC& aUrl,
- TBool aStandAlone,
- MLcAppExitObserver* aObserver )
- {
- // The parameters need to be packed in the order specified by the browser.
- // Parameters are separated by space
- // 1st parameter: Type of the second parameter. In this case 4 to indicate
- // that the second parameter is a URL.
- // 2nd parameter: URL that needs to be launched in the browser.
- // Since we have to pack "4 " before the URL name, the total length of
- // the parameter string should be Length of the URL + 2.
- HBufC* param = HBufC::NewLC(( 2 + aUrl.Length()));
- param->Des().Append( KLcFourSpace );
- param->Des().Append( aUrl );
-
- if ( aStandAlone )
- {
- // The URL is launched in the Browser. Set the Browser UID as the UID
- // of the application which needs to be launched.
- const TInt KBrowserUid = 0x10008D39;
- TUid id( TUid::Uid( KBrowserUid ) );
-
- // Check if the Browser application is already running. Incase its
- // running Open this URL in the browser.
- TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
- TApaTask task = taskList.FindApp( id );
- if ( task.Exists() )
- {
- // The browser is running. Launch the URL.
- HBufC8* param8 = HBufC8::NewLC( param->Length() );
- param8->Des().Append( *param );
- task.SendMessage( TUid::Uid( 0 ), *param8 ); // UID is not used
- CleanupStack::PopAndDestroy();
- }
- else
- {
- // The browser is not running. Start the browser application with
- // the specified parameter. This is done by launching the browser with
- // a document name as the URL.
- RApaLsSession appArcSession;
-
- // Connect to the Application architecture server.
- User::LeaveIfError( appArcSession.Connect());
- CleanupClosePushL( appArcSession );
- TThreadId id;
-
- // Start the browser with the URL
- User::LeaveIfError( appArcSession.StartDocument( *param,
- TUid::Uid( KBrowserUid ),
- id ));
- CleanupStack::PopAndDestroy( &appArcSession );
- }
- }
- else
- {
-
- if ( !iBrowserLauncher )
- {
- // Create the Browser instance
- iBrowserLauncher = CSchemeHandler::NewL( aUrl );
- }
-
- // Launch the Web URL in a browser in the Embedded mode.
- iBrowserLauncher->HandleUrlEmbeddedL();
- iBrowserLauncher->Observer( this );
-
- // Set the Observer incase we need to notify the termination of the
- // browser
- aObserver ? ( iExitObserver = aObserver ) : NULL;
-
- isEmbeddedLaunchOutstanding = ETrue;
- }
- CleanupStack::PopAndDestroy( param ); // param
-
- }
-
-// ---------------------------------------------------------------------------
-// void LcAppLauncher::LaunchContentL
-// ---------------------------------------------------------------------------
-//
-void CLcAppLauncher::LaunchContentL( const TDesC& aFileName,
- TBool aStandAlone,
- MLcAppExitObserver* aObserver )
- {
- if ( !iDocHandler )
- {
- iDocHandler = CDocumentHandler::NewL();
- iDocHandler->SetExitObserver( this );
- }
-
- TDataType dataType;
- if ( aStandAlone )
- {
- // The return values are ignored since, the User Cancelling the event doesnt
- // make any difference to the Client Application
- User::LeaveIfError( iDocHandler->OpenFileL( aFileName, dataType ));
- }
- else
- {
- iExitObserver = aObserver;
- // The return values are ignored since, the User Cancelling the event doesnt
- // make any difference to the Client Application
- User::LeaveIfError( iDocHandler->OpenFileEmbeddedL( aFileName, dataType ));
-
- isEmbeddedLaunchOutstanding = ETrue;
- }
- }
-
-// ---------------------------------------------------------------------------
-// void LcAppLauncher::HandleServerAppExit
-// ---------------------------------------------------------------------------
-//
-void CLcAppLauncher::HandleServerAppExit( TInt aReason )
- {
- isEmbeddedLaunchOutstanding = EFalse;
-
- // Delete the App Service
- delete iAppService;
- iAppService = NULL;
-
- MLcAppExitObserver* observer = iExitObserver;
- if ( observer )
- {
- // Once the request has been issued we can NULLify the observer. Nullifying
- // it before the actual callback to faciliate the launching of another app
- // with an exit observer when the call is executed.
- iExitObserver = NULL;
-
- TRAP_IGNORE( observer->HandleChainedLocationAppExitL( aReason ));
- }
-
- MAknServerAppExitObserver::HandleServerAppExit( aReason );
- }
-
-// End of File
-
--- a/locationcentre/lcutils/src/lcdebug.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 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: Utility class for Debug traces
-*
-*/
-
-
-// INCLUDE FILES
-#include "lcdebug.h"
-#include <flogger.h>
-#include <e32svr.h>
-
-// ========================== EXPORTED FUNCTIONS =========================
-
-#ifdef _LCDEBUG
-
-/// Folder where the log resides
-_LIT( KLogFolder, "Location" );
-
-/// The name of the log file
-_LIT( KLogFileName, "Location" );
-
-/// How many characters a log line can contain
-const TInt KLogLineLength = 256;
-
-// -----------------------------------------------------------------------------
-// void Debug( TRefByValue<const TDesC> aText, ... )
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void Debug( TRefByValue<const TDesC> aText, ... )
- {
- RDebug::Print(aText);
-
- VA_LIST args;
- VA_START( args, aText );
-
- TBuf<KLogLineLength> buf;
- buf.FormatList( aText, args );
- RFileLogger logger;
- TInt ret=logger.Connect();
- if (ret==KErrNone)
- {
- logger.SetDateAndTime( EFalse,EFalse );
- logger.CreateLog( KLogFolder, KLogFileName, EFileLoggingModeAppend );
- logger.Write(buf);
- }
- logger.Close();
-
- VA_END( args );
- }
-
-#else
-
-// -----------------------------------------------------------------------------
-// void Debug( TRefByValue<const TDesC> aText, ... )
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void Debug( TRefByValue<const TDesC> /* aText */, ... )
- {
- }
-
-#endif
-
-// End of File
--- a/locationcentre/lcutils/src/lciconloader.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-/*
-* Copyright (c) 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: Utility class for loading Application Icons
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <AknsUtils.h>
-#include <gulicon.h>
-#include <fbs.h>
-#include <data_caging_path_literals.hrh>
-#include <s32mem.h>
-#include <SVGEngineInterfaceImpl.h>
-#include <AknUtils.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <aknlayout2def.h>
-#include <lcicons.mbg>
-
-// USER INCLUDES
-#include "lciconloader.h"
-#include "lcipcparams.h"
-
-
-// CONSTANT DEFINITION
-_LIT( KLcDefaultIconFileName, "lcicons.mif" );
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// EXPORT_C CGulIcon* LcIconLoader::LoadApplicationIconL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGulIcon* LcIconLoader::LoadApplicationIconL( const TUid aAppUid )
- {
- CGulIcon* icon = NULL;
- TRAPD( error, icon = LoadIconfromUIDL( aAppUid ));
- if( error )
- {
- icon = LoadDefaultIconL();
- }
-
- return icon;
- }
-
-// ---------------------------------------------------------------------------
-// EXPORT_C CGulIcon* LcIconLoader::LoadMifFileIconL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGulIcon* LcIconLoader::LoadMifFileIconL(
- const TDesC& aAppIconFile,
- TInt aFrameNo )
- {
- CGulIcon* icon = NULL;
- TRAPD( error, icon = LoadIconFromMifFileL( aAppIconFile, aFrameNo ));
- if( error )
- {
- icon = LoadDefaultIconL();
- }
- return icon;
- }
-
-// ---------------------------------------------------------------------------
-// EXPORT_C CGulIcon* LcIconLoader::LoadDefaultIconL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGulIcon* LcIconLoader::LoadDefaultIconL()
- {
- TFileName dllFileName;
- Dll::FileName( dllFileName );
-
- TParse parse;
- User::LeaveIfError( parse.Set( KLcDefaultIconFileName, &KDC_APP_BITMAP_DIR, &dllFileName ));
- TFileName fileName( parse.FullName());
-
- CGulIcon* icon = AknsUtils::CreateGulIconL(
- AknsUtils::SkinInstance(),
- KAknsIIDQgnPropSetDeviceSub,
- fileName,
- EMbmLciconsQgn_menu_am_sis,
- EMbmLciconsQgn_menu_am_sis_mask );
-
- return icon;
- }
-
-// ---------------------------------------------------------------------------
-// CGulIcon* LcIconLoader::LoadIconFromFileL
-// ---------------------------------------------------------------------------
-//
-CGulIcon* LcIconLoader::LoadIconfromUIDL( const TUid aAppUid )
- {
- // Create the Icon and the mask for the Application using AknUtils
- CFbsBitmap* bitmap = NULL;
- CFbsBitmap* mask = NULL;
- AknsUtils::CreateAppIconLC( AknsUtils::SkinInstance(),
- aAppUid,
- EAknsAppIconTypeList,
- bitmap,
- mask );
-
- User::LeaveIfNull( bitmap );
- User::LeaveIfNull( mask );
-
- // If the bitmap and the mask exists then make it into a GulIcon
- // which can then be retured.
- CGulIcon* icon = CGulIcon::NewL( bitmap, mask );
- icon->SetBitmapsOwnedExternally( EFalse );
-
- // Not specifying the order because we dont know the order in which they
- // would be created. Though its generally, the bitmap first and then the
- // mask, we should be speculating.
- CleanupStack::Pop( 2 );
- return icon;
- }
-
-// ---------------------------------------------------------------------------
-// CGulIcon* LcIconLoader::LoadIconFromMifFileL
-// ---------------------------------------------------------------------------
-//
-CGulIcon* LcIconLoader::LoadIconFromMifFileL( const TDesC& aAppIconFile,
- TInt aFrameNo )
- {
- // Create the Icon and the mask for the Application using AknUtils
- CFbsBitmap* bitmap = NULL;
- CFbsBitmap* mask = NULL;
-
- AknIconUtils::CreateIconLC( bitmap, mask, aAppIconFile, aFrameNo, aFrameNo + 1 );
-
- User::LeaveIfNull( bitmap );
- User::LeaveIfNull( mask );
-
- // If the bitmap and the mask exists then make it into a GulIcon
- // which can then be retured.
- CGulIcon* icon = CGulIcon::NewL( bitmap, mask );
- icon->SetBitmapsOwnedExternally( EFalse );
-
- // Not specifying the order because we dont know the order in which they
- // would be created. Though its generally, the bitmap first and then the
- // mask, we should be speculating.
- CleanupStack::Pop( 2 );
- return icon;
- }
-
--- a/locationcentre/lcutils/src/lcipcparams.cpp Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,581 +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.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <e32std.h>
-
-// USER INCLUDES
-#include "lcipcparams.h"
-
-// CONSTANT DEFINITIONS
-const TInt KSizeofTUint32 = sizeof( TUint32 );
-
-// ----- Member funtions for RLcIpcAppIdArray --------------------------------
-
-// ---------------------------------------------------------------------------
-// void RLcIpcAppIdArray::ExternalizeL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RLcIpcAppIdArray::ExternalizeL( RWriteStream& aWriteStream )
- {
- // The format for packing the buffer would be as follows
- // Count | Length1 | ID1 | Length2 | ID2 | ...
- // where
- // Count - The number of strings which would be packed
- // Length1 - The Length of the first Identifier string
- // ID1 - First Identifier
- // Length2 - The Length of the second Identifier string
- // ID2 - Second Identifier.
- // ...
-
- const TInt count = Count();
- // First pack the number of elements in the array. Even if there is no
- // elements pack a 0
-
- aWriteStream.WriteUint32L( Count());
-
- for ( TInt i = 0; i < count; i++ )
- {
- // Obtain the element at position i
- HBufC* element = ( *this )[i];
-
- // As per the grammar first pack the length and then pack the string
- TInt length = element->Des().Length();
- aWriteStream.WriteUint32L( length );
-
- // Now pack the identifier
- aWriteStream.WriteL( element->Des(), length );
- }
-
- aWriteStream.CommitL();
- }
-
-// ---------------------------------------------------------------------------
-// void RLcIpcAppIdArray::InternalizeL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RLcIpcAppIdArray::InternalizeL( RReadStream& aReadStream )
- {
- // Clean up all the elements in the array so that the previous internalized
- // structure would be removed.
- ResetAndDestroy();
-
- // The first element in the array is the Count variable which indicates
- // the number of elements in this array.
- const TUint32 count = aReadStream.ReadUint32L();
-
- // Even a string containing no elements is acceptable.
- for ( TInt i = 0; i < count; i++ )
- {
- // First read the length of the Identifer
- TUint32 length = aReadStream.ReadUint32L();
- if ( length >= KMaxTInt/2 )
- {
- User::Leave( KErrArgument );
- }
-
- // Now create a buffer to read the actual identifier name. The length
- // of the buffer would be defined by the length value. Use this buffer
- // read the identifier.
- HBufC* buffer = HBufC::NewLC( length );
- TPtr bufferPtr( buffer->Des());
-
- aReadStream.ReadL( bufferPtr, length );
-
- // Transfer the ownership of the buffer to this array.
- User::LeaveIfError( Append( buffer ));
- CleanupStack::Pop( buffer );
- }
- }
-
-// ---------------------------------------------------------------------------
-// void RLcIpcAppIdArray::BufferLength
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RLcIpcAppIdArray::BufferLength()
- {
- TInt length = 0;
-
- // Pack the Length for including the length of Count buffer
- length += KSizeofTUint32;
-
- // Even a string containing no elements is acceptable.
- for ( TInt i = 0; i < Count(); i++ )
- {
- // First 4 bytes for the Length of the string
- length += KSizeofTUint32;
-
- // Now pack the length for the buffer
- length += ( *this )[i]->Des().Size();
- }
- return length;
- }
-
-// ---------------------------------------------------------------------------
-// void RLcIpcAppIdArray::ResetAndDestroyIdArray
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RLcIpcAppIdArray::ResetAndDestroyIdArray( TAny* aIdArray )
- {
- RLcIpcAppIdArray* array = reinterpret_cast< RLcIpcAppIdArray* >( aIdArray );
- if ( array )
- {
- array->ResetAndDestroy();
- }
-
- }
-
-
-// ----- Member funtions for RLcIpcAppIdArray --------------------------------
-
-// ---------------------------------------------------------------------------
-// void RLcIpcAppInfoArray::ExternalizeL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RLcIpcAppInfoArray::ExternalizeL( RWriteStream& aWriteStream )
- {
- // The format for packing the buffer would be as follows
- // Count | IDLength | ID | NameLength | Name | Launch mode | Sys Characteristics |
- // Application Characteristics
- // where
- // Count - The number of structures which would be packed
- // IDLength - The Length of the Identifier string
- // ID - Application Identifier
- // NameLength - The Length of the name string
- // Name - Application Name.
- // IconFile Length - Length of the Icon file name.
- // Icon File - Full path of the icon file with file name
- // IconFile Type - The Icon file type
- // Frame No - The Frame no of the icon if the icon file is a MIF
- // file
- // Launch Mode - Launching mode of the application
- // Sys Char - System characteristics
- // App Char - Application characteristics
- // These elements are repeated for all Application information structures.
-
- const TInt count = Count();
- // First pack the number of elements in the array. Even if there is no
- // elements pack a 0
-
- aWriteStream.WriteUint32L( Count());
-
- for ( TInt i = 0; i < count; i++ )
- {
- // Obtain the element at position i
- CLcAppInfo* element = ( *this )[i];
-
- // Externalize the parent class first and then externalize the child
- element->ExternalizeL( aWriteStream );
- }
-
- aWriteStream.CommitL();
- }
-
-// ---------------------------------------------------------------------------
-// void RLcIpcAppIdArray::InternalizeL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RLcIpcAppInfoArray::InternalizeL( RReadStream& aReadStream )
- {
- // Clean up all the elements in the array so that the previous internalized
- // structure would be removed.
- ResetAndDestroy();
-
- // The first element in the array is the Count variable which indicates
- // the number of elements in this array.
- const TUint32 count = aReadStream.ReadUint32L();
-
- // Even a string containing no elements is acceptable.
- for ( TInt i = 0; i < count; i++ )
- {
-
- // Create a new CLcAppInfo element
- CLcAppInfo* element = CLcAppInfo::NewLC();
-
- // Internalize the Parent class first and then proceed to the child
- element->InternalizeL( aReadStream );
-
- // Transfer the ownership of the buffer to this array.
- User::LeaveIfError( Append( element ));
- CleanupStack::Pop( element );
-
- }
- }
-
-// ---------------------------------------------------------------------------
-// TInt RLcIpcAppInfoArray::BufferLength
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RLcIpcAppInfoArray::BufferLength()
- {
- TInt length = 0;
-
- // Pack the length for the Count field.
- length += KSizeofTUint32;
-
- // Pack the length required for the individual app structures
-
- TInt count = Count();
- for ( TInt i = 0; i < count; i++ )
- {
- // Obtain the element at position i
- CLcAppInfo* element = ( *this )[i];
-
- // Pack the length required for this element
- length += element->BufferLength();
- }
-
- return length;
- }
-
-// ---------------------------------------------------------------------------
-// void RLcIpcAppIdArray::ResetAndDestroyIdArray
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RLcIpcAppInfoArray::ResetAndDestroyAppArray( TAny* aIdArray )
- {
- RLcIpcAppInfoArray* array = reinterpret_cast< RLcIpcAppInfoArray* >( aIdArray );
- if ( array )
- {
- array->ResetAndDestroy();
- }
- }
-
-// ----- Member funtions for CLcBasicAppInfo ---------------------------------
-
-// ---------------------------------------------------------------------------
-// void CLcBasicAppInfo::ExternalizeL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLcBasicAppInfo::ExternalizeL( RWriteStream& aWriteStream )
- {
- // The format for packing the buffer would be as follows
- // Application Type | DataLength | Data | CmdLength | Cmd
- // where
- // Application Type - The type of the Application which is stored in the
- // structure.
- // DataLength - The Length of the Application data string
- // Data - Application Data
- // CmdLength - The Length of the command line arguments
- // Cmd - Command line arguments
-
- // First pack the Application type
-
- aWriteStream.WriteUint32L( iAppType );
-
- // Pack the Launching mode of the application
- aWriteStream.WriteUint32L( iLaunchMode );
-
- // Pack the length of the Application Data. If there is no application
- // data then pack zero.
- TUint length = 0;
- if ( iAppData )
- {
- length = iAppData->Length();
- }
- aWriteStream.WriteUint32L( length );
-
- // If there is a valid data field pack it onto the buffer.
- if ( length )
- {
- aWriteStream.WriteL( iAppData->Des(), length );
- }
-
- // Pack the command line arguments. If there is no command line
- // parameters then pack a length of 0
- length = 0;
- if ( iCmdLineParams )
- {
- length = iCmdLineParams->Length();
- }
- aWriteStream.WriteUint32L( length );
-
- // If there is a valid command line parameters field pack it onto the buffer.
- if ( length )
- {
- aWriteStream.WriteL( iCmdLineParams->Des(), length );
- }
-
- aWriteStream.CommitL();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcBasicAppInfo::InternalizeL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CLcBasicAppInfo::InternalizeL( RReadStream& aReadStream )
- {
- // Clear the application data
- delete iAppData;
- iAppData = NULL;
-
- // Clear the command line params
- delete iCmdLineParams;
- iCmdLineParams = NULL;
-
- // The first element in the array if the Application type variable.
- iAppType = aReadStream.ReadUint32L();
-
- // The second element is the Application Launch mode
- iLaunchMode = aReadStream.ReadUint32L();
-
- // Now get the length of the data field.
- TUint32 length = aReadStream.ReadUint32L();
- if ( length >= KMaxTInt/2 )
- {
- User::Leave( KErrArgument );
- }
- // Set the application data only if the length is a +ve value.
- if ( length )
- {
- iAppData = HBufC::NewL( length );
- TPtr appData( iAppData->Des());
- aReadStream.ReadL( appData, length );
- }
-
- // Now read the length of the command line parameters
- length = aReadStream.ReadUint32L();
- if ( length >= KMaxTInt/2 )
- {
- User::Leave( KErrArgument );
- }
- // Set the command line params only if the length is a +ve value.
- if ( length )
- {
- iCmdLineParams = HBufC::NewL( length );
- TPtr cmdParam( iCmdLineParams->Des());
- aReadStream.ReadL( cmdParam, length );
- }
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLcBasicAppInfo::BufferLength
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CLcBasicAppInfo::BufferLength()
- {
- TInt length = 0;
-
- // Include length for Application type
- length += KSizeofTUint32;
-
- // Add the length for Launch mode
- length += KSizeofTUint32;
-
- // Add the length of the Application Data and the length for Application
- // data if it exists
- length += KSizeofTUint32;
-
- if ( iAppData )
- {
- length += iAppData->Des().MaxSize();
- }
-
- // Add the length of the Command line args and the length for Cmd line
- // args if it exists
- length += KSizeofTUint32;
-
- if ( iCmdLineParams )
- {
- length += iCmdLineParams->Des().MaxSize();
- }
- return length;
- }
-
-
-// ----- Member funtions for CLcBasicAppInfo ---------------------------------
-
-// ---------------------------------------------------------------------------
-// void CLcBasicAppInfo::ExternalizeL
-// ---------------------------------------------------------------------------
-//
-void CLcAppInfo::ExternalizeL( RWriteStream& aWriteStream )
- {
- CLcBasicAppInfo::ExternalizeL( aWriteStream );
-
- // As per the grammar first pack the length and then pack the string
- TInt length = Id().Length();
- aWriteStream.WriteUint32L( length );
-
- // Pack the Identifier. No need to check for the Length since
- // this is a mandatory field and the Application would not have been
- // accepted if it were not +ve
- aWriteStream.WriteL( Id(), length );
-
- // Pack the name. If there is no name then pack a length of 0 for the
- // name field.
- length = Name().Length();
- aWriteStream.WriteUint32L( length );
-
- // Pack the name field only if the length is +ve
- if ( length )
- {
- aWriteStream.WriteL( Name(), length );
- }
-
- // Pack the Icon file and Icon file type for the file
- length = IconFile().Length();
- aWriteStream.WriteUint32L( length );
-
- if ( length )
- {
- aWriteStream.WriteL( IconFile(), length );
- aWriteStream.WriteUint32L( iIconFileType);
-
- // If the Icon file type is a MIF, pack the Frame no
- if ( EMifFile == iIconFileType )
- {
- aWriteStream.WriteUint32L( iFrameNo );
- }
- }
-
- // Pack the System characteristics
- aWriteStream.WriteUint32L( iSystemCharacteristics );
-
- // Pack the application characteristics
- aWriteStream.WriteUint32L( iAppCharacteristics );
-
- aWriteStream.CommitL();
- }
-
-// ---------------------------------------------------------------------------
-// void CLcBasicAppInfo::InternalizeL
-// ---------------------------------------------------------------------------
-//
-void CLcAppInfo::InternalizeL( RReadStream& aReadStream )
- {
- CLcBasicAppInfo::InternalizeL( aReadStream );
-
- // First read the length of the Identifer
- TUint32 length = aReadStream.ReadUint32L();
- if ( length >= KMaxTInt/2 )
- {
- User::Leave( KErrArgument );
- }
-
- // No need to check for the length for this is a mandatory field.
- // Now create a buffer to read the actual identifier. The length
- // of the buffer would be defined by the length value. Use this buffer
- // read the identifier.
- iId = HBufC::NewL( length );
- TPtr bufferPtr( iId->Des());
- aReadStream.ReadL( bufferPtr, length );
-
- // Read the length of the name buffer
- length = aReadStream.ReadUint32L();
- if ( length >= KMaxTInt/2 )
- {
- User::Leave( KErrArgument );
- }
-
- if ( length )
- {
- iApplicationName = HBufC::NewL( length );
- bufferPtr.Set( iApplicationName->Des());
-
- // Read the name field
- aReadStream.ReadL( bufferPtr, length );
- }
-
- // Read the Icon file if its exists
- length = aReadStream.ReadUint32L();
- if ( length >= KMaxTInt/2 )
- {
- User::Leave( KErrArgument );
- }
-
- if ( length )
- {
- iIconFile = HBufC::NewL( length );
- bufferPtr.Set( iIconFile->Des());
-
- // Read the Icon file field
- aReadStream.ReadL( bufferPtr, length );
-
- // Set the Icon file type
- iIconFileType =
- static_cast< CLcAppInfo::TLcIconFileType >( aReadStream.ReadUint32L());
-
- // If the Icon file type is a MIF file then set the Frame no
- if ( EMifFile == iIconFileType )
- {
- iFrameNo = aReadStream.ReadUint32L();
- }
- }
-
- // Set the System characteristics
- iSystemCharacteristics = aReadStream.ReadUint32L();
-
- // Set the Application characteristics
- iAppCharacteristics = aReadStream.ReadUint32L();
- }
-
-// ---------------------------------------------------------------------------
-// TInt CLcAppInfo::BufferLength
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CLcAppInfo::BufferLength()
- {
- TInt length = 0;
-
- // First pack the length for the Basic App Info structure
- length += CLcBasicAppInfo::BufferLength();
-
- // Include length for Application Identifier
- length += KSizeofTUint32;
- length += iId->Des().MaxSize();
-
- // Pack the name field and the Length of the name field if it exists
- // Add the length of the Command line args and the length for Cmd line
- // args if it exists
- length += KSizeofTUint32;
-
- if ( iApplicationName )
- {
- length += iApplicationName->Des().MaxSize();
- }
-
- // Pack the Icon file field and the name of icon file if it exists
- // Read the Icon file if its exists
- length += KSizeofTUint32;
- if ( iIconFile )
- {
- // Pack the Icon file name length
- length += iIconFile->Des().MaxSize();
-
- // Pack the Icon file type
- length += KSizeofTUint32;
-
- // If the Icon file type is a MIF file then add length for the
- // frame number
- if ( EMifFile == iIconFileType )
- {
- length += KSizeofTUint32;
- }
- }
-
- // Add the length for System characteristics
- length += KSizeofTUint32;
-
- // Add the length for Application characteristics
- length += KSizeofTUint32;
-
- return length;
- }
-// End of File
--- a/locationcentre/loc/lc.loc Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +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: Localization strings for project Location Centre
-*
-*/
-
-
-/**
- * Default (implementation English) Resource localisation file.
- */
-
-// LOCALIZATION STRINGS
-
-// d:Title pane text for Location Centre Application
-// l:title_pane_t2/opt9
-// r:5.0
-//
-#define qtn_loc_title_centre "Location"
-
-// d:Grid layout text for Location Centre Application
-// d:in the Application shell
-// d:The string is defined in Application Shell Contents
-// d:UI specification.
-// l:cell_app_pane_t1
-// r:5.0
-//
-#define qtn_apps_location_grid "Location"
-
-// d:Grid layout text for Location Centre Application
-// d:in the Application shell
-// d:The string is defined in Application Shell Contents
-// d:UI specification.
-// l:list_single_large_graphic_pane_t1
-// r:5.0
-//
-#define qtn_apps_location_list "Location"
--- a/locationcentre/rom/lc.iby Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2009 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: IBY file for Location Centre
-*
-*/
-#ifndef __LC_IBY__
-#define __LC_IBY__
-
-// Location Centre Utils
-file=ABI_DIR\BUILD_DIR\lcutils.dll SHARED_LIB_DIR\lcutils.dll
-
-// Location Centre Client
-file=ABI_DIR\BUILD_DIR\lcservice.dll SHARED_LIB_DIR\lcservice.dll
-
-// Location Centre Server
-file=ABI_DIR\BUILD_DIR\lcserver.exe PROGRAMS_DIR\lcserver.exe
-
-#ifdef __LOCATION_CENTRE
-
- // Location Centre Application EXE
- file=ABI_DIR\BUILD_DIR\lcapp.exe PROGRAMS_DIR\lcapp.exe
-
- // Location Centre Application Icon
- S60_APP_AIF_ICONS(lcapp)
-
- // Location Centre Default Icon
- SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,lcicons)
-
- // Location Centre Application Registration Info
- S60_UPGRADABLE_APP_REG_RSC(lcapp)
-
-#endif // ( __LOCATION_CENTRE )
-
-#endif // ( __LC_IBY__ )
--- a/locationcentre/rom/lc_resources.iby Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2009 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: IBY file for Location Centre Resource
-*
-*/
-#ifndef __LC_RESOURCES_IBY__
-#define __LC_RESOURCES_IBY__
-
-#ifdef __LOCATION_CENTRE
-
- // Location Centre Application resources
- data=ZRESOURCE\apps\lcapp.rsc APP_RESOURCE_DIR\lcapp.rsc
-
-#endif // ( __LOCATION_CENTRE )
-
-#endif // __LC_RESOURCES_IBY__
\ No newline at end of file
--- a/locationcentre/rom/lcstub.iby Wed Apr 14 15:50:30 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/*
-* Copyright (c) 2009 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: IBY file for Location Centre Stub
-*
-*/
-#ifndef __LCSTUB_IBY__
-#define __LCSTUB_IBY__
-
-// Location Centre Stub sis file
-data=ZSYSTEM\install\locationcentrestub.sis system\install\locationcentrestub.sis
-
-#endif // ( __LCSTUB_IBY__ )