1//----------------------------------------------------------------------
2//  This software is part of the OpenBeOS distribution and is covered
3//  by the OpenBeOS license.
4//---------------------------------------------------------------------
5#ifndef _DISK_SCANNER_ADD_ON
6#define _DISK_SCANNER_ADD_ON
7
8#include <SupportDefs.h>
9
10class BDiskScannerParameterEditor;
11class BPartition;
12class BSession;
13class BString;
14
15// BDiskScannerPartitionAddOn
16class BDiskScannerPartitionAddOn {
17public:
18	BDiskScannerPartitionAddOn();
19	virtual ~BDiskScannerPartitionAddOn();
20
21	virtual const char *ShortName() = 0;
22	virtual const char *LongName() = 0;
23
24	virtual BDiskScannerParameterEditor *CreateEditor(const BSession *session,
25		const char *parameters) = 0;
26
27private:
28	virtual	void _ReservedDiskScannerPartitionAddOn1();
29	virtual	void _ReservedDiskScannerPartitionAddOn2();
30	virtual	void _ReservedDiskScannerPartitionAddOn3();
31	virtual	void _ReservedDiskScannerPartitionAddOn4();
32	virtual	void _ReservedDiskScannerPartitionAddOn5();
33
34	uint32 _reserved[8];
35};
36
37// BDiskScannerFSAddOn
38class BDiskScannerFSAddOn {
39public:
40	BDiskScannerFSAddOn();
41	virtual ~BDiskScannerFSAddOn();
42
43	virtual const char *ShortName() = 0;
44	virtual const char *LongName() = 0;
45
46	virtual BDiskScannerParameterEditor *CreateEditor(
47		const BPartition *partition, const char *parameters) = 0;
48
49private:
50	virtual	void _ReservedDiskScannerFSAddOn1();
51	virtual	void _ReservedDiskScannerFSAddOn2();
52	virtual	void _ReservedDiskScannerFSAddOn3();
53	virtual	void _ReservedDiskScannerFSAddOn4();
54	virtual	void _ReservedDiskScannerFSAddOn5();
55
56	uint32 _reserved[8];
57};
58
59// BDiskScannerParameterEditor
60class BDiskScannerParameterEditor {
61public:
62	BDiskScannerParameterEditor();
63	virtual ~BDiskScannerParameterEditor();
64
65	virtual BView *View();
66	virtual bool EditingDone();
67	virtual status_t GetParameters(BString *parameters);
68
69private:
70	virtual	void _ReservedDiskScannerParameterEditor1();
71	virtual	void _ReservedDiskScannerParameterEditor2();
72	virtual	void _ReservedDiskScannerParameterEditor3();
73	virtual	void _ReservedDiskScannerParameterEditor4();
74	virtual	void _ReservedDiskScannerParameterEditor5();
75
76	uint32 _reserved[8];
77};
78
79// partition add-ons
80extern "C" BDiskScannerPartitionAddOn *create_ds_partition_add_on();
81
82// fs add-ons
83extern "C" BDiskScannerFSAddOn *create_ds_fs_add_on();
84
85#endif	// _DISK_SCANNER_ADD_ON
86