5#ifndef RUNTIME_BIN_DIRECTORY_H_
6#define RUNTIME_BIN_DIRECTORY_H_
40 void Reset(intptr_t new_length);
42 intptr_t
length()
const {
return length_; }
51class DirectoryListing;
66 : parent_(
parent), fd_(-1), lister_(0), done_(
false), link_(nullptr) {}
74 LinkList*
link() {
return link_; }
102 if (!path_buffer_.
Add(dir_name)) {
125 bool IsEmpty()
const {
return top_ ==
nullptr; }
145 bool error()
const {
return error_; }
168 const char* dir_name,
178 virtual bool HandleFile(
const char* file_name);
179 virtual bool HandleLink(
const char* file_name);
190 intptr_t
index()
const {
return index_; }
194 bool AddFileSystemEntityToResponse(
Response response,
const char* arg);
207 const char* dir_name,
221 virtual bool HandleFile(
const char* file_name);
222 virtual bool HandleLink(
const char* file_name);
246#if defined(DART_HOST_OS_WINDOWS)
247 static ExistsResult Exists(
const wchar_t* path);
262 static void SetSystemTemp(
const char* path);
268 const char* new_path);
281 static char* system_temp_path_override_;
SkIDChangeListener::List List
void SetArray(CObjectArray *array, intptr_t length)
virtual void HandleDone()
virtual bool HandleDirectory(const char *dir_name)
virtual bool HandleLink(const char *file_name)
virtual ~AsyncDirectoryListing()
AsyncDirectoryListing(Namespace *namespc, const char *dir_name, bool recursive, bool follow_links)
virtual bool HandleFile(const char *file_name)
virtual bool HandleError()
static constexpr const char * kIOLibURL
static Dart_Handle NewString(const char *str)
static Dart_Handle GetDartType(const char *library_url, const char *class_name)
ListType Next(DirectoryListing *listing)
void set_link(LinkList *link)
DirectoryListingEntry(DirectoryListingEntry *parent)
DirectoryListingEntry * parent() const
const char * CurrentPath()
PathBuffer & path_buffer()
DirectoryListingEntry * top() const
void Push(DirectoryListingEntry *directory)
virtual bool HandleFile(const char *file_name)=0
virtual void HandleDone()
virtual bool HandleDirectory(const char *dir_name)=0
virtual bool HandleLink(const char *link_name)=0
bool follow_links() const
Namespace * namespc() const
DirectoryListing(Namespace *namespc, const char *dir_name, bool recursive, bool follow_links)
virtual bool HandleError()=0
virtual ~DirectoryListing()
static bool Create(Namespace *namespc, const char *path)
static ExistsResult Exists(Namespace *namespc, const char *path)
static char * CurrentNoScope()
static bool Rename(Namespace *namespc, const char *path, const char *new_path)
static bool Delete(Namespace *namespc, const char *path, bool recursive)
static const char * CreateTemp(Namespace *namespc, const char *path)
static const char * SystemTemp(Namespace *namespc)
static CObject * CreateSystemTempRequest(const CObjectArray &request)
const char * AsScopedString() const
wchar_t * AsStringW() const
void Reset(intptr_t new_length)
bool AddW(const wchar_t *name)
bool Add(const char *name)
virtual bool HandleFile(const char *file_name)
SyncDirectoryListing(Dart_Handle results, Namespace *namespc, const char *dir_name, bool recursive, bool follow_links)
virtual ~SyncDirectoryListing()
virtual bool HandleLink(const char *file_name)
virtual bool HandleDirectory(const char *dir_name)
virtual bool HandleError()
struct _Dart_Handle * Dart_Handle
DART_EXPORT Dart_Handle Dart_Null()