--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/locverifier/inc/lpdperiodicprocessor.h Tue Feb 02 01:06:48 2010 +0200
@@ -0,0 +1,224 @@
+/*
+* Copyright (c) 2002 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: Helps retrieving request related information
+*
+*/
+
+
+#ifndef CLPDPERIODICPROCESSOR_H
+#define CLPDPERIODICPROCESSOR_H
+
+// INCLUDES
+#include <lbs/epos_cposprivacynotifier.h>
+#include <lbs/epos_cposprivacynotifier.h>
+#include <lbs/epos_cposrequestor.h>
+#include "lpdsuplsettingsadapterobserver.h"
+
+
+// FORWARD DECLARATIONS
+class CEikonEnv;
+class CPosPrivacyNotifier;
+class CLpdVerifierSettingsLauncher;
+class CLpdSUPLSettingsAdapter;
+
+
+static TInt LinkClickedL(TAny* aPtr);
+
+// CLASS DECLARATION
+
+/**
+ * Observer for the Periodic request. This will notify incase there
+ * is change in periodic request contents
+ * @lib locverifierdlg.lib
+ * @since S60 v9.2tb
+ */
+class MLpdPeriodicRequestObserver
+ {
+ public:
+
+ /**
+ * Called when a change has been detected in the period
+ * request contents.
+ *
+ */
+ virtual void UpdateCurrentNotifierL( ) = 0;
+
+ };
+
+/**
+* This class processes and retreives information related to the request based on id
+* @lib locverifierdlg.dll
+* @since 2.1
+*/
+class CLpdPeriodicProcessor : public CBase,
+ public MLpdSUPLSettingsAdapterObserver
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ * @return created object
+ */
+ static CLpdPeriodicProcessor* NewL( MLpdPeriodicRequestObserver& aObserver );
+
+ /**
+ * Two-phased constructor.
+ * @return created object
+ */
+ static CLpdPeriodicProcessor* NewLC( MLpdPeriodicRequestObserver& aObserver );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CLpdPeriodicProcessor();
+
+ public: // New functions
+
+ /**
+ * Sets the Request Id to process
+ * @param aRequestorId periodic Request Id / Session Id
+ * @return ETrue if all requestor id's were valid, EFalse otherwise.
+ */
+ void SetSessionIdL( TInt64 aSessionId );
+
+ /**
+ * Sets the requestor name parameter
+ * @param aRequestorName Requestor's name
+ */
+ void SetRequestorNameL( HBufC* aRequestorName);
+
+ /**
+ * Gets the current Session Id
+ */
+
+ TInt64 GetSessionId( );
+
+ /**
+ * Sets the Request Type of process
+ * @param aRequestType Notification / Query Type
+ */
+
+ void SetRequestTypeL( CPosPrivacyNotifier::TRequestType aRequestType );
+
+ /**
+ * Sets the request id of the current request
+ * @param aRequestId Id of request
+ */
+
+
+ void SetRequestorIdL( TInt32 aRequestorId );
+
+
+ /**
+ * Sets the Requestor to process
+ * @param aRequestor periodic Requestor
+ */
+ void SetRequestorL( CPosRequestor* aRequestor );
+
+ /**
+ * Resets member variables
+ */
+ void ResetParameters();
+
+ /**
+ * Prepares to set the message text in notification dialog
+ */
+ void NotificationMessageTextL( HBufC*& aMessageText);
+
+ /**
+ * Resets requestor arrays and destroys requestor objects.
+ */
+ TCallBack LinkCallBack();
+
+ /**
+ * Launches the Settings Ui for showing Supl periodic/Session details
+ */
+ void LaunchSettingsL();
+
+
+
+ public: //
+
+ /**
+ * Inherited from MLpdSUPLSettingsAdapterObserver.
+ */
+ void UpdateSessionL( TInt64 aSessionId );
+
+ protected: // Constructors and destructors
+
+ /**
+ * C++ constructor.
+ */
+ CLpdPeriodicProcessor( MLpdPeriodicRequestObserver& aObserver );
+
+
+ protected: // New methods
+
+ /**
+ * Handles assert errors. Panics in debug build and leaves in
+ * release build, as this component runs in EikSrv
+ * and must never panic
+ */
+ void HandleAssertErrorL() const;
+
+ private:
+ void ConstructL();
+
+ void GetResourceAndPeriodL( TUint aSeconds,
+ TInt& aResourceId, TDes& aPeriodString );
+ void GetMessageStringL( HBufC*& aMessageString,
+ TInt& aResourceId, TDesC& aNameString, TDesC& aPeriodString );
+
+
+
+ protected: //Data
+
+
+ private: //Data
+
+ // Observer for the current request
+ MLpdPeriodicRequestObserver& iObserver;
+
+ // Message Text to be displayed in Message Query control
+ HBufC* iMessageText; //Owns
+
+ HBufC* iRequestorName;
+
+ // Current session id
+ TInt64 iSessionId; //Owns
+
+ // Current Request Id
+ TInt iRequestorId;
+
+ // Current Request Type
+ CPosPrivacyNotifier::TRequestType iRequestType;
+
+ CPosRequestor::TRequestType iRequestorType;
+
+ CLpdSUPLSettingsAdapter* iSUPLSettingsAdapter;
+
+ // Settings Launcher
+ CLpdVerifierSettingsLauncher* iVerifierSettingsLauncher; //Owns
+
+ // Current Request's Requestor
+ // :Owns
+ CPosRequestor* iRequestor;
+
+ CEikonEnv* iEikEnv;
+
+ };
+
+#endif // CLPDPERIODICPROCESSOR_H
+
+// End of File