landmarks/locationlandmarks/localdbmanprov/inc/EPos_RPosLmLocalDbManSubsession.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 19 Aug 2010 10:20:18 +0300
branchRCL_3
changeset 42 02ba3f1733c6
parent 0 667063e416a2
permissions -rw-r--r--
Revision: 201030 Kit: 201033

/*
* Copyright (c) 2005 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: This class is a subsession handle with operations related to
*  database management event listening.
*
*
*/


#ifndef RPOSLMLOCALDBMANSUBSESSION_H
#define RPOSLMLOCALDBMANSUBSESSION_H

//  INCLUDES
#include <e32base.h>
#include <epos_rposlandmarkserver.h>


/**
*  This class is a subsession handle with operations related to
*  database management event listening.
*
*  @lib eposlmdbmanprov.lib
*  @since S60 3.0
*  @version $Revision: 1.4 $, $Date: 2005/07/07 13:40:15 $
*/
class RPosLmLocalDbManSubsession : public RSubSessionBase
    {
    public:

        /**
        * C++ default constructor.
        *
        */

        RPosLmLocalDbManSubsession();

        /**
        * Creates a local database management subsession with the landmarks
        * server.
        *
        * @param aServer Is a connected session with the landmarks server.
        * @return @p KErrNone if successful, otherwise one of the system-wide
        * error codes.
        */

        TInt Open(
        /* IN  */ RPosLandmarkServer& aServer
        );

        /**
        * Closes the subsession.
        *
        */
        void Close();

        /**
        * Creates a local landmarks database.
        *
        * @param aDatabaseInfo The database that should be created.
        * Database URI, database drive and settings attributes are used.
        * @return @p KErrNone if the successful,
        *   otherwise a system wide error code.
        */
        TInt CreateDatabase(
        /* IN  */ HPosLmDatabaseInfo& aDatabaseInfo
        );

        /**
        * Deletes a local landmarks database.
        *
        * @param aDatabaseInfo The database that should be deleted.
        * Database URI and database drive attributes are used.
        * @return @p KErrNone if the successful,
        *   otherwise a system wide error code.
        */
        TInt DeleteDatabase(
        /* IN  */ HPosLmDatabaseInfo& aDatabaseInfo
        );

        /**
        * Copies a local landmarks database.
        *
        * @param aSourceUri URI of the database that should be copied.
        * @param aTargetUri URI of the new database copy.
        * @return @p KErrNone if the successful,
        *   otherwise a system wide error code.
        */
        TInt CopyDatabase(
        /* IN  */   const TDesC& aSourceUri,
        /* IN  */   const TDesC& aTargetUri
        );

    private:

        // By default, prohibit copy constructor
        RPosLmLocalDbManSubsession(
            const RPosLmLocalDbManSubsession&);
        // Prohibit assigment operator
        RPosLmLocalDbManSubsession& operator= (
            const RPosLmLocalDbManSubsession&);

    private:    // Data

    };

#endif      // RPOSLMLOCALDBMANSUBSESSION_H

// End of File