syncmlfw/ds/settings/inc/nsmldsoperatorsettings.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 16:04:06 +0300
branchRCL_3
changeset 61 b183ec05bd8c
permissions -rw-r--r--
Revision: 201033 Kit: 201035

/*
* Copyright (c) 2010 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:  DS Operator Settings
*
*/

#ifndef __NSMLDSOPERATORSETTINGS_H
#define __NSMLDSOPERATORSETTINGS_H

// INCLUDES
#include <e32base.h>

// FORWARD DECLARATIONS
class CRepository;

// ----------------------------------------------------------------------------
//  CNSmlDSOperatorSettings provides an interface to 
//  DS Operator Settings repository
//
//*  @lib nsmldssettings.lib
// ----------------------------------------------------------------------------
class CNSmlDSOperatorSettings : public CBase
    {
    public:
        /**
        * Two-phased constructor.
        */
        IMPORT_C static CNSmlDSOperatorSettings* NewL();

        /**
        * Two-phased constructor.
        */
        IMPORT_C static CNSmlDSOperatorSettings* NewLC();

        /**
        * Destructor.
        */
        IMPORT_C virtual ~CNSmlDSOperatorSettings();

        /**
        * Is current profile Operator specific profile.
        * @param aServerId Server Id to compare in Repository value.
        * @return Boolean ETrue if profile is Operator specific profile.
        */
        IMPORT_C TBool IsOperatorProfileL( const TDesC& aServerId  );

        /**
        * SW version of Operator specific profile.
        * @return Software version.
        */
        IMPORT_C HBufC8* CustomSwvValueLC();

        /**
        * Model value of Operator specific profile.
        * @return Mod value.
        */
        IMPORT_C HBufC8* CustomModValueLC();

        /**
        * Manufacturer value of Operator specific profile.
        * @return Manufacturer value.
        */
        IMPORT_C HBufC8* CustomManValueLC();

        /**
        * Populates server status code list
        * @param RArray to contains status codes
        */
        IMPORT_C void PopulateStatusCodeListL( RArray< TInt >& aArray );

        /**
        * SyncML Error Reporting
        * @return Boolean ETrue if SyncML Error Reporting is enabled.
        */
        IMPORT_C TBool SyncErrorReportingEnabled(); 
                
        /**
        * HTTP Error Reporting
        * @return Boolean ETrue if HTTP Error Reporting is enabled.
        */
        IMPORT_C TBool HttpErrorReportingEnabled(); 
                
    private:

        /**
         * Reads list of status codes from cenrep
        * @param RArray to contains status codes
        */
        void InitializeServerStatusCodeListL( RArray< TInt >& aArray );

        /**
        * C++ constructor.
        */
        CNSmlDSOperatorSettings();
        
        /**
        * 2nd phase constructor.
        */
        void ConstructL();

        /**
        * Get Repository key value of Operator specific profile.
        * @param aKey Repository key which value method returns.
        * @return Repository key value.
        */
        HBufC8* GetValueLC( const TUint32 aKey );

    private: // data
        CRepository* iRepository;

    };

#endif // __NSMLDSOPERATORSETTINGS_H

// End of File