QXmlIO.h
上传用户:fy98168
上传日期:2015-06-26
资源大小:13771k
文件大小:1k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef _QXMLIO_H_
  2. #define _QXMLIO_H_
  3. #include <fcntl.h>
  4. #include "QString.h"
  5. #define XML_BUFF_DATA_LENGTH 1024
  6. #ifdef __cplusplus
  7. extern "C"{
  8. #endif 
  9. typedef struct tagQXmlIO QXmlIO;
  10. struct tagQXmlIO
  11. {
  12.    int (*FromFile) ( QXmlIO *self,int fd);
  13.    int (*FromBuff) ( QXmlIO *self,char *buff);
  14.    int (*GetBuff) ( QXmlIO *self , char *buff,int len);
  15.    void (*SkipWhiteSpace)(QXmlIO *self);
  16.    int (*SkipChar) ( QXmlIO *self,int n);
  17.    BOOL (*IsEmpty) ( QXmlIO *self);
  18.    void (*Release) ( QXmlIO *self);
  19.    int (*GetChar) ( QXmlIO *self);
  20.    
  21.    int m_nFd;
  22.    char *m_pBuff;
  23.    unsigned long   m_nRow;
  24.    unsigned long   m_nCol;
  25.    
  26.    int m_bDataOver;
  27.    QString m_szTempBuff;
  28. };
  29. QXmlIO NewQXmlIO();
  30. QXmlIO *MallocQXmlIO();
  31. int QXmlIOFromFile ( QXmlIO *self,int fd);
  32. int QXmlIOFromBuff ( QXmlIO *self,char *buff);
  33. int QXmlIOGetBuff ( QXmlIO *self , char *buff,int len);
  34. void QXmlIOSkipWhiteSpace (QXmlIO *self);      
  35. int QXmlIOSkipChar ( QXmlIO *self,int n);
  36. BOOL QXmlIOIsEmpty ( QXmlIO *self);
  37. void QXmlIORelease ( QXmlIO *self);
  38. /* :( 有时候为了实现类似于C++的多态也是一件很无聊的事 */
  39. int QXmlIOGetFileChar ( QXmlIO *self);
  40. int QXmlIOGetBuffChar ( QXmlIO *self);
  41. #ifdef __cplusplus
  42. }
  43. #endif
  44. #endif