OpendTect 8.0
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
IODir Class Reference

#include <iodir.h>

Inheritance diagram for IODir:
[legend]

Public Member Functions

 IODir (const char *)
 
 IODir (const MultiID &)
 
 ~IODir ()
 
bool addObj (IOObj *, bool immediate_store=true)
 after call, IOObj is mine
 
bool addObjects (ObjectSet< IOObj > &, bool immediate_store=true)
 
bool commitChanges (const IOObj *)
 after call, assume pointer will be invalid
 
bool commitChanges (const ObjectSet< const IOObj > &)
 
const char * dirName () const
 
bool doWrite () const
 
bool ensureUniqueName (IOObj &)
 
const IOObjget (const char *objnm, const char *trgrpnm=nullptr) const
 
const IOObjget (const MultiID &) const
 
const IOObjget (const OD::DataSetKey &) const
 
const IOObjget (int idx) const
 
MultiID getNewKey () const
 
const ObjectSet< IOObj > & getObjs () const
 
bool hasObjectsWithGroup (const char *trgrpnm) const
 
int indexOf (const MultiID &) const
 
bool isBad () const
 
int isEmpty () const
 
bool isPresent (const MultiID &) const
 
const MultiIDkey () const
 
const IOObjmain () const
 
bool permRemove (const MultiID &)
 
bool permRemove (const TypeSet< MultiID > &)
 
void reRead ()
 
int size () const
 
void update ()
 
const char * version () const
 
- Public Member Functions inherited from NamedCallBacker
 NamedCallBacker (const char *nm=nullptr)
 
 NamedCallBacker (const NamedCallBacker &)=delete
 
 ~NamedCallBacker ()
 
virtual Notifier< NamedCallBacker > & objectToBeDeleted () const
 
NamedCallBackeroperator= (const NamedCallBacker &)=delete
 
bool operator== (const NamedCallBacker &oth) const
 
bool operator== (const NamedObject &oth) const
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const
 
bool attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const
 
void detachAllNotifiers () const
 Call from the destructor of your inherited object.
 
void detachCB (const NotifierAccess &, const CallBack &) const
 
void detachCB (const NotifierAccess *notif, const CallBack &cb) const
 
virtual bool isCapsule () const
 
bool isNotifierAttached (const NotifierAccess *) const
 Only for debugging purposes, don't use.
 
CallBackeroperator= (const CallBacker &)=delete
 
void stopReceivingNotifications () const
 
virtual CallBackertrueCaller ()
 
- Public Member Functions inherited from NamedObject
 NamedObject (const char *nm=nullptr)
 
 NamedObject (const NamedObject &oth)
 
virtual ~NamedObject ()
 
virtual BufferString getName () const
 
bool getNameFromPar (const IOPar &)
 
const name_typename () const override
 
NamedObjectoperator= (const NamedObject &)
 
bool operator== (const NamedObject &oth) const
 
virtual void setName (const char *nm)
 
- Public Member Functions inherited from ObjectWithName
virtual ~ObjectWithName ()
 
bool hasName (const char *nm) const
 
bool hasName (const name_type &nm) const
 
void putNameInPar (IOPar &) const
 

Static Public Member Functions

static IOObjgetMain (const char *)
 
static IOObjgetObj (const DBKey &)
 
static IOObjgetObj (const MultiID &)
 
static IOObjgetObj (const OD::DataSetKey &)
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 

Private Member Functions

 IODir ()
 
void addObjectNoWrite (IOObj *)
 
void addObjNoChecks (IOObj *)
 
bool build ()
 
IOObjget (const MultiID &)
 
IOObjget (int idx)
 
MultiID newKey () const
 
void rebuild_objidmap ()
 
bool wrOmf (od_ostream &) const
 

Static Private Member Functions

static IOObjdoRead (const char *, IODir *, int id=-1)
 
static IOObjgetIOObj (const char *dirnm, const MultiID &)
 
static IOObjgetIOObj (const char *dirnm, const OD::DataSetKey &)
 
static IOObjreadOmf (od_istream &, const char *, IODir *, int)
 
static void setDirName (IOObj &, const char *)
 

Private Attributes

int curid_ = 0
 
BufferString dirname_
 
bool isok_ = false
 
MultiID key_
 
od_int64 lastmodtime_ = 0
 
std::unordered_map< int, int > objidmap_
 
ObjectSet< IOObjobjs_
 
BufferString version_
 

Friends

class IOMan
 
class IOObj
 

Additional Inherited Members

- Public Types inherited from ObjectWithName
typedef OD::String name_type
 
- Protected Member Functions inherited from NamedCallBacker
void sendDelNotif () const
 
- Protected Attributes inherited from NamedCallBacker
Threads::Atomic< bool > delalreadytriggered_
 
Notifier< NamedCallBackerdelnotif_
 
- Protected Attributes inherited from NamedObject
BufferString name_
 

Detailed Description

<>

