OpendTect  6.3
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
DataPackMgr Class Reference

Manages DataPacks. More...

Inheritance diagram for DataPackMgr:
[legend]

Public Types

typedef DataPack::FullID::MgrID ID
 

Public Member Functions

bool haveID (DataPack::ID) const
 
bool haveID (const DataPack::FullID &fid) const
 
template<class T >
T * add (T *p)
 
template<class T >
T * add (RefMan< T > &p)
 
RefMan< DataPackget (DataPack::ID) const
 
template<class T >
RefMan< T > getAndCast (DataPack::ID) const
 Dynamic casts to T and returns results. More...
 
WeakPtr< DataPackobserve (DataPack::ID) const
 
template<class T >
WeakPtr< T > observeAndCast (DataPack::ID) const
 Dynamic casts to T and returns results. More...
 
bool ref (DataPack::ID dpid)
 
bool unRef (DataPack::ID dpid)
 
const char * nameOf (DataPack::ID) const
 
const char * categoryOf (DataPack::ID) const
 
virtual float nrKBytesOf (DataPack::ID) const
 
virtual void dumpInfoFor (DataPack::ID, IOPar &) const
 
ID id () const
 
void dumpInfo (od_ostream &) const
 
float nrKBytes () const
 
void getPackIDs (TypeSet< DataPack::ID > &) const
 
 DataPackMgr (ID)
 
 ~DataPackMgr ()
 
DataPackaddAndObtain (DataPack *)
 
DataPackobtain (DataPack::ID dpid)
 
const DataPackobtain (DataPack::ID dpid) const
 
void release (DataPack::ID)
 
void release (const DataPack *dp)
 
void releaseAll (bool donotify)
 
- 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 detachCB (const NotifierAccess &, const CallBack &) const
 
void detachCB (const NotifierAccess *notif, const CallBack &cb) const
 
