| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DayaBay::RegistrationSequence Class Reference

Lists the order of registration of Data Objects. More...

#include <RegistrationSequence.h>

Inheritance diagram for DayaBay::RegistrationSequence:

[legend]
Collaboration diagram for DayaBay::RegistrationSequence:
[legend]
List of all members.

Public Types

typedef IRegistrationSequence::Registration Registration
typedef IRegistrationSequence::Registrations Registrations
 A list of object registrations.
typedef IRegistrationSequence::size_type size_type

Public Member Functions

virtual const std::string & defLoc () const
 RegistrationSequence ()
 Default Constructor.
virtual ~RegistrationSequence ()
 Destructor.
virtual const CLIDclID () const
virtual bool empty () const
 True if this object does not conatin any registrations.
virtual size_type size () const
 Returns the number of registrations this object contains.
virtual const Registrationsregistrations () const
 The list of objects registered with thi object.
virtual Registrations registration (const std::string &path) const
 Return all Registration with the given TES path.
virtual Registrationregistration (const DataObject *dobj) const
 Look up a Registration based on object pointer or NULL if fail.
void insert (IRegistry *registry, DataObject *object, bool marked)
 Inserts the specified data as a new registration.
void setRegistrations (Registrations *value)
 Set the Registration vector.
std::ostream & fillStream (std::ostream &s) const
 Serialize to an ostream.
virtual const std::string & defLoc ()
 Default location in the TES for this type of object.
virtual void setOutputAddress (const GenericAddress *roa)
 Set the output address when this header object is written out.
virtual void setInputAddress (const GenericAddress *ria)
 Set the input address when this header object is read in.
virtual const TimeStampearliest () const
 Retrieve const The earliest time of the existence of the object.
void setEarliest (const TimeStamp &value)
 Update The earliest time of the existence of the object.
virtual const TimeStamplatest () const
 Retrieve const The latest time of the existence of the object.
void setLatest (const TimeStamp &value)
 Update The latest time of the existence of the object.
virtual const GenericAddressoutputAddress () const
 Retrieve const Output address containing output stream, entry and path (base class of RootIOAddress).
virtual const GenericAddressinputAddress () const
 Retrieve const Input address containing input stream, entry and path (base class of RootIOAddress).
void setRegistry (IRegistry *pRegistry)
IRegistryregistry () const
LinkManagerlinkMgr () const
unsigned char version () const
void setVersion (unsigned char vsn)
unsigned long refCount () const
virtual unsigned long addRef ()
virtual unsigned long release ()
const std::string & name () const
virtual StreamBufferserialize (StreamBuffer &s)
virtual StreamBufferserialize (StreamBuffer &s) const

Static Public Member Functions

static const std::string & defaultLocation ()
 Give access to default location from class scope.
static const CLIDclassID ()
static void * operator new (size_t size)
 operator new
