This interface represents states that are passed to recursive calls of importers and exporters. More...
#include <iimpexp_state.h>
Public Member Functions | |
virtual const char * | get_uri () const =0 |
Returns the URI for this file. More... | |
virtual Uint32 | get_line_number () const =0 |
Returns the line number after the last read or write operation. More... | |
virtual void | set_line_number (Uint32 n)=0 |
Sets the line number to n . More... | |
virtual void | incr_line_number ()=0 |
Convenience function that increments the line number by one. More... | |
virtual const IImpexp_state * | get_parent_state () const =0 |
Returns the state of the parent importer or exporter. More... | |
Public Member Functions inherited from mi::base::IInterface | |
virtual Uint32 | retain () const =0 |
Increments the reference count. More... | |
virtual Uint32 | release () const =0 |
Decrements the reference count. More... | |
virtual const IInterface * | get_interface (const Uuid &interface_id) const =0 |
Acquires a const interface from another. More... | |
template<class T> | |
const T * | get_interface () const |
Acquires a const interface from another. More... | |
virtual IInterface * | get_interface (const Uuid &interface_id)=0 |
Acquires a mutable interface from another. More... | |
template<class T> | |
T * | get_interface () |
Acquires a mutable interface from another. More... | |
virtual Uuid | get_iid () const =0 |
Returns the interface ID of the most derived interface. More... | |
Additional Inherited Members | |
Public Types inherited from mi::base::Interface_declare< 0x8646a2cb, ... > | |
typedef Interface_declare< id1, ... > | Self |
Own type. More... | |
typedef Uuid_t< id1, ... > | IID |
Declares the interface ID (IID) of this interface. More... | |
Public Types inherited from mi::base::IInterface | |
typedef Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> | IID |
Declares the interface ID (IID) of this interface. More... | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0x8646a2cb, ... > | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
Static Public Member Functions inherited from mi::base::IInterface | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface. More... | |
This interface represents states that are passed to recursive calls of importers and exporters.
It carries all state information that a recursive importer call may need to access from its calling importer, such as the URI and the current line number. It is, for example, used to provide proper diagnostics. The class implementing the state needs to be derived from this mi::neuraylib::IImpexp_state class.
Importer and exporter classes have a factory function to create the state object. This allows the calling function to create a state, initialize it and querying the number of lines imported after running the actual importer.
Importers and exporters can enrich their implementation of the state with additional information they may need to import or export specific formats recursively.