gparted/include/Dialog_Partition_Resize_Move.h
Mike Fleetwood 4a6cbcd0f1 Use pointer to Partition in Dialog_Base_Partition and derived classes (#759726)
Now use a pointer to the Partition object in Dialog_Base_Partition class
and derived classes, Dialog_Partition_{Copy,New,Resize_Move}.  This is
equivalent to how the Partition objects are managed in the Operation and
derived classes.

The Partition object is allocated and copy constructed in each derived
classes' set_data() method, called from each constructor and deallocated
in the destructors.  Considering the remaining Big 3, these classes are
never copy constructed or copy assigned so provide private definitions
and no implementations so the compiler enforces this.

Bug 759726 - Implement Partition object polymorphism
2016-01-26 10:11:35 -07:00

46 lines
1.7 KiB
C++

/* Copyright (C) 2004 Bart
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#ifndef GPARTED_DIALOG_PARTITION_RESIZE_MOVE_H
#define GPARTED_DIALOG_PARTITION_RESIZE_MOVE_H
#include "../include/Dialog_Base_Partition.h"
#include "../include/Partition.h"
#include "../include/PartitionVector.h"
namespace GParted
{
class Dialog_Partition_Resize_Move : public Dialog_Base_Partition
{
public:
Dialog_Partition_Resize_Move( const FS & fs, const Partition & selected_partition,
const PartitionVector & partitions );
~Dialog_Partition_Resize_Move();
private:
Dialog_Partition_Resize_Move( const Dialog_Partition_Resize_Move & src ); // Not implemented copy constructor
Dialog_Partition_Resize_Move & operator=( const Dialog_Partition_Resize_Move & rhs ); // Not implemented assignment operator
void set_data( const Partition & selected_partition, const PartitionVector & partitions );
void Resize_Move_Normal( const PartitionVector & partitions );
void Resize_Move_Extended( const PartitionVector & partitions );
};
} //GParted
#endif /* GPARTED_DIALOG_PARTITION_RESIZE_MOVE_H */