Index: runtime/bin/directory.h |
diff --git a/runtime/bin/directory.h b/runtime/bin/directory.h |
index 0350fc0a86868abdab94041a09d1e8ca6d0fffd0..5387f0cab8e68a929909ad4046ccf15b870e871a 100644 |
--- a/runtime/bin/directory.h |
+++ b/runtime/bin/directory.h |
@@ -6,8 +6,32 @@ |
#define BIN_DIRECTORY_H_ |
#include "bin/builtin.h" |
+#include "bin/dartutils.h" |
#include "platform/globals.h" |
+class DirectoryListing { |
+ public: |
+ enum Response { |
+ kListDirectory = 0, |
+ kListFile = 1, |
+ kListError = 2, |
+ kListDone = 3 |
+ }; |
+ |
+ explicit DirectoryListing(Dart_Port response_port) |
+ : response_port_(response_port) {} |
+ bool HandleDirectory(char* dir_name); |
+ bool HandleFile(char* file_name); |
+ bool HandleError(char* message); |
+ |
+ private: |
+ CObjectArray* NewResponse(Response response, char* arg); |
+ Dart_Port response_port_; |
+ |
+ DISALLOW_IMPLICIT_CONSTRUCTORS(DirectoryListing); |
+}; |
+ |
+ |
class Directory { |
public: |
enum ExistsResult { |
@@ -16,12 +40,17 @@ class Directory { |
DOES_NOT_EXIST |
}; |
- static void List(const char* path, |
+ enum DirectoryRequest { |
+ kCreateRequest = 0, |
+ kDeleteRequest = 1, |
+ kExistsRequest = 2, |
+ kCreateTempRequest = 3, |
+ kListRequest = 4 |
+ }; |
+ |
+ static bool List(const char* path, |
bool recursive, |
- Dart_Port dir_port, |
- Dart_Port file_port, |
- Dart_Port done_port, |
- Dart_Port error_port); |
+ DirectoryListing *listing); |
Mads Ager (google)
2012/02/20 12:56:38
Placement of '*'
Søren Gjesse
2012/02/21 11:23:24
Done.
|
static ExistsResult Exists(const char* path); |
@@ -38,4 +67,5 @@ class Directory { |
DISALLOW_IMPLICIT_CONSTRUCTORS(Directory); |
}; |
+ |
#endif // BIN_DIRECTORY_H_ |