Equalizer  1.6.1
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
eq::fabric::Object Class Reference

Internal base class for all distributed, inheritable Equalizer objects. More...

#include <object.h>

Inherits Serializable.

Inherited by eq::fabric::Canvas< Config, Canvas, Segment, Layout >, eq::fabric::Channel< Window, Channel >, eq::fabric::Config< Server, Config, Observer, Layout, Canvas, Node, ConfigVisitor >, eq::fabric::Canvas< CFG, C, S, L >, eq::fabric::Channel< W, C >, eq::fabric::Config< S, C, O, L, CV, N, V >, eq::fabric::Layout< C, L, V >, eq::fabric::Node< C, N, P, V >, eq::fabric::Observer< C, O >, eq::fabric::Pipe< N, P, W, V >, eq::fabric::Segment< C, S, CH >, eq::fabric::View< class, class, class >, eq::fabric::Window< class, class, class >, eq::fabric::Layout< Config, Layout, View >, eq::fabric::Node< Config, Node, Pipe, NodeVisitor >, eq::fabric::Observer< Config, Observer >, eq::fabric::Pipe< Node, Pipe, eq::Window, PipeVisitor >, eq::fabric::Segment< Canvas, Segment, Channel >, eq::fabric::View< Layout, View, Observer >, and eq::fabric::Window< Pipe, Window, Channel >.

+ Collaboration diagram for eq::fabric::Object:

Public Types

enum  DirtyBits {
  DIRTY_NAME = Serializable::DIRTY_CUSTOM << 0, DIRTY_USERDATA = Serializable::DIRTY_CUSTOM << 1, DIRTY_ERROR = Serializable::DIRTY_CUSTOM << 2, DIRTY_TASKS = Serializable::DIRTY_CUSTOM << 3,
  DIRTY_REMOVED = Serializable::DIRTY_CUSTOM << 4, DIRTY_SERIAL = Serializable::DIRTY_CUSTOM << 5, DIRTY_CUSTOM = Serializable::DIRTY_CUSTOM << 6, DIRTY_OBJECT_BITS = DIRTY_NAME | DIRTY_USERDATA | DIRTY_ERROR
}
 The changed parts of the object since the last pack(). More...
 

Public Member Functions

virtual bool isDirty () const
 
virtual uint128_t commit (const uint32_t incarnation=CO_COMMIT_NEXT)
 
virtual void backup ()
 
virtual void restore ()
 
Data Access.
void setName (const std::string &name)
 Set the name of the object. More...
 
const std::string & getName () const
 
void setUserData (co::Object *userData)
 Set user-specific data. More...
 
co::Object * getUserData ()
 
const co::Object * getUserData () const
 
Error Information.
void setError (const int32_t error)
 Set an error code why the last operation failed. More...
 
eq::fabric::Error getError () const
 
Data Access
uint32_t getTasks () const
 Return the set of tasks this channel might execute in the worst case. More...
 
uint32_t getSerial () const
 

Protected Member Functions

 Object ()
 Construct a new Object. More...
 
virtual ~Object ()
 Destruct the object. More...
 
virtual bool hasMasterUserData ()
 
virtual uint32_t getUserDataLatency () const
 
void setTasks (const uint32_t tasks)
 
virtual void notifyDetach ()
 
virtual void serialize (co::DataOStream &os, const uint64_t dirtyBits)
 
virtual void deserialize (co::DataIStream &is, const uint64_t dirtyBits)
 
virtual uint64_t getRedistributableBits () const
 
void postRemove (Object *child)
 
virtual void removeChild (const UUID &)
 
template<class C , class S >
void commitChild (C *child, S *sender, uint32_t cmd, const uint32_t incarnation)
 
template<class C >
void commitChild (C *child, const uint32_t incarnation)
 
template<class C , class S >
void commitChildren (const std::vector< C * > &children, S *sender, uint32_t cmd, const uint32_t incarnation)
 
template<class C >
void commitChildren (const std::vector< C * > &children, uint32_t cmd, const uint32_t incarnation)
 
template<class C >
void commitChildren (const std::vector< C * > &children, const uint32_t incarnation)
 
template<class C >
void syncChildren (const std::vector< C * > &children)
 
template<class P , class C >
void releaseChildren (const std::vector< C * > &children)
 
bool _cmdSync (co::ICommand &command)
 

Detailed Description

Internal base class for all distributed, inheritable Equalizer objects.

This class provides common data storage used by all Equalizer resource entities. Do not subclass directly.

Definition at line 39 of file object.h.

Member Enumeration Documentation

The changed parts of the object since the last pack().

Subclasses should define their own bits, starting at DIRTY_CUSTOM.

Definition at line 119 of file object.h.

Constructor & Destructor Documentation

eq::fabric::Object::Object ( )
protected

Construct a new Object.

virtual eq::fabric::Object::~Object ( )
protectedvirtual

Destruct the object.

Member Function Documentation

eq::fabric::Error eq::fabric::Object::getError ( ) const
inline
Returns
the error from the last failed operation.
Version
1.0

Definition at line 82 of file object.h.

Referenced by eVolve::Pipe::configInit(), eVolve::EVolve::run(), and eqPly::EqPly::run().

+ Here is the caller graph for this function:

const std::string& eq::fabric::Object::getName ( ) const
Returns
the name of the object.
Version
1.0
uint32_t eq::fabric::Object::getTasks ( ) const
inline

Return the set of tasks this channel might execute in the worst case.

It is not guaranteed that all the tasks will be actually executed during rendering.

Returns
the tasks.
Warning
Experimental - may not be supported in the future

Definition at line 96 of file object.h.

co::Object* eq::fabric::Object::getUserData ( )
inline
Returns
the user-specific data.
Version
1.0

Definition at line 62 of file object.h.

const co::Object* eq::fabric::Object::getUserData ( ) const
inline
Returns
the user-specific data.
Version
1.0

Definition at line 65 of file object.h.

virtual uint32_t eq::fabric::Object::getUserDataLatency ( ) const
inlineprotectedvirtual
Returns
the latency to be used for keeping user data versions.

Reimplemented in eq::fabric::View< class, class, class >, and eq::fabric::View< Layout, View, Observer >.

Definition at line 146 of file object.h.

virtual bool eq::fabric::Object::hasMasterUserData ( )
inlineprotectedvirtual
Returns
true if this instance shall hold the master instance of the user data object, false otherwise.

Reimplemented in eq::fabric::View< class, class, class >, and eq::fabric::View< Layout, View, Observer >.

Definition at line 143 of file object.h.

virtual bool eq::fabric::Object::isDirty ( ) const
virtual
Returns
true if the object has data to commit.
Version
1.0
void eq::fabric::Object::setError ( const int32_t  error)

Set an error code why the last operation failed.

The error will be transmitted to the originator of the request, for example to Config::init when set from within configInit().

Parameters
errorthe error message.
Version
1.0

Referenced by eVolve::Node::configInit(), eVolve::Pipe::configInit(), eqPly::Node::configInit(), and eVolve::Window::configInitGL().

+ Here is the caller graph for this function:

void eq::fabric::Object::setName ( const std::string &  name)

Set the name of the object.

Version
1.0
void eq::fabric::Object::setUserData ( co::Object *  userData)

Set user-specific data.

Registration, mapping, commit and sync of the user data object are automatically executed when committing and syncing this object. Not all instances of the object have to set a user data object. All instances have to set the same type of object.

Version
1.0

The documentation for this class was generated from the following file: