/* * Copyright 2013, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. */ #ifndef _PATH_FINDER_H #define _PATH_FINDER_H #include #include class BPath; class BStringList; struct entry_ref; class BPathFinder { public: BPathFinder(const void* codePointer = NULL, const char* dependency = NULL); BPathFinder(const char* path, const char* dependency = NULL); BPathFinder(const entry_ref& ref, const char* dependency = NULL); status_t SetTo(const void* codePointer = NULL, const char* dependency = NULL); status_t SetTo(const char* path, const char* dependency = NULL); status_t SetTo(const entry_ref& ref, const char* dependency = NULL); status_t FindPath(const char* architecture, path_base_directory baseDirectory, const char* subPath, uint32 flags, BPath& _path); status_t FindPath(path_base_directory baseDirectory, const char* subPath, uint32 flags, BPath& _path); status_t FindPath(path_base_directory baseDirectory, const char* subPath, BPath& _path); status_t FindPath(path_base_directory baseDirectory, BPath& _path); static status_t FindPaths(const char* architecture, path_base_directory baseDirectory, const char* subPath, uint32 flags, BStringList& _paths); static status_t FindPaths(path_base_directory baseDirectory, const char* subPath, uint32 flags, BStringList& _paths); static status_t FindPaths(path_base_directory baseDirectory, const char* subPath, BStringList& _paths); static status_t FindPaths(path_base_directory baseDirectory, BStringList& _paths); private: status_t _SetTo(const void* codePointer, const char* path, const char* dependency); private: const void* fCodePointer; BString fPath; BString fDependency; status_t fInitStatus; uint32 fReserved[4]; }; #endif // _PATH_FINDER_H