xref: /haiku/src/add-ons/disk_systems/fat/FATAddOn.h (revision 02354704729d38c3b078c696adc1bbbd33cbcf72)
1 /*
2  * Copyright 2015, François Revol <revol@free.fr>
3  * Copyright 2007, Ingo Weinhold, ingo_weinhold@gmx.de.
4  * Copyright 2008-2012, Axel Dörfler, axeld@pinc-software.de.
5  * Copyright 2012, Gerasim Troeglazov (3dEyes**), 3dEyes@gmail.com
6  *
7  * Distributed under the terms of the MIT License.
8  */
9 
10 #ifndef _FAT_ADD_ON_H
11 #define _FAT_ADD_ON_H
12 
13 #include <DiskSystemAddOn.h>
14 
15 #ifndef MAX_PATH
16 #define MAX_PATH 1024
17 #endif
18 
19 class FATAddOn : public BDiskSystemAddOn {
20 public:
21 								FATAddOn();
22 	virtual						~FATAddOn();
23 
24 	virtual	status_t			CreatePartitionHandle(
25 									BMutablePartition* partition,
26 									BPartitionHandle** handle);
27 	virtual	status_t			GetParameterEditor(
28 									B_PARAMETER_EDITOR_TYPE type,
29 									BPartitionParameterEditor** editor);
30 
31 	virtual	bool				CanInitialize(
32 									const BMutablePartition* partition);
33 	virtual	status_t			ValidateInitialize(
34 									const BMutablePartition* partition,
35 									BString* name, const char* parameters);
36 	virtual	status_t			Initialize(BMutablePartition* partition,
37 									const char* name, const char* parameters,
38 									BPartitionHandle** handle);
39 };
40 
41 
42 class FATPartitionHandle : public BPartitionHandle {
43 public:
44 								FATPartitionHandle(
45 									BMutablePartition* partition);
46 								~FATPartitionHandle();
47 
48 			status_t			Init();
49 
50 	virtual	uint32				SupportedOperations(uint32 mask);
51 };
52 
53 
54 #endif	// _FAT_ADD_ON_H
55