home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / win / sieciowe / oiv_demo.lzh / disk2 / DATA.2 / include / Ivf / IvfArchiveInput.h < prev    next >
C/C++ Source or Header  |  1995-05-23  |  2KB  |  77 lines

  1. #ifndef __IVF_ARCHIVE_INPUT_H__
  2. #define __IVF_ARCHIVE_INPUT_H__
  3.  
  4. #include <Inventor/SoInput.h>
  5.  
  6. class CArchive ;
  7. class CFile ;
  8.  
  9. class IvfArchiveInput : public SoInput {
  10.  public:
  11.      IvfArchiveInput() ;
  12.      IvfArchiveInput(CArchive *ar) ;
  13.  
  14.     virtual ~IvfArchiveInput() ; 
  15.  
  16.     // Reads next character from current file/buffer. Returns FALSE on
  17.     // EOF or error.
  18.     virtual SbBool        get(char &c);
  19.  
  20.     // Reads item of particular type from current file pointer/buffer. All
  21.     // skip white space before reading and return FALSE on EOF or if
  22.     // item could not be read.
  23.     virtual SbBool        read(char        &c);
  24.     // C-api: name=readStr
  25.     virtual SbBool        read(SbString       &s);
  26.     // C-api: name=readName
  27.     virtual SbBool        read(SbName        &n, SbBool validIdent = FALSE);
  28.     // C-api: name=readInt
  29.     virtual SbBool        read(int        &i);
  30.     // C-api: name=readUInt
  31.     virtual SbBool        read(unsigned int   &i);
  32.     // C-api: name=readShort
  33.     virtual SbBool        read(short        &s);
  34.     // C-api: name=readUShort
  35.     virtual SbBool        read(unsigned short &s);
  36.     // C-api: name=readLong
  37.     virtual SbBool        read(long        &l);
  38.     // C-api: name=readULong
  39.     virtual SbBool        read(unsigned long  &l);
  40.     // C-api: name=readFloat
  41.     virtual SbBool        read(float        &f);
  42.     // C-api: name=readDbl
  43.     virtual SbBool        read(double        &d);
  44.     // C-api: name=readBinLongArray
  45.     virtual SbBool        readBinaryArray(long *l, int length);
  46.     // C-api: name=readBinFloatArray
  47.     virtual SbBool        readBinaryArray(float *f, int length);
  48.     // C-api: name=readBinDblArray
  49.     virtual SbBool        readBinaryArray(double *d, int length);
  50.  
  51.     // Returns TRUE if current file/buffer is at EOF
  52.     virtual SbBool        eof() const;
  53.  
  54.     // Puts a just-read character or string back in input stream/buffer
  55.     virtual void        putBack(char c);
  56.     virtual void        putBack(const char *string);
  57.  
  58.  
  59.  private:
  60.      CArchive *m_pAr ;
  61.     CFile *m_pFile ;
  62.     SbBool isEof ;
  63.     int nBackCharIndex ;
  64.     int nMaxBackChar ;
  65.     char *backChar ;
  66.  
  67.     SbBool        openFromArchive(SbBool okIfNotFound);
  68.     void        findFromArchive() ;
  69.     void        initFromArchive(
  70.                  SbBool openedHere,
  71.                  SbDict *refDict = NULL);
  72.  
  73.  
  74. } ;
  75.  
  76. #endif
  77.