--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/htiui/HtiServicePlugins/HtiSysInfoServicePlugin/inc/HtiSysInfoServicePlugin.h Tue Feb 02 00:17:27 2010 +0200
@@ -0,0 +1,174 @@
+/*
+* 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: Implementation of ECOM plug-in service interface. Provides
+* system info service.
+*
+*/
+
+
+#ifndef HTISYSINFOPLUGIN_H
+#define HTISYSINFOPLUGIN_H
+
+// INCLUDES
+#include <e32property.h>
+#include <f32file.h>
+#include <HTIServicePluginInterface.h>
+
+// FORWARD DECLARATIONS
+class CHtiLightsController;
+class CHtiPropertySubscriber;
+class CMGXFileManager;
+class CMGXFileNotificationHandler;
+class MDesCArray;
+
+// CLASS DECLARATION
+/**
+* System info service plugin.
+*/
+class CHtiSysInfoServicePlugin : public CHTIServicePluginInterface
+ {
+ public:
+
+ static CHtiSysInfoServicePlugin* NewL();
+
+ // Interface implementation
+ void ProcessMessageL( const TDesC8& aMessage,
+ THtiMessagePriority aPriority );
+
+ void NotifyMemoryChange( TInt aAvailableMemory );
+
+ static TInt HandleAllowSSPropertyChange( TAny* aPtr );
+
+ protected:
+
+ CHtiSysInfoServicePlugin();
+ void ConstructL();
+ virtual ~CHtiSysInfoServicePlugin();
+
+
+ private: // private helper methods
+
+ void HandleGetHalAttrL( const TDesC8& aMessage );
+ void HandleGetImeiL( const TDesC8& aMessage );
+ void HandleGetSwVersionL( const TDesC8& aMessage );
+ void HandleGetLangVersionL( const TDesC8& aMessage );
+ void HandleGetSwLangVersionL( const TDesC8& aMessage );
+ void HandleGetUserAgentStringL( const TDesC8& aMessage );
+ void HandleGetFreeRamL( const TDesC8& aMessage );
+ void HandleGetUsedRamL( const TDesC8& aMessage );
+ void HandleGetTotalRamL( const TDesC8& aMessage );
+ void HandleEatRamL( const TDesC8& aMessage );
+ void HandleReleaseRamL( const TDesC8& aMessage );
+ void HandleGetFreeDiskSpaceL( const TDesC8& aMessage );
+ void HandleGetUsedDiskSpaceL( const TDesC8& aMessage );
+ void HandleGetTotalDiskSpaceL( const TDesC8& aMessage );
+ void HandleEatDiskSpaceL( const TDesC8& aMessage );
+ void HandleReleaseDiskSpaceL( const TDesC8& aMessage );
+ void HandleSetHomeTimeL( const TDesC8& aMessage );
+ void HandleGetHomeTimeL( const TDesC8& aMessage );
+ void HandleLightsCommandL( const TDesC8& aMessage );
+ void HandleScreenSaverCommandL( const TDesC8& aMessage );
+ void HandleScreenSaverTimeoutCommandL( const TDesC8& aMessage );
+ void HandleNetworkModeCommandL( const TDesC8& aMessage );
+ void HandleIrActivateCommandL( const TDesC8& aMessage );
+ void HandleBtPowerCommandL( const TDesC8& aMessage );
+ void HandleBtSettingsCommandL( const TDesC8& aMessage );
+ void HandleBtDeletePairingsL( const TDesC8& aMessage );
+ void HandleKeyLockToggleL( const TDesC8& aMessage );
+ void HandleAutoKeyGuardTimeL( const TDesC8& aMessage );
+ void HandleEmptyDrmRightsDbL( const TDesC8& aMessage );
+ void HandleBatteryStatusL( const TDesC8& aMessage );
+ void HandleSignalStrengthL( const TDesC8& aMessage );
+ void HandleSetDateTimeFormatL( const TDesC8& aMessage );
+ void HandleHsdpaCommandL( const TDesC8& aMessage );
+ void HandleUpdateMediaGalleryL( const TDesC8& aMessage );
+ void HandleActivateSkinL( const TDesC8& aMessage );
+
+ void ParseTimeDataL( const TDesC8& aTimeData, TTime& aResult );
+ TInt CleanUpTempFiles();
+ TBool CanTurnBluetoothOnL( const TBool aUseForce );
+
+ private: // private data
+ RFs iFs;
+ CFileMan* iFileMan;
+ HBufC8* iMemEater;
+ HBufC8* iReply;
+ CHtiLightsController* iLightsController;
+ TInt iAllowSSValue;
+ CHtiPropertySubscriber* iAllowSSSubscriber;
+ RProperty iAllowSSProperty;
+ TBool iAllowSSPropertyAttached;
+ TBool iGalleryUpdateSupported;
+ };
+
+
+// CLASS DECLARATION
+/**
+* Helper class to wait the async requests.
+*/
+class CAsyncWaiter : public CActive
+ {
+ public:
+ static CAsyncWaiter* NewL( TInt aPriority = EPriorityStandard );
+ static CAsyncWaiter* NewLC( TInt aPriority = EPriorityStandard );
+ ~CAsyncWaiter();
+
+ void StartAndWait();
+ TInt Result() const;
+
+ private:
+ CAsyncWaiter( TInt aPriority );
+
+ // from CActive
+ void RunL();
+ void DoCancel();
+
+ private:
+ CActiveSchedulerWait* iWait;
+ TInt iResult;
+ };
+
+
+// CLASS DECLARATION
+/**
+* Copied from MGXFileManagerFactory.h
+*/
+class MGXFileManagerFactory
+ {
+ public:
+ static CMGXFileManager* NewFileManagerL( RFs& aFs );
+ static CMGXFileNotificationHandler* NewFileNotificationHandlerL();
+ };
+
+
+// CLASS DECLARATION
+/**
+* Copied from CMGXFileManager.h
+*/
+class CMGXFileManager : public CBase
+ {
+ public:
+ virtual TBool SuccessFileNameL( const TDesC& aFileName,
+ TDriveNumber aDrive ) = 0;
+ virtual void UpdateL() = 0;
+ virtual void UpdateL( const TDesC& aFullPath ) = 0;
+ virtual void UpdateL( const TDesC& aOldName,
+ const TDesC& aNewName ) = 0;
+ virtual void UpdateL( const MDesCArray& aFileNameArray ) = 0;
+ };
+
+
+#endif // HTISYSINFOPLUGIN_H
+
+// End of file