Ingo Weinhold 327887959e * Moved partition scanning back to KDiskDeviceManager. ATM only
synchronous scanning is supported.
* Removed the disk device job support from the disk device manager.
* K{Disk,File,Partitioning}System:
  - Remove querying and validation methods.
  - Commented out the modification methods until their fate is decided.
* Removed obsolete _user_get_partitionable_spaces().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-01 22:41:22 +00:00

87 lines
2.6 KiB
C++

/*
* Copyright 2003-2007, Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Ingo Weinhold <bonefish@cs.tu-berlin.de>
*/
#ifndef _K_PARTITIONING_DISK_DEVICE_SYSTEM_H
#define _K_PARTITIONING_DISK_DEVICE_SYSTEM_H
#include "KDiskSystem.h"
struct partition_module_info;
namespace BPrivate {
namespace DiskDevice {
/**
* \brief Wrapper for the C interface of a partitioning system add-on.
*
* See \ref ddm_modules.h for better description of the interface.
*/
class KPartitioningSystem : public KDiskSystem {
public:
KPartitioningSystem(const char *name);
virtual ~KPartitioningSystem();
virtual status_t Init();
// Scanning
virtual float Identify(KPartition *partition, void **cookie);
virtual status_t Scan(KPartition *partition, void *cookie);
virtual void FreeIdentifyCookie(KPartition *partition, void *cookie);
virtual void FreeCookie(KPartition *partition);
virtual void FreeContentCookie(KPartition *partition);
// Writing
#if 0
virtual status_t Repair(KPartition *partition, bool checkOnly,
KDiskDeviceJob *job);
virtual status_t Resize(KPartition *partition, off_t size,
KDiskDeviceJob *job);
virtual status_t ResizeChild(KPartition *child, off_t size,
KDiskDeviceJob *job);
virtual status_t Move(KPartition *partition, off_t offset,
KDiskDeviceJob *job);
virtual status_t MoveChild(KPartition *child, off_t offset,
KDiskDeviceJob *job);
virtual status_t SetName(KPartition *partition, char *name,
KDiskDeviceJob *job);
virtual status_t SetContentName(KPartition *partition, char *name,
KDiskDeviceJob *job);
virtual status_t SetType(KPartition *partition, char *type,
KDiskDeviceJob *job);
virtual status_t SetParameters(KPartition *partition,
const char *parameters,
KDiskDeviceJob *job);
virtual status_t SetContentParameters(KPartition *partition,
const char *parameters,
KDiskDeviceJob *job);
virtual status_t CreateChild(KPartition *partition, off_t offset,
off_t size, const char *type,
const char *parameters, KDiskDeviceJob *job,
KPartition **child = NULL,
partition_id childID = -1);
virtual status_t DeleteChild(KPartition *child, KDiskDeviceJob *job);
virtual status_t Initialize(KPartition *partition, const char *name,
const char *parameters, KDiskDeviceJob *job);
#endif // 0
protected:
virtual status_t LoadModule();
virtual void UnloadModule();
private:
partition_module_info *fModule;
};
} // namespace DiskDevice
} // namespace BPrivate
using BPrivate::DiskDevice::KPartitioningSystem;
#endif // _K_PARTITIONING_DISK_DEVICE_SYSTEM_H