internetradio2.0/irsettings/inc/irsettings.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 18 Aug 2010 09:40:26 +0300
changeset 14 896e9dbc5f19
permissions -rw-r--r--
Revision: 201031 Kit: 201033

/*
* 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:
*
*/
#ifndef C_CIRSETTINGS_H
#define C_CIRSETTINGS_H

#include <f32file.h>

class CRepository;

// CLEANUP REQUIRED

const TInt KMaxLengthIRAppVersion = 50;
const TInt KMaxLengthIrId = 32;
const TInt KMaxLengthSilencePeriod = 32;
const TInt KMaxLengthUrl = 500;
const TInt KMaxLengthFileName = 500;

// END CLEANUP

NONSHARABLE_CLASS( CIRSettings ) : public CObject
    {

public:

    IMPORT_C static CIRSettings* OpenL();
    ~CIRSettings();

    IMPORT_C TBool IsFlagTermsAndConditionsL();
    IMPORT_C void SetFlagTermsAndConditionsL();
    IMPORT_C void ReSetFlagTermsAndConditionsL();
    IMPORT_C const TDesC& GetIrappVersionL() const;
    IMPORT_C void SetIRIDL(const TDesC& aIrid);
    IMPORT_C const TDesC& GetIRIDL() const;
    IMPORT_C const  TDesC& GetISDSBaseUrlL() const;
    IMPORT_C void SetISDSBaseUrlL(const TDesC& aIsdsUrl);
    IMPORT_C TInt GetVolumeSetting() const;
    IMPORT_C void SetVolumeSettingL(TInt aPlayVolume);
    IMPORT_C TBool IsUpdateAvailableL();
    IMPORT_C void SetUpdateAvailableL();
	IMPORT_C void ReSetUpdateAvailableL();
    IMPORT_C TInt GetLogRunningNo() const;
    IMPORT_C void SetLogRunningNoL();
    IMPORT_C void SetTimeOutL(TInt aTimeOut);
    IMPORT_C TInt GetTimeOut() const;
    IMPORT_C void SetSilencePeriodL(TUint aSilencePeriod);
    IMPORT_C TUint GetSilencePeriodL() const;
    IMPORT_C void SetSilencePeriodStartL(const TDesC& aSilencePeriodStart);
    IMPORT_C const TDesC& GetSilencePeriodStartL() const;
    IMPORT_C void SetPreferredQualityL(TInt aQualityValue);
    IMPORT_C TInt GetPreferredQuality() const; 
    IMPORT_C void SetSongHisotryShowL(TInt aShowFlag);
    IMPORT_C TInt GetSongHistoryShow() const;
    IMPORT_C void SetMaxPresetCountL(TInt aMaxCount);
    IMPORT_C TInt MaxPresetCount();
    IMPORT_C void SetTimeCorrectionL(TInt aCorrection);
    IMPORT_C TInt TimeCorrection() const;
    IMPORT_C const TDesC& PrivatePath() const;

	// Methods for starting view
    /**
     * SetStartingViewIdL()
     * Sets the starting view Id in cenrep
     */
    IMPORT_C void SetStartingViewIdL(TUint32 aStartingViewId);
   
    /**
     * GetStartingViewIdL()
     * Gets the starting view Id from cenrep
     */
    IMPORT_C TUint32 GetStartingViewIdL() const;
   
	/**
	 * GetGlobalAdvFlagL()
	 * Gets the global advertisement flag from cenrep
	 */
	IMPORT_C TBool GetGlobalAdvFlagL();

	/**
	 * GetManuallyInputtedStationUrlL()
	 * Gets the url inputted in Go to station view from cenrep
	 */
    IMPORT_C const  TDesC& GetManuallyInputtedStationUrlL() const;
    /**
     * SetManuallyInputtedStationUrlL()
     * Sets the url in Go to station view from cenrep
     */
    IMPORT_C void SetManuallyInputtedStationUrlL(const TDesC& aUrl);

    /**
     * GetManuallyInputtedStationNameL()
     * Gets the name inputted in Go to station view from cenrep
     */
    IMPORT_C const  TDesC& GetManuallyInputtedStationNameL() const;
    /**
     * SetManuallyInputtedStationNameL()
     * Sets the name in Go to station view from cenrep
     */
    IMPORT_C void SetManuallyInputtedStationNameL(const TDesC& aName);
private:

    CIRSettings();
    void ConstructL();

private:

	CRepository *iRepository;
    RFs iFs;

	//key KIrappVersion
    TBuf<KMaxLengthIRAppVersion> iIrappVersion;//! irapp version number, 
    //key KIRID
    TBuf<KMaxLengthIrId> iIRID;//! ir-id supplied by isds. cannot change
    // key KSilencePeriodStartTime
    TBuf<KMaxLengthSilencePeriod> iSilencePeriodStartTime; //!Universal timestamp for the time of decline of an Update
    //key KISDSBaseUrl
    TBuf<KMaxLengthUrl> iISDSBaseUrl;//!the base url of isds
    TBuf<KMaxLengthFileName> iPrivatePath;
    TBuf<KMaxLengthUrl> iStationUrl;
    TBuf<KMaxLengthFileName> iStationName;
    };
    
#endif // C_CIRSETTINGS_H