diff -r 000000000000 -r 96612d01cf9f mediasettings/mediasettingsengine/inc/MPSettingsModelForROP.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mediasettings/mediasettingsengine/inc/MPSettingsModelForROP.h Mon Jan 18 20:21:12 2010 +0200 @@ -0,0 +1,504 @@ +/* +* 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 the License "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: MMF ROP plugin specific settings model.* +*/ + + + +// Version : %version: 6 % + + + + +#ifndef MPSETTINGSMODELFORROP_H +#define MPSETTINGSMODELFORROP_H + +// INCLUDES +#include +#include +#include +#include "mpsettingsmodel.h" + +class CMPRopSettingItem; +class CMPSettingsRopConfigParser; +class CCommsDatabase; +class CApUtils; + +// CLASS DECLARATION + +/** +* CMPSettingsModelForROP +* MMF ROP plugin specific settings model. +* +* @lib MPSettEngine.dll +* @since 2.0 +*/ +class CMPSettingsModelForROP : public CMPSettingsModel + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CMPSettingsModelForROP* NewL(); + + /** + * Destructor. + */ + virtual ~CMPSettingsModelForROP(); + + public: // Functions from base classes + + /** + * From MMPSettingsModel, provides uid of the MMF controller, + * which settings this class handles + * @since 2.0 + * @return MMF controller UID + */ + const TUid MMFControllerID(); + + /** + * From MMPSettingsModel, + * @since 2.0 + */ + void LoadSettingsL(TInt aConfigVersion); + + /** + * From MMPSettingsModel, + * @since 2.0 + */ + void StoreSettingsL(); + + /** + * From MMPSettingsModel, sets video contrast + * @since 2.0 + * @param aContrast Contrast level + * @return Error value. + */ + TInt SetVideoContrast(TInt aContrast); + + /** + * From MMPSettingsModel, returns video contrast level. + * @since 2.0 + * @param aContrast Contrast level: + * @return Error value. + */ + TInt GetVideoContrast(TInt& aContrast); + + /** + * From MMPSettingsModel, sets proxy mode.. + * @since 2.0 + * @param aMode Proxy mode. + * @return Error value. + */ + TInt SetProxyMode(TInt aMode); + + /** + * From MMPSettingsModel, returns proxy mode. + * @since 2.0 + * @param aMode Proxy mode: + * 0: Disabled + * 1: Enabled + * @return Error value. + */ + TInt GetProxyMode(TInt& aMode); + + /** + * From MMPSettingsModel, sets Proxy host name. + * @since 2.0 + * @param aHostName Proxy host name. + * @return Error value. + */ + TInt SetProxyHostNameL(const TDesC& aHostName); + + /** + * From MMPSettingsModel, returns proxy host name. + * @since 2.0 + * @param aHostName Proxy host name. + * @return Error value. + */ + TInt GetProxyHostName(TDes& aHostName); + + /** + * From MMPSettingsModel, sets proxy port number. + * @since 2.0 + * @param aPort Proxy port number. + * @return Error value. + */ + TInt SetProxyPort(TInt aPort); + + /** + * From MMPSettingsModel, returns proxy port number.. + * @since 2.0 + * @return Integer: Proxy port number. + * @return Error value. + */ + TInt GetProxyPort(TInt& aPort); + + /** + * From MMPSettingsModel, sets default access point. + * @since 2.0 + * @param aApId Access point ID. + * @return Error value. + */ + TInt SetDefaultAp(TUint32 aApId); + + /** + * From MMPSettingsModel, returns default access point ID. + * @since 2.0 + * @param aApId Access point ID. + * @return Error value. + */ + TInt GetDefaultAp(TUint32& aApId); + + /** + * Sets bandwidth control mode. + * @since 2.0 + * @param aMode bandwidth control mode. + * @return Error value. + */ + TInt SetBandwidthControlMode(TInt aMode); + + /** + * Returns bandwidth control mode. + * @since 2.0 + * @param aMode bandwidth control mode: + * 0: Use dynamic bw control if possible + * 1: Use static bw control + * @return Error value. + */ + TInt GetBandwidthControlMode(TInt& aMode); + + /** + * From MMPSettingsModel, sets maximum bandwidth. + * @since 2.0 + * @param aMaxBw Maximum bandwidth. + * @param aBearer Bearer, which max bw is set. + * @return Error value. + */ + TInt SetMaxBandwidth(TInt aMaxBw, TDataBearer aBearer); + + /** + * From MMPSettingsModel, returns maximum bandwidth. + * @since 2.0 + * @param aMaxBw Maximum bandwidth. + * @param aBearer Bearer, which max bw is enquired. + * @return Error value. + */ + TInt GetMaxBandwidth(TInt& aMaxBw, TDataBearer aBearer); + + /** + * From MMPSettingsModel, sets connection timeout. + * @since 2.0 + * @param aTimeout Timeout in minutes. + * @return Error value. + */ + TInt SetConnectionTimeout(TInt aTimeout); + + /** + * From MMPSettingsModel, returns connection timeout. + * @since 2.0 + * @param aTimeout Timeout in minutes. + * @return Error value. + */ + TInt GetConnectionTimeout(TInt& aTimeout); + + /** + * From MMPSettingsModel, sets server timout. + * @since 2.0 + * @param aTimeout Timeout in minutes. + * @return Error value. + */ + TInt SetServerTimeout(TInt aTimeout); + + /** + * From MMPSettingsModel, returns server timeout. + * @since 2.0 + * @param aTimeout Timeout in minutes. + * @return Error value. + */ + TInt GetServerTimeout(TInt& aTimeout); + + /** + * From MMPSettingsModel, sets minimum UDP port number. + * @since 2.0 + * @param aPort minimum port number. + * @return Error value. + */ + TInt SetMinUDPPort(TInt aPort); + + /** + * From MMPSettingsModel, returns minimum UDP port number. + * @since 2.0 + * @param aPort minimum UDP port number in minutes. + * @return Error value. + */ + TInt GetMinUDPPort(TInt& aPort); + + /** + * From MMPSettingsModel, sets maximum UDP port number. + * @since 2.0 + * @param aPort maximum port number. + * @return Error value. + */ + TInt SetMaxUDPPort(TInt aPort); + + /** + * From MMPSettingsModel, returns maximum UDP port number. + * @since 2.0 + * @param aPort maximum UDP port number in minutes. + * @return Error value. + */ + TInt GetMaxUDPPort(TInt& aPort); + + /** + * Provides MMF controller version information. + * @since 2.0 + * @param aVersion Controller version number. + * @return Error value. + */ + TInt GetControllerVersionInfo(TDes& aVersion); + + /** + * Provides MMF controller's build date. + * @since 2.0 + * @param aBldDate Controller build date. + * @return Error value. + */ + TInt GetControllerBuildDate(TDes& aBldDate); + + /** + * Provides additional information about MMF controller. + * @since 2.0 + * @param aAdditionalInfo Additional controller information. + * @return Error value. + */ + TInt GetControllerAdditionalInfo(TDes& aAdditionalInfo); + + /** + * Sets demand bandwidth factor. + * @since 2.1 + * @param aFactor Demand bandwidth factor. + * @return Error value. + */ + TInt SetDemandBwFactor(TInt aFactor); + + /** + * Returns demand factor bandwidth. + * @since 2.1 + * @param aFactor Demand bandwidth factor. + * @return Error value. + */ + TInt GetDemandBwFactor(TInt& aFactor); + + /** + * Sets sustainable bandwidth. + * @since 2.1 + * @param aSustainBw Sustainable bandwidth. + * @param aBearer Bearer, which max bw is set. + * @return Error value. + */ + TInt SetSustainBandwidth(TInt aSustainBw, TDataBearer aBearer); + + /** + * Returns sustainable bandwidth. + * @since 2.1 + * @param aSustainBw Sustainable bandwidth. + * @param aBearer Bearer, which max bw is enquired. + * @return Error value. + */ + TInt GetSustainBandwidth(TInt& aSustainBw, TDataBearer aBearer); + + /** + * Returns an array of the fixed sustainable bandwidth values. + * @since 2.1 + * @param aBwArray Fixed sustain bandwidth values are copied to this array. + * @param aBearer Bearer, which fixed sustain bw values is enquired. + * @return Error value. + */ + TInt GetSustainBwPresetsL(RArray& aBwArray, TDataBearer aBearer); + + /** + * Returns an array of the fixed max bandwidth values. + * @since 2.1 + * @param aBwArray Fixed max bandwidth values are copied to this array. + * @param aBearer Bearer, which fixed max bw values is enquired. + * @return Error value. + */ + TInt GetMaxBwPresetsL(RArray& aBwArray, TDataBearer aBearer); + + public: // value to / from MediaPlayer Repository + /** + * Returns video repeat mode. + * @since 2.0 + * @return ETrue: On + * EFalse: Off + */ + TBool IsVideoRepeatOnL(); + + /** + * Sets video repeat mode. Deprecated. + * @since 2.0 + * @param aRepeat Repeat mode. + */ + void SetVideoRepeatL(const TBool aRepeat); + + /** + * Returns default view mode. Deprecated. + * @since 3.2 + * @return ETrue: On (Normal-screen view) + * EFalse: Off (Full-screen view) + */ + TBool IsDefaultViewOnL(); + + /** + * Sets default view mode. + * @since 3.2 + * @param aView Default view mode. + */ + void SetDefaultViewL(const TBool aView); + + /** + * Returns if Rocker Keys Feature is supported + * @since 3.2 + * @return ETrue: - Rocker Keys feature is supported + * EFalse: - Rocker Keys feature is not supported + */ + TBool IsRockerKeysSupportedL(); + + /** + * Sets rocker keys mode. + * @since 3.2 + * @param aRockerKeys rocker keys mode. + */ + void SetRockerKeysL(const TBool aRockerKeys); + + /** + * Returns Rocker Keys mode + * @since 3.2 + * @return ETrue: Show (Rocker Keys are shown) + * EFalse: Hide (Rocker Keys are hidden) + */ + TBool ShowRockerKeysL(); + + /** + * Sets Media Player auto disconnection time. + * @since 2.0 + * @param aTime Auto disconnection time. + */ + void SetAutoDisconTimeL(const TInt aTime); + + /** + * Returns Media Player auto disconnection time. + * @since 2.0 + * @return 0: Unlimited time + * 1-99: Time in minutes + */ + TInt AutoDisconTimeL(); + + + private: + + /** + * C++ default constructor. + */ + CMPSettingsModelForROP(); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + private: + + /** + * Function for setting an integer value to iItems + * array according to item id. + */ + TInt SetIntegerValue(TInt aId, TInt aValue); + + /** + * Function for getting an integer value from iItems + * array according to item id. + */ + TInt GetIntegerValue(TInt aId, TInt& aValue); + + /** + * Function for getting an string value from iItems + * array according to item id. + */ + TInt GetStringValue(TInt aId, TDes& aString); + + /** + * Resets aArray and populates it with values from iIntArray. + * aId is the id of an item from iItems, which iIntArray + * is copied. + */ + TInt GetArrayL(TInt aId, RArray& aArray); + + /** + * Finds item from iItems according to it's id. + */ + TInt GetItem(TInt aId, CMPRopSettingItem*& aItem); + + /** + * Locates the resource file searching from y: to a: and then z: last. + * + * @param aFileName Full path to resource file. + * @param aFs File server session. + */ + void LocateResourceFileL( TFileName& aFileName, RFs& aFs ); + + /** + * Gets WAP id from IAP id. Leaves with KErrNotFound if no record with given + * IAP id is found. + * + * @return WAP id matching the given IAP id. + */ + TUint32 WapIdFromIapIdL( TUint32 aIapId ); + + /** + * Gets WAP id from IAP id. Leaves with KErrNotFound if no record with given + * IAP id is found. + * + * @return WAP id matching the given IAP id. + */ + TUint32 IapIdFromWapIdL( TUint32 aWapId ); + + private: // new + + void InitializeCentralRepositoryL(); + void UninitializeCentralRepository(); + + + private: // Data + + //Central repository objects + CRepository* iClient; + CRepository* iMediaPlayerClient; + + CArrayPtr* iItems; + CMPSettingsRopConfigParser* iParser; + + HBufC8* iROPSettings; + HBufC8* iROPHeader; + + RMMFController iMMFController; + CCommsDatabase* iCommDb; + CApUtils* iApUtils; + }; + +#endif // MPSETTINGSMODELFORROP_H + +// End of File