Updating built in Io code to use += instead of x = x + y
[io/quag.git] / libs / iovm / source / IoDirectory.h
blobda926d4a5bca05e36b5cb7ee05a0c38c2d27031e
1 /*
2 docCopyright("Steve Dekorte", 2002)
3 */
5 #ifndef IODIRECTORY_DEFINED
6 #define IODIRECTORY_DEFINED 1
8 #include "IoVMApi.h"
10 #include "IoObject.h"
11 #include "IoSeq.h"
13 #define ISDIRECTORY(self) IoObject_hasCloneFunc_(self, (IoTagCloneFunc *)IoDirectory_rawClone)
15 typedef IoObject IoDirectory;
17 typedef struct
19 IoSymbol *path;
20 } IoDirectoryData;
22 IOVM_API IoDirectory *IoDirectory_rawClone(IoDirectory *self);
23 IOVM_API IoDirectory *IoDirectory_proto(void *state);
24 IOVM_API IoDirectory *IoDirectory_new(void *state);
25 IOVM_API IoDirectory *IoDirectory_newWithPath_(void *state, IoSymbol *path);
26 IOVM_API IoDirectory *IoDirectory_cloneWithPath_(IoDirectory *self, IoSymbol *path);
28 IOVM_API void IoDirectory_free(IoDirectory *self);
29 IOVM_API void IoDirectory_mark(IoDirectory *self);
31 // -----------------------------------------------------------
33 IOVM_API IoObject *IoDirectory_path(IoDirectory *self, IoObject *locals, IoMessage *m);
34 IOVM_API IoObject *IoDirectory_setPath(IoDirectory *self, IoObject *locals, IoMessage *m);
35 IOVM_API IoObject *IoDirectory_name(IoDirectory *self, IoObject *locals, IoMessage *m);
37 IOVM_API IoObject *IoDirectory_at(IoDirectory *self, IoObject *locals, IoMessage *m);
38 IOVM_API IoObject *IoDirectory_size(IoDirectory *self, IoObject *locals, IoMessage *m);
40 IOVM_API IoObject *IoDirectory_exists(IoDirectory *self, IoObject *locals, IoMessage *m);
41 IOVM_API IoObject *IoDirectory_items(IoDirectory *self, IoObject *locals, IoMessage *m);
42 IOVM_API IoObject *IoDirectory_create(IoDirectory *self, IoObject *locals, IoMessage *m);
43 IOVM_API IoObject *IoDirectory_createSubdirectory(IoDirectory *self, IoObject *locals, IoMessage *m);
45 IOVM_API UArray *IoDirectory_CurrentWorkingDirectoryAsUArray(void);
46 IOVM_API int IoDirectory_SetCurrentWorkingDirectory(const char *path);
48 IOVM_API IoObject *IoDirectory_currentWorkingDirectory(IoDirectory *self, IoObject *locals, IoMessage *m);
49 IOVM_API IoObject *IoDirectory_setCurrentWorkingDirectory(IoDirectory *self, IoObject *locals, IoMessage *m);
51 #endif