29#include <shared_mutex>
31#include <ArmarXCore/interface/core/TimeServerInterface.h>
78 void reportTime(::Ice::Long, const ::Ice::Current& = Ice::emptyCurrent)
override;
80 Ice::Long
getTime(const ::Ice::Current& = Ice::emptyCurrent)
override;
81 void stop(const ::Ice::Current& = Ice::emptyCurrent)
override;
82 void start(const ::Ice::Current& = Ice::emptyCurrent)
override;
83 void step(const ::Ice::Current& = Ice::emptyCurrent)
override;
84 void setSpeed(Ice::Float newSpeed, const ::Ice::Current& = Ice::emptyCurrent)
override;
85 Ice::Float
getSpeed(const ::Ice::Current& = Ice::emptyCurrent)
override;
86 Ice::Int
getStepTimeMS(const ::Ice::Current& = Ice::emptyCurrent)
override;
Used by CallbackWaitLock.
virtual ~CallbackReceiver()
A local time server that gets its time from the MasterTimeServer.
friend class ArmarXManager
void onInitComponent() override
void setSpeed(Ice::Float newSpeed, const ::Ice::Current &=Ice::emptyCurrent) override
LocalTimeServer()
Please use LocalTimeServer::getApplicationtimeserver() to access your local timeserver.
Ice::Int getStepTimeMS(const ::Ice::Current &=Ice::emptyCurrent) override
std::mutex scheduledTasksMutex
used for locking scheduledTasks
void onDisconnectComponent() override
Hook for subclass.
void start(const ::Ice::Current &=Ice::emptyCurrent) override
static void setApplicationTimeServerName(const std::string &name)
void registerTimer(IceUtil::Time endTime, CallbackReceiver *callback)
register a callack to call at endTime
void unregisterTimer(CallbackReceiver *callback)
unregister a timer
std::vector< RegisteredTimer > scheduledTasks
TimeServerInterfacePrx timeServerPrx
a handle for the MasterTimeServer
std::shared_mutex timeMutex
void onConnectComponent() override
void reportTime(::Ice::Long, const ::Ice::Current &=Ice::emptyCurrent) override
IceUtil::Time time
the current time
Ice::Float getSpeed(const ::Ice::Current &=Ice::emptyCurrent) override
static LocalTimeServerPtr getApplicationTimeServer()
Get the applications LocalTimeServer instance.
TimeServerListenerPrx timeTopicPrx
a handle for the topic "Time"
void stop(const ::Ice::Current &=Ice::emptyCurrent) override
Ice::Long getTime(const ::Ice::Current &=Ice::emptyCurrent) override
std::string getDefaultName() const override
void step(const ::Ice::Current &=Ice::emptyCurrent) override
ManagedIceObject(ManagedIceObject const &other)
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::shared_ptr< CallbackReceiver > CallbackReceiverPtr
IceInternal::Handle< LocalTimeServer > LocalTimeServerPtr
CallbackReceiver * callback