Profile_p.h
/*
* This file is part of buteo-syncfw package
*
* Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
*
* Contact: Sateesh Kavuri <sateesh.kavuri@nokia.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* version 2.1 as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*
*/
#ifndef PROFILE_P_H
#define PROFILE_P_H
#include <QList>
#include <QMap>
#include <QString>
#include "ProfileField.h"
namespace Buteo {
class ProfilePrivate
{
public:
ProfilePrivate();
ProfilePrivate(const ProfilePrivate &aSource);
~ProfilePrivate();
QString iName;
QString iType;
bool iLoaded;
bool iMerged;
QMap<QString, QString> iLocalKeys;
QMap<QString, QString> iMergedKeys;
QList<const ProfileField *> iLocalFields;
QList<const ProfileField *> iMergedFields;
QList<Profile *> iSubProfiles;
};
}
Buteo::ProfilePrivate::ProfilePrivate()
: iLoaded(false)
, iMerged(false)
{
}
Buteo::ProfilePrivate::ProfilePrivate(const ProfilePrivate &aSource)
: iName(aSource.iName)
, iType(aSource.iType)
, iLoaded(aSource.iLoaded)
, iMerged(aSource.iMerged)
, iLocalKeys(aSource.iLocalKeys)
, iMergedKeys(aSource.iMergedKeys)
{
foreach (const ProfileField *localField, aSource.iLocalFields) {
iLocalFields.append(new ProfileField(*localField));
}
foreach (const ProfileField *mergedField, aSource.iMergedFields) {
iMergedFields.append(new ProfileField(*mergedField));
}
foreach (Profile *p, aSource.iSubProfiles) {
iSubProfiles.append(p->clone());
}
}
Buteo::ProfilePrivate::~ProfilePrivate()
{
qDeleteAll(iLocalFields);
iLocalFields.clear();
qDeleteAll(iMergedFields);
iMergedFields.clear();
qDeleteAll(iSubProfiles);
iSubProfiles.clear();
}
#endif // PROFILE_P_H
Buteo::ProfileField
This class represents a profile field.
Definition ProfileField.h:49
Buteo::ProfilePrivate::iLocalFields
QList< const ProfileField * > iLocalFields
Local fields, that are not merged from sub-profiles.
Definition Profile_p.h:65
Buteo::ProfilePrivate::iMergedFields
QList< const ProfileField * > iMergedFields
Fields that are merged from sub-profiles.
Definition Profile_p.h:68
Buteo::ProfilePrivate::iMergedKeys
QMap< QString, QString > iMergedKeys
Keys that are merged from sub-profile files.
Definition Profile_p.h:62
Buteo::ProfilePrivate::iLocalKeys
QMap< QString, QString > iLocalKeys
Local keys, that are not merged from sub-profiles.
Definition Profile_p.h:59
Buteo::ProfilePrivate::ProfilePrivate
ProfilePrivate()
Constructor.
Definition Profile_p.h:76
Buteo::ProfilePrivate::~ProfilePrivate
~ProfilePrivate()
Destructor.
Definition Profile_p.h:102
Buteo::ProfilePrivate::iMerged
bool iMerged
Is the profile merged created by merging from sub-profile.
Definition Profile_p.h:56
Buteo::ProfilePrivate::iName
QString iName
Profile name.
Definition Profile_p.h:47
Buteo::ProfilePrivate::iLoaded
bool iLoaded
Is the profile fully loaded and constructed.
Definition Profile_p.h:53
Buteo::ProfilePrivate::iSubProfiles
QList< Profile * > iSubProfiles
List of sub-profiles.
Definition Profile_p.h:71
Buteo::ProfilePrivate::iType
QString iType
Profile type.
Definition Profile_p.h:50
Buteo::Profile
This class represents a single profile, a collection of settings or data releated to some entity.
Definition Profile.h:53
QList
Definition SyncBackupAdaptor.h:40
QMap
Definition SyncBackupAdaptor.h:41