00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #if !defined(_LOGICAL_FILESTORE_H_)
00018 #define _LOGICAL_FILESTORE_H_
00019
00020 #include "GATLocation.h"
00021 #include "GATFile.h"
00022 #include "GATList.h"
00023 #include "GATLogicalFileCPI.h"
00024
00025
00026 typedef struct logical_filestore_s {
00027 GATContext context;
00028 char const *name;
00029 GATList_String files;
00030 GATBool isdirty;
00031 GATBool shouldberemoved;
00032 } *logical_filestore;
00033
00034
00035 logical_filestore logical_filestore_create(GATContext ctx,
00036 char const *name, GATLogicalFileMode mode);
00037 void logical_filestore_destroy(GATContext ctx, logical_filestore *store);
00038
00039 GATResult logical_filestore_addfile(GATContext ctx, logical_filestore store,
00040 GATFile_const file);
00041 GATResult logical_filestore_removefile(GATContext ctx, logical_filestore store,
00042 GATFile_const file);
00043 GATResult logical_filestore_replicate(GATContext ctx, logical_filestore store,
00044 GATLocation_const target);
00045 GATResult logical_filestore_getfiles(GATContext ctx, logical_filestore store,
00046 GATList_GATFile *files);
00047 GATResult logical_filestore_remove(logical_filestore store);
00048
00049 #endif