1 /* 2 * Copyright 2007, Ingo Weinhold, ingo_weinhold@gmx.de. 3 * Distributed under the terms of the MIT License. 4 */ 5 6 #include "DeleteChildJob.h" 7 8 #include <syscalls.h> 9 10 #include "DiskDeviceUtils.h" 11 #include "PartitionReference.h" 12 13 14 // constructor 15 DeleteChildJob::DeleteChildJob(PartitionReference* partition, 16 PartitionReference* child) 17 : DiskDeviceJob(partition, child) 18 { 19 } 20 21 22 // destructor 23 DeleteChildJob::~DeleteChildJob() 24 { 25 } 26 27 28 // Do 29 status_t 30 DeleteChildJob::Do() 31 { 32 int32 changeCounter = fPartition->ChangeCounter(); 33 status_t error = _kern_delete_child_partition(fPartition->PartitionID(), 34 &changeCounter, fChild->PartitionID(), fChild->ChangeCounter()); 35 if (error != B_OK) 36 return error; 37 38 fPartition->SetChangeCounter(changeCounter); 39 fChild->SetTo(-1, 0); 40 41 return B_OK; 42 } 43 44