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); Entries()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