static void * operator new (size_t size, void *pObj)
 placement operator new it is needed by libstdc++ 3.2.3 (e.g.
static void operator delete (void *p)
 operator delete
static void operator delete (void *p, void *pObj)
 placement operator delete not sure if really needed, but it does not harm

Private Attributes

Registrationsm_registrations
 The list of objects registered with thi object.

Friends

friend std::ostream & operator<< (std::ostream &s, const DataObject &obj)

Detailed Description

Lists the order of registration of Data Objects.

Author:
Simon Patton <SJPatton@lbl.gov> created Mon Apr 11 03:25:54 2011

Definition at line 50 of file RegistrationSequence.h.


Member Typedef Documentation

typedef IRegistrationSequence::Registration DayaBay::RegistrationSequence::Registration

Reimplemented from IRegistrationSequence.

Definition at line 59 of file RegistrationSequence.h.

typedef IRegistrationSequence::Registrations DayaBay::RegistrationSequence::Registrations

A list of object registrations.

Reimplemented from IRegistrationSequence.

Definition at line 61 of file RegistrationSequence.h.

typedef IRegistrationSequence::size_type DayaBay::RegistrationSequence::size_type

Reimplemented from IRegistrationSequence.

Definition at line 63 of file RegistrationSequence.h.


Constructor & Destructor Documentation

DayaBay::RegistrationSequence::RegistrationSequence (  ) 

Default Constructor.

Definition at line 5 of file RegistrationSequence.cc.

00006 {
00007     setEarliest(TimeStamp::GetBOT());
00008     setLatest(TimeStamp::GetBOT());
00009     m_registrations = new Registrations();
00010 }

DayaBay::RegistrationSequence::~RegistrationSequence (  )  [virtual]

Destructor.

Definition at line 12 of file RegistrationSequence.cc.

00013 {
00014     if (m_registrations) {
00015         m_registrations->clear();
00016         delete m_registrations;
00017         m_registrations = 0;
00018     }
00019 }


Member Function Documentation

static const std::string& DayaBay::RegistrationSequence::defaultLocation (  )  [inline, static]

Give access to default location from class scope.

Definition at line 55 of file RegistrationSequence.h.

virtual const std::string& DayaBay::RegistrationSequence::defLoc (  )  const [inline, virtual]

Definition at line 56 of file RegistrationSequence.h.

const CLID & DayaBay::RegistrationSequence::clID (  )  const [inline, virtual]

Reimplemented from DayaBay::TemporalDataObject.

Definition at line 155 of file RegistrationSequence.h.

00156 {
00157   return DayaBay::RegistrationSequence::classID();
00158 }

const CLID & DayaBay::RegistrationSequence::classID (  )  [inline, static]

Reimplemented from DayaBay::TemporalDataObject.

Definition at line 160 of file RegistrationSequence.h.

00161 {
00162   return CLID_RegistrationSequence;
00163 }

bool RegistrationSequence::empty (  )  const [virtual]

True if this object does not conatin any registrations.

Implements IRegistrationSequence.

Definition at line 29 of file RegistrationSequence.cc.

00030 {
00031   return m_registrations->empty();
00032 }

RegistrationSequence::size_type RegistrationSequence::size (  )  const [virtual]

Returns the number of registrations this object contains.

Implements IRegistrationSequence.

Definition at line 34 of file RegistrationSequence.cc.

00035 {
00036   return m_registrations->size();
00037 }

const RegistrationSequence::Registrations & RegistrationSequence::registrations (  )  const [virtual]

The list of objects registered with thi object.

Implements IRegistrationSequence.

Definition at line 39 of file RegistrationSequence.cc.

00039                                                                                    {
00040   return *m_registrations;
00041 }

RegistrationSequence::Registrations RegistrationSequence::registration ( const std::string &  path  )  const [virtual]

Return all Registration with the given TES path.

Implements IRegistrationSequence.

Definition at line 73 of file RegistrationSequence.cc.

00074 {
00075     Registrations ret;
00076 
00077     IRegistrationSequence::Registrations::iterator it, 
00078         done = m_registrations->end();
00079     for (it = m_registrations->begin(); it != done; ++it) {
00080         if (it->path() == path) ret.push_back(*it);
00081     }
00082     return ret;
00083 }

RegistrationSequence::Registration * RegistrationSequence::registration ( const DataObject dobj  )  const [virtual]

Look up a Registration based on object pointer or NULL if fail.

Implements IRegistrationSequence.

Definition at line 86 of file RegistrationSequence.cc.

00087 {
00088     IRegistrationSequence::Registrations::iterator it, 
00089         done = m_registrations->end();
00090     for (it = m_registrations->begin(); it != done; ++it) {
00091         if (it->object() == dobj) return &(*it);
00092     }
00093     return 0;    
00094 }

void RegistrationSequence::insert ( IRegistry registry,
DataObject object,
bool  marked 
)

Inserts the specified data as a new registration.

Definition at line 43 of file RegistrationSequence.cc.

00045                                                {
00046   if ( 0 == object) {
00047     return;
00048   }
00049 
00050   TemporalDataObject* temporal = dynamic_cast<TemporalDataObject*>(object);
00051   if (0 != temporal) {
00052       // only do something when the object has a meaningful time
00053       if(temporal->earliest() != TimeStamp::GetBOT() &&
00054          temporal->latest()   != TimeStamp::GetBOT() ) {
00055 
00056           if (TimeStamp::GetBOT() == earliest() || earliest() > temporal->earliest()) {
00057               setEarliest(temporal->earliest());
00058           }
00059       
00060           if (TimeStamp::GetBOT() == latest() || latest() < temporal->latest()) {
00061               setLatest(temporal->latest());
00062           }
00063       }
00064   }
00065 
00066   m_registrations->push_back(Registration(registry,
00067                                           object,
00068                                           marked));
00069 
00070 }

void DayaBay::RegistrationSequence::setRegistrations ( Registrations value  ) 

Set the Registration vector.

Definition at line 23 of file RegistrationSequence.cc.

00024 {
00025     delete m_registrations;
00026     m_registrations = value;
00027 }

std::ostream & RegistrationSequence::fillStream ( std::ostream &  s  )  const [virtual]

Serialize to an ostream.

Reimplemented from IRegistrationSequence.

Definition at line 96 of file RegistrationSequence.cc.

00097 {
00098     TemporalDataObject::fillStream(s);
00099     s << "{ " << m_registrations->size() << " registrations :\n";
00100     IRegistrationSequence::Registrations::iterator it, 
00101         done = m_registrations->end();
00102     int count = 0;
00103     for (it = m_registrations->begin(); it != done; ++it) {
00104         DataObject* dobj = it->object();
00105 
00106         s << "\n[" << count++ << "] " << dobj->name() 
00107           << " (entry=" << it->entry() 
00108           << ",store=" << it->store() << ")"
00109           << ": "; dobj->fillStream(s);
00110     }
00111     s << "\n}\n";
00112     return s;
00113 }

static void* DayaBay::RegistrationSequence::operator new ( size_t  size  )  [inline, static]

operator new

Reimplemented from DayaBay::TemporalDataObject.

Definition at line 104 of file RegistrationSequence.h.

00105     {
00106       return ( sizeof(RegistrationSequence) == size ? 
00107                boost::singleton_pool<RegistrationSequence, sizeof(RegistrationSequence)>::malloc() :
00108                ::operator new(size) );
00109     }

static void* DayaBay::RegistrationSequence::operator new ( size_t  size,
void *  pObj 
) [inline, static]

placement operator new it is needed by libstdc++ 3.2.3 (e.g.

in std::vector) it is not needed in libstdc++ >= 3.4

Reimplemented from DayaBay::TemporalDataObject.

Definition at line 114 of file RegistrationSequence.h.

00115     {
00116       return ::operator new (size,pObj);
00117     }

static void DayaBay::RegistrationSequence::operator delete ( void *  p  )  [inline, static]

operator delete

Reimplemented from DayaBay::TemporalDataObject.

Definition at line 120 of file RegistrationSequence.h.

00121     {
00122       boost::singleton_pool<RegistrationSequence, sizeof(RegistrationSequence)>::is_from(p) ?
00123       boost::singleton_pool<RegistrationSequence, sizeof(RegistrationSequence)>::free(p) :
00124       ::operator delete(p);
00125     }

static void DayaBay::RegistrationSequence::operator delete ( void *  p,
void *  pObj 
) [inline, static]

placement operator delete not sure if really needed, but it does not harm

Reimplemented from DayaBay::TemporalDataObject.

Definition at line 129 of file RegistrationSequence.h.

00130     {
00131       ::operator delete (p, pObj);
00132     }

const std::string & DayaBay::TemporalDataObject::defLoc (  )  [virtual, inherited]

Default location in the TES for this type of object.

Definition at line 17 of file TemporalDataObject.cc.

00018 {
00019     cerr << "TemporalDataObject::defLoc() called.  Some method did not define a default location!" << endl;
00020     static string empty("");
00021     return empty;
00022 }

void DayaBay::TemporalDataObject::setOutputAddress ( const GenericAddress roa  )  [virtual, inherited]

Set the output address when this header object is written out.

Definition at line 26 of file TemporalDataObject.cc.

00027 {
00028   // bad input
00029   if(roa==0) {
00030     return;
00031   }
00032     
00033   // prepare to set
00034   if(m_outputAddress!=0) {
00035     m_outputAddress->release();
00036   }
00037 
00038   GenericAddress* non_const_roa=const_cast<GenericAddress*>(roa);
00039 
00040   m_outputAddress=non_const_roa;
00041   m_outputAddress->addRef();
00042 }

void DayaBay::TemporalDataObject::setInputAddress ( const GenericAddress ria  )  [virtual, inherited]

Set the input address when this header object is read in.

Definition at line 46 of file TemporalDataObject.cc.

00047 {
00048   // bad input
00049   if(ria==0) {
00050     return;
00051   }
00052 
00053   // prepare to set
00054   if(m_inputAddress!=0) {
00055     m_inputAddress->release();
00056   }
00057 
00058   GenericAddress* non_const_ria=const_cast<GenericAddress*>(ria);
00059 
00060   m_inputAddress=non_const_ria;
00061   m_inputAddress->addRef();
00062 }

const TimeStamp & DayaBay::TemporalDataObject::earliest (  )  const [inline, virtual, inherited]

Retrieve const The earliest time of the existence of the object.

Implements DayaBay::ITemporal.

Definition at line 177 of file TemporalDataObject.h.

00178 {
00179   return m_earliest;
00180 }

void DayaBay::TemporalDataObject::setEarliest ( const TimeStamp value  )  [inline, virtual, inherited]

Update The earliest time of the existence of the object.

Implements DayaBay::ITemporal.

Definition at line 182 of file TemporalDataObject.h.

00183 {
00184   m_earliest = value;
00185 }

const TimeStamp & DayaBay::TemporalDataObject::latest (  )  const [inline, virtual, inherited]

Retrieve const The latest time of the existence of the object.

Implements DayaBay::ITemporal.

Definition at line 187 of file TemporalDataObject.h.

00188 {
00189   return m_latest;
00190 }

void DayaBay::TemporalDataObject::setLatest ( const TimeStamp value  )  [inline, virtual, inherited]

Update The latest time of the existence of the object.

Implements DayaBay::ITemporal.

Definition at line 192 of file TemporalDataObject.h.

00193 {
00194   m_latest = value;
00195 }

const GenericAddress * DayaBay::TemporalDataObject::outputAddress (  )  const [inline, virtual, inherited]

Retrieve const Output address containing output stream, entry and path (base class of RootIOAddress).

Definition at line 197 of file TemporalDataObject.h.

00198 {
00199   return m_outputAddress;
00200 }

const GenericAddress * DayaBay::TemporalDataObject::inputAddress (  )  const [inline, virtual, inherited]

Retrieve const Input address containing input stream, entry and path (base class of RootIOAddress).

Definition at line 202 of file TemporalDataObject.h.

00203 {
00204   return m_inputAddress;
00205 }


Member Data Documentation

Registrations* DayaBay::RegistrationSequence::m_registrations [private]

The list of objects registered with thi object.

Definition at line 138 of file RegistrationSequence.h.


The documentation for this class was generated from the following files:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:18:03 2011 for BaseEvent by doxygen 1.4.7