cmmanager/connection_settings_shim/inc/cmdestination_shim_s60_p.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 03 May 2010 12:53:07 +0300
changeset 20 9c97ad6591ae
child 40 c5b848e6c7d1
permissions -rw-r--r--
Revision: 201015 Kit: 201018

/*
 * 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:  
 * Private implementation of Wrapper for CM Manager Symbian interface.
 */

#ifndef CMDESTINATION_SHIM_P_H
#define CMDESTINATION_SHIM_P_H

// System includes

#include <QString>
#include <cmmanagerdefines_shim.h>

// User includes

// Forward declarations

class RCmDestination;
class CmConnectionMethodShim;

// External data types

// Constants

// Class declaration

class CmDestinationShimPrivate
{

public:

    // Data types

    CmDestinationShimPrivate(RCmDestination &destination);

    ~CmDestinationShimPrivate();
    
    int ConnectionMethodCount() const;
           
    CmConnectionMethodShim *ConnectionMethod(int index) const;
           
    CmConnectionMethodShim *ConnectionMethodByID(uint cmId) const;

    uint Priority(CmConnectionMethodShim *cmItem) const;
           
    QString Name() const;
           
    uint Id() const;

    uint Metadata(CMManagerShim::SnapMetadataField metadataField) const;

    CMManagerShim::CmmProtectionLevel ProtectionLevel() const;
           
    bool IsHidden() const;
           
    int AddConnectionMethod(CmConnectionMethodShim *cm);            
       
    void DeleteConnectionMethod(CmConnectionMethodShim *cm);
       
    void RemoveConnectionMethod(CmConnectionMethodShim *cm);
    
    void ModifyPriority(CmConnectionMethodShim *cm, int index);
    
    void SetName(QString name);
    
    void Update();               
    
    void Refresh();
    
    void DeleteDestination();
    
protected:

private:
                 
    Q_DISABLE_COPY(CmDestinationShimPrivate)

    void PriorityL(CmConnectionMethodShim *cmShim, uint &priority) const;
    
    void NameL(QString &name) const;
           
    void AddConnectionMethodL(CmConnectionMethodShim *cm, int &index);            
       
    void DeleteConnectionMethodL(CmConnectionMethodShim *cm);
       
    void RemoveConnectionMethodL(CmConnectionMethodShim *cm);
             
    void ModifyPriorityL(CmConnectionMethodShim *cm, int index);
           
    void SetNameL(QString name);
              
    CMManagerShim::CmmProtectionLevel mapCmmProtectionLevel( 
        CMManager::TProtectionLevel protectionlvl) const;
    
    void TraceIfError(TInt error) const;
    
private: // data
        
    RCmDestination iDestination;  //!< CmManager Destination instance
    
    // Friend classes
    
};

#endif // CMDESTINATION_SHIM_P_H