contentstorage/caclient/inc/caentry_p.h
author hgs
Tue, 23 Mar 2010 23:28:12 +0200
changeset 86 e492551a0d54
parent 85 7feec50967db
child 87 9d806967057c
permissions -rw-r--r--
201005

/*
 * 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: caentry_p.h
 *
 */

#ifndef CAENTRY_PRIVATE_H
#define CAENTRY_PRIVATE_H

#include <QString>
#include <QPixmap>
#include <QFlags>
#include <QMap>
#include <QSharedData>

#include "cadefs.h"
#include "caicondescription.h"

class CaEntry;
class HbIcon;

class CaEntryPrivate: public QSharedData
{

public:

    explicit CaEntryPrivate(CaEntry *entryPublic);
    CaEntryPrivate &operator=(const CaEntryPrivate &entry);
    ~CaEntryPrivate();

    int id() const;
    void setId(int id);

    QString text() const;
    void setText(const QString &text);

    QString description() const;
    void setDescription(const QString &text);

    CaIconDescription iconDescription() const;
    void setIconDescription(const CaIconDescription &iconDescription);

    EntryFlags flags() const;
    void setFlags(EntryFlags flags);

    QString entryTypeName() const;
    void setEntryTypeName(const QString &entryTypeName);

    QMap<QString, QString> attributes() const;
    QString attribute(const QString &name) const;
    void setAttribute(const QString &name, const QString &value);

    HbIcon makeIcon(const QSize &size) const;

    EntryRole role() const;
    void setRole(const EntryRole &role);

private:

    /*!
     * Points to the CaEntry instance that uses
     * this private implementation.
     */
    CaEntry * const m_q;

    /*!
     *
     */
    int mId;

    /*!
     *
     */
    QString mText;

    /*!
     *
     */
    QString mDescription;

    /*!
     *
     */
    CaIconDescription mIconDescription;

    /*!
     *
     */
    EntryFlags mFlags;

    /*!
     *
     */
    QString mEntryTypeName;

    /*!
     *
     */
    QMap<QString, QString> mAttributes;

    /*!
     *
     */
    EntryRole mEntryRole;
};

#endif // CAENTRY_PRIVATE_H