Go to the documentation of this file.
   25 #include <condition_variable> 
   31 #include <ArmarXCore/interface/components/TopicRecorderInterface.h> 
   44             defineRequiredProperty<std::string>(
 
   46                 "Comma seperated list of topics to log. Use * to record all. To specify the max " 
   47                 "frequency append a : to the topic name, e.g. \"RobotState:10,Log\" Topic names " 
   48                 "must not contain : or ,");
 
   49             defineOptionalProperty<std::string>(
 
   51                 "topic_recording.bag",
 
   52                 "File to write the output to. The file will be overwritten if the file exists");
 
   53             defineOptionalProperty<bool>(
 
   54                 "TimestampedFilename", 
true, 
"If true, a timestamp is added to the filename");
 
   55             defineOptionalProperty<std::string>(
 
   58                 "Storage variant to use, currently 'database' (default) and 'file' are available");
 
   59             defineOptionalProperty<bool>(
 
   62                 "Immediately start recording after the component is launched.");
 
   63             defineOptionalProperty<int>(
"Duration", 0, 
"Limit recording.");
 
  111                             const Ice::Current& 
c = Ice::emptyCurrent) 
override;
 
  113         void stopRecording(
const Ice::Current& 
c = Ice::emptyCurrent) 
override;
 
  117                           const Ice::Current& 
c = Ice::emptyCurrent)
 override 
  153         std::shared_ptr<std::ofstream> 
log;
 
  
 
TopicWriterInterfacePtr writer
 
std::string outputFilename
 
TopicRecorderListenerInterfacePrx topicRecoderListener
 
void onExitComponent() override
Hook for subclass.
 
void stopRecording(const Ice::Current &c=Ice::emptyCurrent) override
 
std::map< std::string, GenericTopicSubscriberPtr > topicsSubscribers
 
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
 
void startRecording(const int maxDuration, const Ice::Current &c=Ice::emptyCurrent) override
 
std::shared_ptr< std::ofstream > log
 
TopicRecorderProperties(std::string prefix)
 
bool isRecording(const Ice::Current &c=Ice::emptyCurrent) override
 
std::shared_ptr< TopicWriterInterface > TopicWriterInterfacePtr
 
std::condition_variable idleCondition
 
void setOutputFilename(const std::string &newFilename, const Ice::Current &c=Ice::emptyCurrent) override
 
std::string getDefaultName() const override
Retrieve default name of component.
 
void onConnectComponent() override
Pure virtual hook for the subclass.
 
armarx::core::time::DateTime Time
 
Baseclass for all ArmarX ManagedIceObjects requiring properties.
 
std::filesystem::path outputfilePath
 
Default component property definition container.
 
void onDisconnectComponent() override
Hook for subclass.
 
void onInitComponent() override
Pure virtual hook for the subclass.
 
PropertyDefinitionsPtr createPropertyDefinitions() override
 
RunningTask< TopicRecorderComponent >::pointer_type queueTask
 
This file offers overloads of toIce() and fromIce() functions for STL container types.