42#include "BaseBackup.hh"
43#include <OpenFlipper/common/BackupData.hh>
47static int maxBackupId_ = 0;
51BaseBackup::BaseBackup(
const QString& _name) : object_(0), name_(_name), id_(maxBackupId_++)
57BaseBackup::BaseBackup(
BaseObjectData* _object,
const QString& _name,
UpdateType _type) : object_(_object), name_(_name), id_(maxBackupId_++)
65 QMap<QString, PerObjectData*>::const_iterator mapIter;
67 for ( mapIter = dataMap.constBegin(); mapIter != dataMap.constEnd(); ++mapIter){
69 if ( mapIter.key() == OBJECT_BACKUPS )
continue;
75 objectDatas_.push_back( std::make_pair( mapIter.key(),copiedData ) );
77 std::cerr <<
"Failed to copy per Object Data: " << mapIter.key().toStdString() << std::endl;
83BaseBackup::~BaseBackup(){
105 for (
auto i = dataMap.begin(); i != dataMap.end(); ++i) {
106 if ( i.key() == OBJECT_BACKUPS )
107 backupData = i.value();
114 if (backupData == 0){
115 std::cerr <<
"Cannot apply backup. BackupData not found!!" << std::endl;
120 dataMap.insert( OBJECT_BACKUPS, backupData);
147 return !links_.empty();
155 for(
int i=_objectIDs.size()-1; i >= 0; --i )
157 _objectIDs.erase( _objectIDs.begin() + i );
std::vector< int > IdList
Standard Type for id Lists used for scripting.
bool blocked()
Returns if this backup is blocked.
virtual void apply()
Revert this backup.
std::vector< std::pair< QString, PerObjectData * > > objectDatas_
Backup of the perObjectData objects.
int id()
get id of this backup
void setLinks(IdList _objectIDs)
Set links to corresponding backups.
QString name()
Get the backups name)
QMap< QString, PerObjectData * > & getPerObjectDataMap()
get reference to map of all perObject Datas
virtual PerObjectData * copyPerObjectData()
Copy Function.