Pass Partition instead of just its path to FileSystem::copy()

Other operations get the Partition object and can look up the path or other
attributes they need.  The copy method should be no different.
This commit is contained in:
Phillip Susi 2013-01-30 21:35:52 -05:00 committed by Curtis Gedak
parent e4210ba08d
commit a92380b503
8 changed files with 22 additions and 22 deletions

View File

@ -52,8 +52,8 @@ public:
, const Partition & partition_old , const Partition & partition_old
, OperationDetail & operationdetail , OperationDetail & operationdetail
) { return false; }; ) { return false; };
virtual bool copy( const Glib::ustring & src_part_path, virtual bool copy( const Partition & src_part,
const Glib::ustring & dest_part_path, Partition & dest_part,
OperationDetail & operationdetail ) { return false; }; OperationDetail & operationdetail ) { return false; };
virtual bool check_repair( const Partition & partition, OperationDetail & operationdetail ) { return false; }; virtual bool check_repair( const Partition & partition, OperationDetail & operationdetail ) { return false; };
virtual bool remove( const Partition & partition, OperationDetail & operationdetail ) { return true; }; virtual bool remove( const Partition & partition, OperationDetail & operationdetail ) { return true; };

View File

@ -41,8 +41,8 @@ public:
, const Partition & partition_old , const Partition & partition_old
, OperationDetail & operationdetail , OperationDetail & operationdetail
) ; ) ;
bool copy( const Glib::ustring & src_part_path, bool copy( const Partition & src_part,
const Glib::ustring & dest_part_path, Partition & dest_part,
OperationDetail & operationdetail ) ; OperationDetail & operationdetail ) ;
}; };

View File

@ -37,8 +37,8 @@ public:
bool write_uuid( const Partition & partition, OperationDetail & operationdetail ) ; bool write_uuid( const Partition & partition, OperationDetail & operationdetail ) ;
bool create( const Partition & new_partition, OperationDetail & operationdetail ) ; bool create( const Partition & new_partition, OperationDetail & operationdetail ) ;
bool resize( const Partition & partition_new, OperationDetail & operationdetail, bool fill_partition = false ) ; bool resize( const Partition & partition_new, OperationDetail & operationdetail, bool fill_partition = false ) ;
bool copy( const Glib::ustring & src_part_path, bool copy( const Partition & src_part,
const Glib::ustring & dest_part_path, Partition & dest_part,
OperationDetail & operationdetail ) ; OperationDetail & operationdetail ) ;
bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ; bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;

View File

@ -36,8 +36,8 @@ public:
bool write_uuid( const Partition & partition, OperationDetail & operationdetail ) ; bool write_uuid( const Partition & partition, OperationDetail & operationdetail ) ;
bool create( const Partition & new_partition, OperationDetail & operationdetail ) ; bool create( const Partition & new_partition, OperationDetail & operationdetail ) ;
bool resize( const Partition & partition_new, OperationDetail & operationdetail, bool fill_partition = false ) ; bool resize( const Partition & partition_new, OperationDetail & operationdetail, bool fill_partition = false ) ;
bool copy( const Glib::ustring & src_part_path, bool copy( const Partition & src_part,
const Glib::ustring & dest_part_path, Partition & dest_part,
OperationDetail & operationdetail ) ; OperationDetail & operationdetail ) ;
bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ; bool check_repair( const Partition & partition, OperationDetail & operationdetail ) ;
}; };

View File

@ -2616,8 +2616,8 @@ bool GParted_Core::copy( const Partition & partition_src,
case GParted::FS::EXTERNAL : case GParted::FS::EXTERNAL :
succes = ( p_filesystem = set_proper_filesystem( partition_dst .filesystem ) ) && succes = ( p_filesystem = set_proper_filesystem( partition_dst .filesystem ) ) &&
p_filesystem ->copy( partition_src .get_path(), p_filesystem ->copy( partition_src,
partition_dst .get_path(), partition_dst,
operationdetail .get_last_child() ) ; operationdetail .get_last_child() ) ;
break ; break ;

View File

@ -149,8 +149,8 @@ bool linux_swap::move( const Partition & partition_new
return true ; return true ;
} }
bool linux_swap::copy( const Glib::ustring & src_part_path, bool linux_swap::copy( const Partition & src_part,
const Glib::ustring & dest_part_path, Partition & dest_part,
OperationDetail & operationdetail ) OperationDetail & operationdetail )
{ {
//Since linux-swap does not contain data, do not actually copy the partition //Since linux-swap does not contain data, do not actually copy the partition

View File

@ -224,11 +224,11 @@ bool ntfs::resize( const Partition & partition_new, OperationDetail & operationd
return return_value ; return return_value ;
} }
bool ntfs::copy( const Glib::ustring & src_part_path, bool ntfs::copy( const Partition & src_part,
const Glib::ustring & dest_part_path, Partition & dest_part,
OperationDetail & operationdetail ) OperationDetail & operationdetail )
{ {
return ! execute_command( "ntfsclone -f --overwrite " + dest_part_path + " " + src_part_path, return ! execute_command( "ntfsclone -f --overwrite " + dest_part.get_path() + " " + src_part.get_path(),
operationdetail, operationdetail,
false, false,
true ); true );

View File

@ -194,13 +194,13 @@ bool xfs::resize( const Partition & partition_new, OperationDetail & operationde
return success ; return success ;
} }
bool xfs::copy( const Glib::ustring & src_part_path, bool xfs::copy( const Partition & src_part,
const Glib::ustring & dest_part_path, Partition & dest_part,
OperationDetail & operationdetail ) OperationDetail & operationdetail )
{ {
bool success = true ; bool success = true ;
success &= ! execute_command( "mkfs.xfs -f " + dest_part_path, operationdetail, true, true ); success &= ! execute_command( "mkfs.xfs -f " + dest_part.get_path(), operationdetail, true, true );
if ( ! success ) if ( ! success )
return false ; return false ;
@ -215,12 +215,12 @@ bool xfs::copy( const Glib::ustring & src_part_path,
return false ; return false ;
} }
success &= ! execute_command( "mount -v -t xfs -o noatime,ro " + src_part_path + success &= ! execute_command( "mount -v -t xfs -o noatime,ro " + src_part.get_path() +
" " + src_mount_point, operationdetail, true ) ; " " + src_mount_point, operationdetail, true ) ;
if ( success ) if ( success )
{ {
success &= ! execute_command( "mount -v -t xfs " + dest_part_path + success &= ! execute_command( "mount -v -t xfs " + dest_part.get_path() +
" " + dest_mount_point, operationdetail, true ) ; " " + dest_mount_point, operationdetail, true ) ;
if ( success ) if ( success )
@ -229,10 +229,10 @@ bool xfs::copy( const Glib::ustring & src_part_path,
" | xfsrestore -J - " + dest_mount_point + "'", " | xfsrestore -J - " + dest_mount_point + "'",
operationdetail, true, true ); operationdetail, true, true );
success &= ! execute_command( "umount -v " + dest_part_path, operationdetail, true ) ; success &= ! execute_command( "umount -v " + dest_part.get_path(), operationdetail, true ) ;
} }
success &= ! execute_command( "umount -v " + src_part_path, operationdetail, true ) ; success &= ! execute_command( "umount -v " + src_part.get_path(), operationdetail, true ) ;
} }
rm_temp_dir( dest_mount_point, operationdetail ) ; rm_temp_dir( dest_mount_point, operationdetail ) ;