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