NVIDIA Iray API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ireader_writer_base.h
Go to the documentation of this file.
1 //*****************************************************************************
2 // Copyright 1986, 2014 NVIDIA Corporation. All rights reserved.
3 //*****************************************************************************
6 //*****************************************************************************
7 
8 #ifndef MI_NEURAYLIB_IREADER_WRITER_BASE_H
9 #define MI_NEURAYLIB_IREADER_WRITER_BASE_H
10 
12 
13 namespace mi {
14 
15 class IStream_position;
16 
21 class IReader_writer_base :
70  public base::Interface_declare<0x919370c2,0x2bb4,0x40db,0x81,0xff,0xd3,0x1c,0x52,0x10,0x54,0x64>
71 {
72 public:
75  virtual Sint32 get_error_number() const = 0;
76 
79  virtual const char* get_error_message() const = 0;
80 
83  virtual bool eof() const = 0;
84 
86  virtual Sint32 get_file_descriptor() const = 0;
87 
89 
90 
92  virtual bool supports_recorded_access() const = 0;
93 
95  virtual const IStream_position* tell_position() const = 0;
96 
101  virtual bool seek_position( const IStream_position* stream_position) = 0;
102 
106  virtual bool rewind() = 0;
107 
109 
111 
113  virtual bool supports_absolute_access() const = 0;
114 
117  virtual Sint64 tell_absolute() const = 0;
118 
123  virtual bool seek_absolute(Sint64 pos) = 0;
124 
127  virtual Sint64 get_file_size() const = 0;
128 
131  virtual bool seek_end() = 0;
132 
134 };
135  // end group mi_neuray_impexp
137 
138 } // namespace mi
139 
140 #endif // MI_NEURAYLIB_IREADER_WRITER_BASE_H