Object
|
+---DDirectory
The DDirectory class implements a number of methods for using directory paths. The paths are not checked by the ofc-library; this is left to the underlying os-specific functions. This class has also a number of class methods for creating, deleting, renaming and scanning directories.
#include <stdio.h>
#include "ofc/DDirectory.h"
int main(int argc, char *argvp[])
{
DDirectory *dir1;
DList *subs;
DListIterator *iter = [DListIterator new];
DText *str;
if ([DDirectory create :"sub"]) // Create a directory
printf("Directory \"sub\" succesfully created.\n");
else
printf("Directory \"sub\" could not be created:%d.\n", [DDirectory error]);
if ([DDirectory exist :"sub"]) // Check for directory
printf("Directory \"sub\" exists.\n");
else
printf("Directory \"sub\" does noet exist:%d.\n", [DDirectory error]);
if ([DDirectory move :"sub" :"renamed"]) // Rename directory
printf("Directory \"sub\" renamed to \"renamed\".\n");
else
printf("Directory \"sub\" could not be renamed to \"renamed\":%d.\n", [DDirectory error]);
if ([DDirectory remove :"renamed"]) // Remove directory
printf("Directory \"renamed\" removed.\n");
else
printf("Directory \"renamed\" cound not be \"renamed\":%d.\n", [DDirectory error]);
dir1 = [DDirectory current]; // Get the current directory
if ([dir1 parent])
printf("Move to parent succesfull:%s.\n", [dir1 path]);
else
printf("Move to parent failed.\n");
subs = [DDirectory childs :[dir1 path] :nil]; // Iterate all sub directories
if (subs != nil)
{
printf("Sub directories (%ld):\n", [subs length]);
[iter list :subs];
str = [iter first];
while (str != nil)
{
printf(" %s\n", [str cstring]);
str = [iter next];
}
[iter free]; // Cleanup iter and list
[subs free];
}
else
printf("No subdirectories in the parent directory ?!\n");
[dir1 free]; // Cleanup directory
return 0;
}