xref: /haiku/headers/private/debugger/files/LocatableDirectory.h (revision 21258e2674226d6aa732321b6f8494841895af5f)
1 /*
2  * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef LOCATABLE_DIRECTORY_H
6 #define LOCATABLE_DIRECTORY_H
7 
8 #include "LocatableEntry.h"
9 
10 
11 class LocatableDirectory : public LocatableEntry {
12 public:
13 								LocatableDirectory(LocatableEntryOwner* owner,
14 									LocatableDirectory* parent,
15 									const BString& path);
16 								~LocatableDirectory();
17 
18 	virtual	const char*			Name() const;
19 			const char*			Path() const;
20 			void				GetPath(BString& _path) const;
21 
22 			// mutable (requires locking)
23 	virtual	bool				GetLocatedPath(BString& _path) const;
24 	virtual	void				SetLocatedPath(const BString& path,
25 									bool implicit);
26 
27 			void				AddEntry(LocatableEntry* entry);
28 			void				RemoveEntry(LocatableEntry* entry);
29 			const LocatableEntryList& Entries() const	{ return fEntries; }
30 
31 private:
32 			BString				fPath;
33 			BString				fLocatedPath;
34 			LocatableEntryList	fEntries;
35 };
36 
37 
38 #endif	// LOCATABLE_DIRECTORY_H
39