xref: /haiku/headers/os/add-ons/network_settings/NetworkProfile.h (revision 77db25ddc7bd646ed5aae7580183f5e560bed4ab)
1 /*
2  * Copyright 2004-2015 Haiku Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef _NETWORK_PROFILE_H
6 #define _NETWORK_PROFILE_H
7 
8 
9 #include <Entry.h>
10 #include <Path.h>
11 
12 
13 namespace BNetworkKit {
14 
15 
16 class BNetworkProfile {
17 public:
18 								BNetworkProfile();
19 								BNetworkProfile(const char* path);
20 								BNetworkProfile(const entry_ref& ref);
21 								BNetworkProfile(const BEntry& entry);
22 	virtual 					~BNetworkProfile();
23 
24 			status_t			SetTo(const char* path);
25 			status_t			SetTo(const entry_ref& ref);
26 			status_t			SetTo(const BEntry& entry);
27 
28 			bool				Exists();
29 
30 			const char*			Name();
31 			status_t			SetName(const char* name);
32 
33 			bool				IsDefault();
34 			bool				IsCurrent();
35 
36 			status_t			MakeCurrent();
37 			status_t			Delete();
38 
39 	static	BNetworkProfile*	Default();
40 	static	BNetworkProfile*	Current();
41 
42 private:
43 			BEntry				fEntry;
44 			BPath				fPath;
45 			bool				fIsDefault;
46 			bool				fIsCurrent;
47 			const char*			fName;
48 
49 	static	BDirectory*			fProfilesRoot;
50 };
51 
52 
53 }	// namespace BNetworkKit
54 
55 
56 #endif // _NETWORK_PROFILE_H
57