upnpharvester/common/cmsettings/inc/cmsettings.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:52:00 +0200
changeset 0 7f85d04be362
permissions -rw-r--r--
Revision: 200947 Kit: 200951

/*
* Copyright (c) 2006-2007 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:      CM Settings class
*
*/







#ifndef M_CCMSETTINGS_H
#define M_CCMSETTINGS_H

// INCLUDES
#include <e32base.h>
#include "cmcommon.h"

// FORWARD DECLARATIONS
class CRepository;
class CCmDriveInfo;
class RFs;

/**
 *  Defines the cmsettings interface
 *
 *  This class defines the cmsettings interface. Provides methods to
 *  execute fill specific services
 *
 *  @lib cmsettings.lib
 *  @since S60 v3.2
 */
class MCmSettings
    {

public: // New functions

    /**
     * Gets the status for the Content Manager service
     *
     * @since S60 3.1
     * @param aService indicates service
     * @param aState state enum is returned here
     * @return status of the operation
     */
    virtual TInt GetServiceState( const TCmService aService,
                                   TCmServiceState& aState ) const = 0;

     /**
     * Sets Content Manager service state
     *
     * @since S60 3.1
     * @param aState TCmServerState to indicate state
     * @return status of the operation
     */
    virtual TInt SetServiceState( const TCmService aService,
                                   const TCmServiceState aState ) = 0;

    /**
     * Gets defined MMC information.
     *
     * @since S60 3.1
     * @param aName MMC card's name (max length KMaxFileName)
     * @param aId MMC car's unique id
     * @return status of the operation
     */
//    virtual TInt GetMmcInformation( TDes& aName, TUint& aId ) const = 0;


    /**
     * Sets defined MMC information.
     *
     * @since S60 3.1
     * @param aName MMC card's name (max length KMaxFileName)
     * @param aId MMC car's unique id
     * @return status of the operation
     */
//    virtual TInt SetMmcInformation( const TDesC& aName, const TUint aId ) = 0;


    /**
     * Gets defined IAP information.
     *
     * @since S60 3.1
     * @param aIap access point info is stored here
     * @return status of the operation
     */
   virtual TInt GetIapL( TInt& aIap ) const = 0;

    /**
     * Gets next runtime information for the specified service.
     *
     * @since S60 3.1
     * @param aService content manager service
     * @param aRuntime the next date and time service is run.
     * @return status of the operation
     */
    virtual TInt GetNextRuntime( const TCmService aService,
                                  TTime& aRuntime ) const = 0;


    /**
     * Sets next runtime information for the specified service.
     *
     * @since S60 3.1
     * @param aService content manager service
     * @param aNextTime the next date and time service is run.
     * @return status of the operation
     */
    virtual TInt SetNextRuntime( const TCmService aService,
                                  const TTime aRuntime ) = 0;


    /**
     * Gets device discovery delay
     *
     * @since S60 3.1
     * @param aDelay device discovery delay
     * @return status of the operation
     */
    virtual TInt GetDiscoveryDelay( TInt& aDelay ) const = 0;


    /**
     * Sets device discovery delay
     *
     * @since S60 3.1
     * @param aDelay device discovery delay
     * @return status of the operation
     */
    virtual TInt SetDiscoveryDelay( const TInt aDelay ) = 0;


    /**
     * Gets automatic sync settings
     *
     * @since S60 3.1
     * @param aAutoSync automatic sync settings
     * @return status of the operation
     */
    virtual TInt GetAutoSync( TBool& aAutoSync ) const = 0;


    /**
     * Sets automatic sync settings
     *
     * @since S60 3.1
     * @param aAutoSync automatic sync settings
     * @return status of the operation
     */
    virtual TInt SetAutoSync( const TBool aAutoSync ) = 0;

     /**
     * Gets memory manager status
     *
     * @since S60 3.1
     * @param aMmStatus memory manager status
     * @return status of the operation
     */
    virtual TInt GetMemoryManagerStatus( TBool& aMmStatus ) const = 0;

     /**
     * Sets memory manager status
     *
     * @since S60 3.1
     * @param aMmStatus memory manager status
     * @return status of the operation
     */
    virtual TInt SetMemoryManagerStatus( const TBool aMmStatus ) = 0;

    /**
     * Gets search item count
     *
     * @since S60 3.1
     * @param aItemCount result item count
     * @return status of the operation
     */
    virtual TInt GetSearchCount( TInt& aItemCount ) const = 0;

    /**
     * Gets add item count
     *
     * @since S60 3.1
     * @param aItemCount result item count
     * @return status of the operation
     */
    virtual TInt GetAddCount( TInt& aItemCount ) const = 0;

    /**
     * ???
     *
     * @since S60 3.1
     * @param aAppWizardState ??
     * @return TInt ???
     */
    virtual TInt GetAppWizardInformation( TInt& aAppWizardState ) const = 0;

    /**
     * ???
     *
     * @since S60 3.1
     * @return TInt ???
     */
    virtual TInt SetAppWizardInformation() = 0;

    /**
     * ???
     *
     * @since S60 3.1
     * @param aFs ??
     * @param aDrives ??
     */
    virtual void DriveListL( RFs& aFs,
                              RPointerArray<CCmDriveInfo>& aDrives ) const = 0;

    /**
     * Deletes the object
     *
     * @since S60 3.1
     */
	virtual void Close() = 0;

    };


#endif // M_CCMSETTINGS_H