bool isNotifierAttached (const NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 
virtual bool isCapsule () const
 
void stopReceivingNotifications () const
 

Static Public Member Functions

static ID getID (const DataPack::FullID &fid)
 
static ID BufID ()
 Simple data buffer: 1. More...
 
static ID PointID ()
 Sets of 'unconnected' points: 2. More...
 
static ID SeisID ()
 Cube/Block (N1xN2xN3) data: 3. More...
 
static ID FlatID ()
 Flat (N1xN2) data: 4. More...
 
static ID SurfID ()
 Surface (triangulated) data: 5. More...
 
static const char * nameOf (const DataPack::FullID &)
 
static const char * categoryOf (const DataPack::FullID &)
 
static DataPackMgrDPM (ID)
 
static DataPackMgrgtDPM (ID, bool)
 
static void dumpDPMs (od_ostream &)
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 

Public Attributes

Notifier< DataPackMgrnewPack
 Passed CallBacker* = Pack. More...
 
Notifier< DataPackMgrpackToBeRemoved
 Passed CallBacker* = Pack. More...
 

Protected Member Functions

void doAdd (DataPack *)
 
- Protected Member Functions inherited from CallBacker
void detachAllNotifiers () const
 Call from the destructor of your inherited object. More...
 

Protected Attributes

ID id_
 
WeakPtrSet< DataPackpacks_
 

Static Protected Attributes

static Threads::Lock mgrlistlock_
 
static ManagedObjectSet< DataPackMgrmgrs_
 

Detailed Description

Manages DataPacks.

DataPacks will be managed with everything in it. If you add a Pack, you will get the ID of the pack.

When you obtain the data for looking at it, you can choose to 'only observe'. In that case, you'd better use the packToBeRemoved notifier, as the data may be deleted at any time. Normally, you want to obtain a reference whilst making sure the data is not thrown away.

This means you must release the data pack once you no longer use it, but NEVER* release a pack when you used the 'observing_only' option.

You can get an appropriate DataPackMgr from the DPM() function.

Member Typedef Documentation

Constructor & Destructor Documentation

DataPackMgr::DataPackMgr ( ID  )

You can, but normally should not, construct a manager. In general, leave it to DPM().

DataPackMgr::~DataPackMgr ( )

Delete a DataPackMgr only when you have created it with the constructor.

Member Function Documentation

template<class T >
T* DataPackMgr::add ( T *  p)
inline
template<class T >
T* DataPackMgr::add ( RefMan< T > &  p)
inline
DataPack* DataPackMgr::addAndObtain ( DataPack )

The pack becomes mines. Pack is obtained during the lock, i.e. threadsafe.

static ID DataPackMgr::BufID ( )
static

Simple data buffer: 1.

const char* DataPackMgr::categoryOf ( DataPack::ID  ) const
static const char* DataPackMgr::categoryOf ( const DataPack::FullID )
static
void DataPackMgr::doAdd ( DataPack )
protected
static DataPackMgr& DataPackMgr::DPM ( ID  )
static
static void DataPackMgr::dumpDPMs ( od_ostream )
static
void DataPackMgr::dumpInfo ( od_ostream ) const
virtual void DataPackMgr::dumpInfoFor ( DataPack::ID  ,
IOPar  
) const
virtual
static ID DataPackMgr::FlatID ( )
static

Flat (N1xN2) data: 4.

RefMan<DataPack> DataPackMgr::get ( DataPack::ID  ) const
template<class T >
RefMan< T > DataPackMgr::getAndCast ( DataPack::ID  dpid) const
inline

Dynamic casts to T and returns results.

static ID DataPackMgr::getID ( const DataPack::FullID fid)
inlinestatic
void DataPackMgr::getPackIDs ( TypeSet< DataPack::ID > &  ) const
static DataPackMgr* DataPackMgr::gtDPM ( ID  ,
bool   
)
static
bool DataPackMgr::haveID ( DataPack::ID  ) const
bool DataPackMgr::haveID ( const DataPack::FullID fid) const
inline
ID DataPackMgr::id ( ) const
inline
const char* DataPackMgr::nameOf ( DataPack::ID  ) const
static const char* DataPackMgr::nameOf ( const DataPack::FullID )
static
float DataPackMgr::nrKBytes ( ) const
virtual float DataPackMgr::nrKBytesOf ( DataPack::ID  ) const
virtual
WeakPtr<DataPack> DataPackMgr::observe ( DataPack::ID  ) const
template<class T >
WeakPtr< T > DataPackMgr::observeAndCast ( DataPack::ID  dpid) const
inline

Dynamic casts to T and returns results.

DataPack* DataPackMgr::obtain ( DataPack::ID  dpid)
const DataPack* DataPackMgr::obtain ( DataPack::ID  dpid) const
static ID DataPackMgr::PointID ( )
static

Sets of 'unconnected' points: 2.

bool DataPackMgr::ref ( DataPack::ID  dpid)
void DataPackMgr::release ( DataPack::ID  )
void DataPackMgr::release ( const DataPack dp)
inline
void DataPackMgr::releaseAll ( bool  donotify)
static ID DataPackMgr::SeisID ( )
static

Cube/Block (N1xN2xN3) data: 3.

static ID DataPackMgr::SurfID ( )
static

Surface (triangulated) data: 5.

bool DataPackMgr::unRef ( DataPack::ID  dpid)

Member Data Documentation

ID DataPackMgr::id_
protected
Threads::Lock DataPackMgr::mgrlistlock_
staticprotected
ManagedObjectSet<DataPackMgr> DataPackMgr::mgrs_
staticprotected
Notifier<DataPackMgr> DataPackMgr::newPack

Passed CallBacker* = Pack.

WeakPtrSet<DataPack> DataPackMgr::packs_
mutableprotected
Notifier<DataPackMgr> DataPackMgr::packToBeRemoved

Passed CallBacker* = Pack.


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