Constructor & Destructor Documentation

◆ IODir() [1/3]

IODir::IODir ( const char * )

◆ IODir() [2/3]

IODir::IODir ( const MultiID & )

◆ ~IODir()

IODir::~IODir ( )

◆ IODir() [3/3]

IODir::IODir ( )
private

Member Function Documentation

◆ addObj()

bool IODir::addObj ( IOObj * ,
bool immediate_store = true )

after call, IOObj is mine

◆ addObjectNoWrite()

void IODir::addObjectNoWrite ( IOObj * )
private

◆ addObjects()

bool IODir::addObjects ( ObjectSet< IOObj > & ,
bool immediate_store = true )

◆ addObjNoChecks()

void IODir::addObjNoChecks ( IOObj * )
private

◆ build()

bool IODir::build ( )
private

◆ commitChanges() [1/2]

bool IODir::commitChanges ( const IOObj * )

after call, assume pointer will be invalid

◆ commitChanges() [2/2]

bool IODir::commitChanges ( const ObjectSet< const IOObj > & )

◆ dirName()

const char * IODir::dirName ( ) const
inline

◆ doRead()

static IOObj * IODir::doRead ( const char * ,
IODir * ,
int id = -1 )
staticprivate

◆ doWrite()

bool IODir::doWrite ( ) const

◆ ensureUniqueName()

bool IODir::ensureUniqueName ( IOObj & )

◆ get() [1/6]

const IOObj * IODir::get ( const char * objnm,
const char * trgrpnm = nullptr ) const

◆ get() [2/6]

IOObj * IODir::get ( const MultiID & )
private

◆ get() [3/6]

const IOObj * IODir::get ( const MultiID & ) const

◆ get() [4/6]

const IOObj * IODir::get ( const OD::DataSetKey & ) const

◆ get() [5/6]

IOObj * IODir::get ( int idx)
inlineprivate

◆ get() [6/6]

const IOObj * IODir::get ( int idx) const
inline

◆ getIOObj() [1/2]

static IOObj * IODir::getIOObj ( const char * dirnm,
const MultiID &  )
staticprivate

◆ getIOObj() [2/2]

static IOObj * IODir::getIOObj ( const char * dirnm,
const OD::DataSetKey &  )
staticprivate

◆ getMain()

static IOObj * IODir::getMain ( const char * )
static

◆ getNewKey()

MultiID IODir::getNewKey ( ) const

◆ getObj() [1/3]

static IOObj * IODir::getObj ( const DBKey & )
static

◆ getObj() [2/3]

static IOObj * IODir::getObj ( const MultiID & )
static

◆ getObj() [3/3]

static IOObj * IODir::getObj ( const OD::DataSetKey & )
static

◆ getObjs()

const ObjectSet< IOObj > & IODir::getObjs ( ) const
inline

◆ hasObjectsWithGroup()

bool IODir::hasObjectsWithGroup ( const char * trgrpnm) const

◆ indexOf()

int IODir::indexOf ( const MultiID & ) const

◆ isBad()

bool IODir::isBad ( ) const
inline

◆ isEmpty()

int IODir::isEmpty ( ) const
inline

◆ isPresent()

bool IODir::isPresent ( const MultiID & ) const

◆ key()

const MultiID & IODir::key ( ) const
inline

◆ main()

const IOObj * IODir::main ( ) const

◆ newKey()

MultiID IODir::newKey ( ) const
private

◆ permRemove() [1/2]

bool IODir::permRemove ( const MultiID & )

◆ permRemove() [2/2]

bool IODir::permRemove ( const TypeSet< MultiID > & )

◆ readOmf()

static IOObj * IODir::readOmf ( od_istream & ,
const char * ,
IODir * ,
int  )
staticprivate

◆ rebuild_objidmap()

void IODir::rebuild_objidmap ( )
private

◆ reRead()

void IODir::reRead ( )

◆ setDirName()

static void IODir::setDirName ( IOObj & ,
const char *  )
staticprivate

◆ size()

int IODir::size ( ) const
inline

◆ update()

void IODir::update ( )

◆ version()

const char * IODir::version ( ) const
inline

◆ wrOmf()

bool IODir::wrOmf ( od_ostream & ) const
private

Friends And Related Symbol Documentation

◆ IOMan

friend class IOMan
friend

◆ IOObj

friend class IOObj
friend

Member Data Documentation

◆ curid_

int IODir::curid_ = 0
mutableprivate

◆ dirname_

BufferString IODir::dirname_
private

◆ isok_

bool IODir::isok_ = false
private

◆ key_

MultiID IODir::key_
private

◆ lastmodtime_

od_int64 IODir::lastmodtime_ = 0
mutableprivate

◆ objidmap_

std::unordered_map<int,int> IODir::objidmap_
private

◆ objs_

ObjectSet<IOObj> IODir::objs_
private

◆ version_

BufferString IODir::version_
private

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2025