26 #include <co/objectHandler.h> 27 #include <eq/fabric/config.h> 60 public co::ObjectHandler
71 EQ_API
virtual ~Config();
85 EQ_API co::NodePtr getApplicationNode();
87 EQ_API co::CommandQueue* getMainThreadQueue();
88 EQ_API co::CommandQueue* getCommandThreadQueue();
91 EQ_API uint32_t getCurrentFrame()
const;
94 EQ_API uint32_t getFinishedFrame()
const;
97 EQ_API GLStats::Data getStatistics()
const;
104 EQ_API
bool isRunning()
const;
107 EQ_API
void stopRunning();
119 EQ_API int64_t getTime()
const;
125 const Channel* findChannel(
const std::string& name)
const 127 return find<Channel>(name);
156 EQ_API
virtual bool init(
const uint128_t& initID);
172 EQ_API
virtual bool exit();
193 EQ_API
bool update();
196 EQ_API
void setLatency(
const uint32_t latency)
override;
208 EQ_API
bool registerObject(co::Object*
object)
override;
219 EQ_API
void deregisterObject(co::Object*
object)
override;
228 EQ_API
virtual bool mapObject(
229 co::Object*
object,
const uint128_t&
id,
230 const uint128_t& version = co::VERSION_OLDEST);
233 EQ_API
virtual uint32_t mapObjectNB(
234 co::Object*
object,
const uint128_t&
id,
235 const uint128_t& version = co::VERSION_OLDEST);
238 EQ_API uint32_t mapObjectNB(co::Object*
object,
const uint128_t&
id,
239 const uint128_t& version,
240 co::NodePtr master)
override;
243 EQ_API
bool mapObjectSync(
const uint32_t requestID)
override;
252 EQ_API
void unmapObject(co::Object*
object)
override;
261 syncObject(co::Object*
object,
const uint128_t&
id, co::NodePtr master,
262 const uint32_t instanceID = CO_INSTANCE_ALL)
override;
283 EQ_API
virtual uint32_t startFrame(
const uint128_t& frameID);
300 EQ_API
virtual uint32_t finishFrame();
311 EQ_API
virtual uint32_t finishAllFrames();
324 EQ_API
void releaseFrameLocal(
const uint32_t frameNumber);
335 EQ_API
void stopFrames();
352 EQ_API EventOCommand sendEvent(
const uint32_t type);
361 EQ_API EventOCommand sendError(
const uint32_t type,
const Error& error);
366 EQ_API Errors getErrors();
382 getNextEvent(
const uint32_t timeout = LB_TIMEOUT_INDEFINITE)
const;
392 EQ_API
virtual bool handleEvent(EventType type,
const Event& event);
393 EQ_API
virtual bool handleEvent(EventType type,
const SizeEvent& event);
394 EQ_API
virtual bool handleEvent(EventType type,
const PointerEvent& event);
395 EQ_API
virtual bool handleEvent(EventType type,
const KeyEvent& event);
396 EQ_API
virtual bool handleEvent(
const AxisEvent& event);
397 EQ_API
virtual bool handleEvent(
const ButtonEvent& event);
400 EQ_API
bool checkEvent()
const;
411 EQ_API
virtual void handleEvents();
419 EQ_API
virtual void addStatistic(
const Statistic& stat);
427 void setupMessagePump(
Pipe* pipe);
430 void setupServerConnections(
const std::string& connectionData);
434 EQ_API
void attach(
const uint128_t&
id,
const uint32_t instanceID)
override;
436 EQ_API
void notifyAttached()
override;
437 EQ_API
void notifyDetach()
override;
439 EQ_API
void changeLatency(
const uint32_t latency)
override;
440 EQ_API
bool mapViewObjects()
const override;
443 detail::Config*
const _impl;
448 bool _needsLocalSync()
const;
451 void _updateStatistics();
455 void _releaseObjects();
458 void _exitMessagePump();
461 bool _cmdSyncClock(co::ICommand& command);
462 bool _cmdCreateNode(co::ICommand& command);
463 bool _cmdDestroyNode(co::ICommand& command);
464 bool _cmdInitReply(co::ICommand& command);
465 bool _cmdExitReply(co::ICommand& command);
466 bool _cmdUpdateVersion(co::ICommand& command);
467 bool _cmdUpdateReply(co::ICommand& command);
468 bool _cmdReleaseFrameLocal(co::ICommand& command);
469 bool _cmdFrameFinish(co::ICommand& command);
470 bool _cmdSwapObject(co::ICommand& command);
474 #endif // EQ_CONFIG_H lunchbox::RefPtr< Server > ServerPtr
A reference-counted pointer to an eq::Server.
A visitor to traverse configs and all children.
A channel represents a two-dimensional viewport within a Window.
A configuration is a visualization session driven by an application.
Proxy object for the connection to an Equalizer server.
A canvas represents a logical 2D projection surface.
A Pipe represents a graphics card (GPU) on a Node.
A Node represents a single computer in the cluster.
lunchbox::RefPtr< const Client > ConstClientPtr
A reference-counted pointer to a const eq::Client.
A command specialization for config events.
An interface to process system messages or events.
bool init(const int argc, char **argv, NodeFactory *nodeFactory)
Initialize the Equalizer client library.
The Equalizer client library.
lunchbox::RefPtr< Client > ClientPtr
A reference-counted pointer to an eq::Client.
A layout groups one or more View, logically belonging together.
fabric::Config< Server, Config, Observer, Layout, Canvas, Node, ConfigVisitor > Super
base class
An Observer looks at one or more views from a certain position (head matrix) with a given eye separat...
Base data class for a configuration.
EQ_API bool exit()
De-initialize the Equalizer client library.