00001 #ifndef _WINC_SFCXMLFILE
00002 #define _WINC_SFCXMLFILE
00003
00004 #include <libxml/encoding.h>
00005 #include <libxml/xmlwriter.h>
00006
00007 #include <WXP/Date.h>
00008 #include <WXP/SfcData.h>
00009
00010 namespace WXP {
00011 class SfcXmlFile {
00012 int type;
00013 int ver;
00014 int access;
00015 long pos;
00016 int cnt;
00017 int num;
00018 xmlTextWriterPtr writer;
00019 xmlDocPtr reader;
00020 xmlNodePtr node;
00021 Date date;
00022 bool opened;
00023
00024 public:
00025 SfcXmlFile( );
00026 SfcXmlFile( const char *filename );
00027 SfcXmlFile( const char *filename, int access );
00028 SfcXmlFile( const char *filename, int access, int rtype );
00029 ~SfcXmlFile( );
00030 bool isOpen();
00031 int open( const char *filename, int access, int rtype );
00032 int rewind( );
00033 int close( );
00034 int setDate( Date &rdate );
00035 int getDate( Date &rdate );
00036 int read( SfcData &data );
00037 int write( SfcData &data );
00038
00039 enum {
00040 UNK,
00041 NORM,
00042 COMPRESS
00043 };
00044
00045 static int checkType( const char *filename );
00046 };
00047 }
00048 #endif