Public Member Functions | Protected Attributes

Translator Class Reference

I/O Interpreter class for a certain object type. More...

Inheritance diagram for Translator:
CallBacker PreLoadsTranslator PreLoadSurfacesTranslator dgbPreLoadsTranslator dgbPreLoadSurfacesTranslator

List of all members.

Public Member Functions

 Translator (const char *nm, const char *unm)
virtual ~Translator ()
const BufferStringtypeName () const
const BufferStringuserName () const
const TranslatorGroupgroup () const
virtual TranslatorgetNew () const =0
virtual bool implExists (const IOObj *, int forread) const
virtual bool implReadOnly (const IOObj *) const
virtual bool implRemove (const IOObj *) const
virtual bool implShouldRemove (const IOObj *) const
virtual bool implRename (const IOObj *, const char *, const CallBack *cb=0) const
virtual bool implSetReadOnly (const IOObj *, bool) const
virtual const char * connType () const
virtual void usePar (const IOPar &)
virtual const char * defExtension () const
void setGroup (TranslatorGroup *g)
virtual bool isReadDefault () const

Protected Attributes

BufferString typname_
BufferString usrname_
TranslatorGroupgroup_

Detailed Description

I/O Interpreter class for a certain object type.

Every concept (Well, Seismic data, etc.) should have its own Translator base class. Together with the Group, you then get 2 + N classes per concept: XxxTranslatorGroup XxxTranslator yyyXxxTranslator The XxxTranslator defines the 'protocol' for reading and writing objects of this type. Actual I/O will always be done through a pointer to that type.

Important: use the macros at the end of this header file to declare and define every Translator(Group)-related class.


Constructor & Destructor Documentation

Translator::Translator ( const char *  nm,
const char *  unm 
) [inline]
virtual Translator::~Translator (  )  [inline, virtual]

Member Function Documentation

virtual const char* Translator::connType (  )  const [virtual]
virtual const char* Translator::defExtension (  )  const [inline, virtual]
virtual Translator* Translator::getNew (  )  const [pure virtual]
const TranslatorGroup* Translator::group (  )  const [inline]
virtual bool Translator::implExists ( const IOObj ,
int  forread 
) const [virtual]
virtual bool Translator::implReadOnly ( const IOObj  )  const [virtual]
virtual bool Translator::implRemove ( const IOObj  )  const [virtual]
virtual bool Translator::implRename ( const IOObj ,
const char *  ,
const CallBack cb = 0 
) const [virtual]
virtual bool Translator::implSetReadOnly ( const IOObj ,
bool   
) const [virtual]
virtual bool Translator::implShouldRemove ( const IOObj  )  const [virtual]
virtual bool Translator::isReadDefault (  )  const [inline, virtual]

If true, objs are for 'normal' use, not just import

void Translator::setGroup ( TranslatorGroup g  )  [inline]
const BufferString& Translator::typeName (  )  const [inline]
virtual void Translator::usePar ( const IOPar  )  [inline, virtual]
const BufferString& Translator::userName (  )  const [inline]

Member Data Documentation