email_plat/nmail_client_api/inc/nmapifolder.h
author hgs
Thu, 30 Sep 2010 11:43:07 +0300
changeset 74 6c59112cfd31
parent 23 email_plat/nmail_client_api/nmapifolder.h@2dc6caa42ec3
child 76 38bf5461e270
permissions -rw-r--r--
201039

/*
 * 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 NMAPIFOLDERINFO_H
#define NMAPIFOLDERINFO_H

#include <QExplicitlySharedDataPointer>
#include <QList>
#include <nmapidef.h>
#include <nmapicommon.h>

/*!
   Mailbox metadata class
 */
namespace EmailClientApi
{

class NmApiFolderPrivate;

class NMAPI_EXPORT NmApiFolder
{
public:
    /*!
       constructor for NmApiFolder class
     */
    NmApiFolder();
    
    /*!
        Copy constructor for NmApiFolder 
     */
    NmApiFolder(const NmApiFolder &nmApiFolder);
    
    /*!
       destructor for NmApiFolder class
     */
    virtual ~NmApiFolder();

    /*!
       Assigns data from \a folder
     */
    NmApiFolder &operator=(const NmApiFolder &folder);
    
    /*!
       Compares data from \a folder
     */
    bool operator==(const NmApiFolder &folder);
    
    /*!
       getter for id
     */
    quint64 id() const;

    /*!
       getter for name 
     */
    QString name() const;

    /*!
       getter for foldertype
     */
    EmailClientApi::NmApiEmailFolderType folderType() const;

    /*!
       setter for id
     */
    void setId(quint64 id);

    /*!
       setter for name
     */
    void setName(const QString &name);

    /*!
       setter for foldertype
     */
    void setFolderType(EmailClientApi::NmApiEmailFolderType folderType);

    /*!
       setter for childfolder ids
     */
    void setChildFolderIds(QList<quint64> &childFolderIds);

    /*!
       setter for childfolder ids
     */
    void setParentFolderId(quint64 parentId);

    /*!
       returns child folder ids.
       to be implemented later when nmail functionality is available
     */
    void getChildFolderIds(QList<quint64> &childFolderIds);

    /*!
       returns parent folder id.
       
     */
    quint64 parentFolderId() const;

private:
    QExplicitlySharedDataPointer<NmApiFolderPrivate> d;
};

}
#endif