Equalizer  1.11.0
Parallel Rendering Framework
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< L, V, O >, eq::fabric::Window< P, W, C, Settings >, 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, WindowSettings >.

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

Public Types

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

Public Member Functions

virtual EQFABRIC_API bool isDirty () const
 
virtual EQFABRIC_API uint128_t commit (const uint32_t incarnation=CO_COMMIT_NEXT)
 
virtual EQFABRIC_API void backup ()
 
virtual EQFABRIC_API void restore ()
 
Data Access.
virtual EQFABRIC_API void setName (const std::string &name)
 Set the name of the object. More...
 
EQFABRIC_API const std::string & getName () const
 
EQFABRIC_API void setUserData (co::Object *userData)
 Set user-specific data. More...
 
EQFABRIC_API co::Object * getUserData ()
 
EQFABRIC_API const co::Object * getUserData () const
 
Data Access
EQFABRIC_API uint32_t getTasks () const
 Return the set of tasks this channel might execute in the worst case. More...
 
EQFABRIC_API uint32_t getSerial () const
 

Protected Member Functions

EQFABRIC_API Object ()
 Construct a new Object. More...
 
EQFABRIC_API Object (const Object &)
 Construct an unmapped, unregistered copy of an object. More...
 
virtual EQFABRIC_API ~Object ()
 Destruct the object. More...
 
EQFABRIC_API Objectoperator= (const Object &from)
 NOP assignment operator. More...
 
virtual bool hasMasterUserData ()
 
virtual uint32_t getUserDataLatency () const
 
EQFABRIC_API void setTasks (const uint32_t tasks)
 
virtual EQFABRIC_API void notifyDetach ()
 
virtual EQFABRIC_API void serialize (co::DataOStream &os, const uint64_t dirtyBits)
 
virtual EQFABRIC_API void deserialize (co::DataIStream &is, const uint64_t dirtyBits)
 
virtual uint64_t getRedistributableBits () const
 
EQFABRIC_API void postRemove (Object *child)
 
virtual void removeChild (const uint128_t &)
 
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)
 
EQFABRIC_API 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 41 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 104 of file object.h.

Constructor & Destructor Documentation

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

Construct a new Object.

EQFABRIC_API eq::fabric::Object::Object ( const Object )
protected

Construct an unmapped, unregistered copy of an object.

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

Destruct the object.

Member Function Documentation

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

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
EQFABRIC_API co::Object* eq::fabric::Object::getUserData ( )
Returns
the user-specific data.
Version
1.0
EQFABRIC_API const co::Object* eq::fabric::Object::getUserData ( ) const
Returns
the user-specific data.
Version
1.0
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< L, V, O >, and eq::fabric::View< Layout, View, Observer >.

Definition at line 136 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< L, V, O >, and eq::fabric::View< Layout, View, Observer >.

Definition at line 133 of file object.h.

virtual EQFABRIC_API bool eq::fabric::Object::isDirty ( ) const
virtual
Returns
true if the object has data to commit.
Version
1.0
EQFABRIC_API Object& eq::fabric::Object::operator= ( const Object from)
protected

NOP assignment operator.

Version
1.1.1
virtual EQFABRIC_API void eq::fabric::Object::setName ( const std::string &  name)
virtual
EQFABRIC_API 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: