1 /* 2 * Copyright 2013, Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Ingo Weinhold <ingo_weinhold@gmx.de> 7 */ 8 #ifndef _ENTRY_OPERATION_ENGINE_BASE_H 9 #define _ENTRY_OPERATION_ENGINE_BASE_H 10 11 12 #include <String.h> 13 14 15 class BDirectory; 16 class BEntry; 17 class BPath; 18 19 struct entry_ref; 20 21 22 namespace BPrivate { 23 24 25 class BEntryOperationEngineBase { 26 public: 27 class Entry; 28 }; 29 30 31 class BEntryOperationEngineBase::Entry { 32 public: 33 Entry(const char* path); 34 Entry(const BDirectory& directory, 35 const char* path = NULL); 36 Entry(const BEntry& entry); 37 Entry(const entry_ref& entryRef); 38 ~Entry(); 39 40 status_t GetPath(BPath& buffer, const char*& _path) 41 const; 42 BString Path() const; 43 44 private: 45 const BDirectory* fDirectory; 46 const char* fPath; 47 const BEntry* fEntry; 48 const entry_ref* fEntryRef; 49 }; 50 51 52 } // namespace BPrivate 53 54 55 #endif // _ENTRY_OPERATION_ENGINE_BASE_H 56