3rdparty/licenseReport: Add seperate LGPL checks
[haiku.git] / src / add-ons / disk_systems / intel / ExtendedPartitionAddOn.h
blob6691e323c05384c2101478d7f424276b30e4a234
1 /*
2 * Copyright 2007, Ingo Weinhold, bonefish@users.sf.net.
3 * Distributed under the terms of the MIT License.
4 */
5 #ifndef _EXTENDED_PARTITION_ADD_ON_H
6 #define _EXTENDED_PARTITION_ADD_ON_H
8 #include <DiskSystemAddOn.h>
10 #include "PartitionMap.h"
13 class ExtendedPartitionAddOn : public BDiskSystemAddOn {
14 public:
15 ExtendedPartitionAddOn();
16 virtual ~ExtendedPartitionAddOn();
18 virtual status_t CreatePartitionHandle(
19 BMutablePartition* partition,
20 BPartitionHandle** handle);
22 virtual bool CanInitialize(
23 const BMutablePartition* partition);
24 virtual status_t ValidateInitialize(
25 const BMutablePartition* partition,
26 BString* name, const char* parameters);
27 virtual status_t Initialize(BMutablePartition* partition,
28 const char* name, const char* parameters,
29 BPartitionHandle** handle);
33 class ExtendedPartitionHandle : public BPartitionHandle {
34 public:
35 ExtendedPartitionHandle(
36 BMutablePartition* partition);
37 virtual ~ExtendedPartitionHandle();
39 status_t Init();
41 virtual uint32 SupportedOperations(uint32 mask);
42 virtual uint32 SupportedChildOperations(
43 const BMutablePartition* child,
44 uint32 mask);
46 virtual status_t GetNextSupportedType(
47 const BMutablePartition* child,
48 int32* cookie, BString* type);
50 virtual status_t GetPartitioningInfo(BPartitioningInfo* info);
52 virtual status_t GetParameterEditor(
53 B_PARAMETER_EDITOR_TYPE type,
54 BPartitionParameterEditor** editor);
55 virtual status_t ValidateCreateChild(off_t* offset,
56 off_t* size, const char* type,
57 BString* name, const char* parameters);
58 virtual status_t CreateChild(off_t offset, off_t size,
59 const char* type, const char* name,
60 const char* parameters,
61 BMutablePartition** child);
62 virtual status_t DeleteChild(BMutablePartition* child);
64 private:
65 PrimaryPartition* fPrimaryPartition;
69 #endif // _EXTENDED_PARTITION_ADD_ON_H