|
#include <VisionX/components/image_provider/X11ScreenCaptureImageProvider/X11ScreenCaptureImageProvider.h>
Public Member Functions | |
armarx::PropertyDefinitionsPtr | createPropertyDefinitions () override |
std::vector< imrec::ChannelPreferences > | getImageRecordingChannelPreferences (const Ice::Current &) override |
X11ScreenCaptureImageProvider () | |
Public Member Functions inherited from CapturingImageProvider | |
void | startCapture (float framesPerSecond, const Ice::Current &c=Ice::emptyCurrent) override |
Starts image capturing. More... | |
void | stopCapture (const Ice::Current &c=Ice::emptyCurrent) override |
Stops image capturing. More... | |
Public Member Functions inherited from ImageProvider | |
armarx::Blob | getCompressedImagesAndMetaInfo (CompressionType, Ice::Int compressionQuality, armarx::MetaInfoSizeBasePtr &info, const Ice::Current &) override |
ImageFormatInfo | getImageFormat (const Ice::Current &c=Ice::emptyCurrent) override |
Returns the entire image format info struct via Ice. More... | |
armarx::Blob | getImages (const Ice::Current &c=Ice::emptyCurrent) override |
Retrieve images via Ice. More... | |
armarx::Blob | getImagesAndMetaInfo (armarx::MetaInfoSizeBasePtr &, const Ice::Current &) override |
int | getNumberImages (const Ice::Current &c=Ice::emptyCurrent) override |
Retrieve number of images handled by this provider. More... | |
bool | hasSharedMemorySupport (const Ice::Current &c=Ice::emptyCurrent) override |
Public Member Functions inherited from Component | |
virtual void | componentPropertiesUpdated (const std::set< std::string > &changedProperties) |
Implement this function if you would like to react to changes in the properties. More... | |
void | forceComponentCreatedByComponentCreateFunc () |
forces the flag to be set to true that the object instance was created by the Component::create function More... | |
std::vector< PropertyUserPtr > | getAdditionalPropertyUsers () const |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) const |
template<class T > | |
void | getProperty (std::atomic< T > &val, const std::string &name) const |
template<class T > | |
void | getProperty (T &val, const std::string &name) const |
template<class ProxyType > | |
ProxyType | getProxyFromProperty (const std::string &propertyName, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
Get a proxy whose name is specified by the given property. More... | |
template<class ProxyType > | |
void | getProxyFromProperty (ProxyType &proxy, const std::string &propertyName, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
template<class TopicProxyType > | |
TopicProxyType | getTopicFromProperty (const std::string &propertyName) |
Get a topic proxy whose name is specified by the given property. More... | |
template<class TopicProxyType > | |
void | getTopicFromProperty (TopicProxyType &top, const std::string &propertyName) |
void | initializeProperties (const std::string &configName, Ice::PropertiesPtr const &properties, const std::string &configDomain) |
initializes the properties of this component. More... | |
void | injectPropertyDefinitions (PropertyDefinitionsPtr &props) override |
void | offeringTopicFromProperty (const std::string &propertyName) |
Offer a topic whose name is specified by the given property. More... | |
virtual void | preOnConnectComponent () override |
virtual void | preOnInitComponent () override |
bool | usingProxyFromProperty (const std::string &propertyName, const std::string &endpoints="") |
Use a proxy whose name is specified by the given property. More... | |
void | usingTopicFromProperty (const std::string &propertyName, bool orderedPublishing=false) |
Use a topic whose name is specified by the given property. More... | |
Public Member Functions inherited from ManagedIceObject | |
void | enableProfiler (bool enable) |
setProfiler allows setting ManagedIceObject::profiler to a new instance (if the new instance is actually not a null pointer) More... | |
std::string | generateSubObjectName (const std::string &subObjectName) |
Generates a unique name for a sub object from a general name. More... | |
ArmarXManagerPtr | getArmarXManager () const |
Returns the ArmarX manager used to add and remove components. More... | |
ManagedIceObjectConnectivity | getConnectivity () const |
Retrieve connectivity of the object (topcis as well as proxies) More... | |
IceManagerPtr | getIceManager () const |
Returns the IceManager. More... | |
VariantBasePtr | getMetaInfo (const std::string &id) |
StringVariantBaseMap | getMetaInfoMap () const |
std::string | getName () const |
Retrieve name of object. More... | |
Ice::ObjectAdapterPtr | getObjectAdapter () const |
Returns object's Ice adapter. More... | |
ArmarXObjectSchedulerPtr | getObjectScheduler () const |
PeriodicTaskPtr | getPeriodicTask (const std::string &name) |
Profiler::ProfilerPtr | getProfiler () const |
getProfiler returns an instance of armarx::Profiler More... | |
template<class ProxyTarg , class... Args> | |
void | getProxy (const char *name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&...args) |
template<class ProxyType > | |
ProxyType | getProxy (const std::string &name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
Retrieves a proxy object. More... | |
template<class ProxyTarg , class... Args> | |
void | getProxy (const std::string &name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&...args) |
template<class ProxyTarg , class... Args> | |
void | getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const char *name, Args &&...args) |
template<class ProxyTarg , class... Args> | |
void | getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const std::string &name, Args &&...args) |
Assigns a proxy to proxy . More... | |
Ice::ObjectPrx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
Returns the proxy of this object (optionally it waits for the proxy) More... | |
template<class Prx > | |
Prx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
template<class ProxyType > | |
void | getProxy (ProxyType &proxy, const char *name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
Overload to allow using string literals as name (solve ambiguous overload). More... | |
template<class Prx > | |
void | getProxy (Prx &prx, long timeoutMs=0, bool waitForScheduler=true) const |
int | getState () const |
Retrieve current state of the ManagedIceObject. More... | |
template<class TopicProxyType > | |
TopicProxyType | getTopic (const std::string &name) |
Returns a proxy of the specified topic. More... | |
template<class TopicProxyType > | |
void | getTopic (TopicProxyType &topicProxy, const std::string &name) |
Assigns a proxy of the specified topic to topicProxy . More... | |
std::vector< std::string > | getUnresolvedDependencies () const |
returns the names of all unresolved dependencies More... | |
ManagedIceObject (ManagedIceObject const &other) | |
void | offeringTopic (const std::string &name) |
Registers a topic for retrival after initialization. More... | |
void | preambleGetTopic (std::string const &name) |
void | setMetaInfo (const std::string &id, const VariantBasePtr &value) |
Allows to set meta information that can be queried live via Ice interface on the ArmarXManager. More... | |
void | startPeriodicTask (const std::string &uniqueName, std::function< void(void)> f, int periodMs, bool assureMeanInterval=false, bool forceSystemTime=true) |
bool | stopPeriodicTask (const std::string &name) |
bool | unsubscribeFromTopic (const std::string &name) |
Unsubscribe from a topic. More... | |
bool | usingProxy (const std::string &name, const std::string &endpoints="") |
Registers a proxy for retrieval after initialization and adds it to the dependency list. More... | |
void | usingTopic (const std::string &name, bool orderedPublishing=false) |
Registers a proxy for subscription after initialization. More... | |
void | waitForObjectScheduler () |
Waits until the ObjectScheduler could resolve all dependencies. More... | |
void | waitForProxy (std::string const &name, bool addToDependencies) |
Public Member Functions inherited from Logging | |
SpamFilterDataPtr | deactivateSpam (float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const |
disables the logging for the current line for the given amount of seconds. More... | |
MessageTypeT | getEffectiveLoggingLevel () const |
Logging () | |
void | setLocalMinimumLoggingLevel (MessageTypeT level) |
With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set. More... | |
void | setTag (const LogTag &tag) |
void | setTag (const std::string &tagName) |
virtual | ~Logging () |
Public Member Functions inherited from PropertyUser | |
std::vector< std::string > | getComponentProxyNames () |
Ice::PropertiesPtr | getIceProperties () const |
Returns the set of Ice properties. More... | |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) |
Property creation and retrieval. More... | |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) const |
Hack to allow using getProperty in const -modified methods. More... | |
template<class T > | |
void | getProperty (std::atomic< T > &val, const std::string &name) const |
template<class T > | |
void | getProperty (T &val, const std::string &name) const |
template<class T > | |
std::vector< T > | getPropertyAsCSV (const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true) |
template<class ContainerT > | |
void | getPropertyAsCSV (ContainerT &val, const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true) |
PropertyDefinitionsPtr | getPropertyDefinitions () |
Returns the component's property definition container. More... | |
std::vector< std::string > | getSubscribedTopicNames () |
std::vector< std::string > | getTopicProxyNames () |
bool | hasProperty (const std::string &name) |
PropertyUser () | |
virtual void | setIceProperties (Ice::PropertiesPtr properties) |
Sets the Ice properties. More... | |
bool | tryAddProperty (const std::string &propertyName, const std::string &value) |
virtual void | updateIceProperties (const std::map< std::string, std::string > &changes) |
void | updateProperties () |
void | updateProxies (IceManagerPtr) |
~PropertyUser () override | |
Protected Member Functions | |
bool | capture (void **ppImageBuffers) override |
Main capturing function. More... | |
std::string | getDefaultName () const override |
Retrieve default name of component. More... | |
void | onExitCapturingImageProvider () override |
This is called when the Component::onExitComponent() setup is called. More... | |
void | onInitCapturingImageProvider () override |
This is called when the Component::onInitComponent() is called. More... | |
void | onStartCapture (float framesPerSecond) override |
This is called when the image provider capturing has been started. More... | |
void | onStopCapture () override |
This is called when the image provider capturing has been stopped. More... | |
Protected Member Functions inherited from CapturingImageProvider | |
virtual void | capture () |
ImageSyncMode | getImageSyncMode () |
Returns the image sync mode. More... | |
armarx::SharedMemoryScopedWriteLockPtr | getScopedWriteLock () |
Retrieve scoped lock for writing to the memory. More... | |
void | onConnectImageProvider () override |
void | onExitImageProvider () override |
void | onInitImageProvider () override |
virtual void | onStartCapturingImageProvider () |
This is called when the Component::onConnectComponent() setup is called. More... | |
void | setImageSyncMode (ImageSyncMode imageSyncMode) |
Sets the image synchronization mode. More... | |
Protected Member Functions inherited from ImageProvider | |
armarx::UnitExecutionState | getExecutionState (const Ice::Current &c) override |
std::vector< imrec::ChannelPreferences > | getImageRecordingChannelPreferences (const Ice::Current &) override |
imrec::Status | getImageRecordingStatus (const Ice::Current &) override |
armarx::SharedMemoryScopedWriteLockPtr | getScopedWriteLock () |
Retrieve scoped lock for writing to the memory. More... | |
void | imageRecordingRunningTask () |
void | init (const Ice::Current &c) override |
bool | isExiting () |
Retrieve whether provider is exiting. More... | |
void | onConnectComponent () override |
void | onDisconnectComponent () override |
Hook for subclass. More... | |
virtual void | onDisconnectImageProvider () |
void | onExitComponent () override |
void | onInitComponent () override |
void | provideImages (CByteImage **images, const IceUtil::Time &imageTimestamp=IceUtil::Time()) |
send ByteImages. More... | |
void | provideImages (CFloatImage **images, const IceUtil::Time &imageTimestamp=IceUtil::Time()) |
send FloatImages. More... | |
void | provideImages (const std::vector< CByteImageUPtr > &images, const IceUtil::Time &imageTimestamp=IceUtil::Time()) |
void | provideImages (void **inputBuffers, const IceUtil::Time &imageTimestamp=IceUtil::Time()) |
send images raw. More... | |
void | recordImages (const IceUtil::Time &image_timestamp) |
void | release (const Ice::Current &c) override |
void | request (const Ice::Current &c) override |
void | setImageFormat (ImageDimension imageDimension, ImageType imageType, BayerPatternType bayerPatternType=visionx::eBayerPatternRg) |
Sets the image basic format data. More... | |
void | setNumberImages (int numberImages) |
Sets the number of images on each capture. More... | |
void | start (const Ice::Current &c) override |
bool | startImageRecording (const imrec::Config &cfg, const Ice::Current &) override |
void | stop (const Ice::Current &c) override |
bool | stopImageRecording (const Ice::Current &) override |
void | updateTimestamp (const armarx::DateTime ×tamp, bool threadSafe=true) |
void | updateTimestamp (Ice::Long timestamp, bool threadSafe=true) |
Updates the timestamp of the currently captured image. More... | |
void | updateTimestamp (IceUtil::Time timestamp, bool threadSafe=true) |
Protected Member Functions inherited from Component | |
void | addPropertyUser (const PropertyUserPtr &subPropertyUser) |
Add additional property users here that should show up in the application help text. More... | |
Component () | |
Protected default constructor. Used for virtual inheritance. Use createManagedIceObject() instead. More... | |
std::string | getConfigDomain () |
Retrieve config domain for this component as set in constructor. More... | |
std::string | getConfigIdentifier () |
Retrieve config identifier for this component as set in constructor. More... | |
std::string | getConfigName () |
Retrieve config name for this component as set in constructor. More... | |
virtual void | icePropertiesInitialized () |
Protected Member Functions inherited from ManagedIceObject | |
template<class PluginT , class... ParamsT> | |
PluginT * | addPlugin (const std::string prefix="", ParamsT &&...params) |
template<class PluginT , class... ParamsT> | |
void | addPlugin (PluginT *&targ, const std::string prefix="", ParamsT &&...params) |
template<class PluginT , class... ParamsT> | |
void | addPlugin (std::experimental::observer_ptr< PluginT > &targ, const std::string prefix="", ParamsT &&...params) |
Ice::CommunicatorPtr | getCommunicator () const |
std::unique_ptr< ManagedIceObjectPlugin > & | getPluginPointer (std::type_info const &type, std::string const &prefix) |
ManagedIceObject () | |
Protected default constructor. More... | |
virtual void | postOnConnectComponent () |
virtual void | postOnDisconnectComponent () |
virtual void | postOnExitComponent () |
virtual void | postOnInitComponent () |
virtual void | preOnDisconnectComponent () |
virtual void | preOnExitComponent () |
bool | removeProxyDependency (const std::string &name) |
This function removes the dependency of this object on the in parameter name specified object. More... | |
void | setName (std::string name) |
Override name of well-known object. More... | |
void | terminate () |
Initiates termination of this IceManagedObject. More... | |
~ManagedIceObject () override | |
Protected Member Functions inherited from Logging | |
bool | checkLogLevel (MessageTypeT level) const |
const LogSenderPtr & | getLogSender () const |
Retrieve log sender. More... | |
LogSenderPtr | loghelper (const char *file, int line, const char *function) const |
Static Protected Member Functions | |
static std::string | GetDefaultName () |
Additional Inherited Members | |
Public Types inherited from ManagedIceObject | |
using | PeriodicTaskPtr = IceUtil::Handle< SimplePeriodicTask< std::function< void(void)> >> |
Static Public Member Functions inherited from Component | |
template<class T , class TPtr = IceInternal::Handle<T>> | |
static TPtr | create (Ice::PropertiesPtr properties=Ice::createProperties(), const std::string &configName="", const std::string &configDomain="ArmarX") |
Factory method for a component. More... | |
Static Public Member Functions inherited from ManagedIceObject | |
static std::string | generateSubObjectName (const std::string &superObjectName, const std::string &subObjectName) |
Generates a unique name for a sub object from a general name and unique name. More... | |
static std::string | GetObjectStateAsString (int state) |
Static Public Attributes inherited from ManagedIceObject | |
static const ManagedIceObjectPtr | NullPtr |
A nullptr to be used when a const ref to a nullptr is required. More... | |
Protected Attributes inherited from CapturingImageProvider | |
bool | captureEnabled |
Indicates that capturing is enabled and running. More... | |
std::mutex | captureMutex |
mutex for capturing for proper exit More... | |
armarx::RunningTask< CapturingImageProvider >::pointer_type | captureTask |
Capture thread. More... | |
FPSCounter | fpsCounter |
FPS manager. More... | |
float | frameRate |
Required frame rate. More... | |
ImageSyncMode | imageSyncMode |
Image synchronization information. More... | |
Protected Attributes inherited from ImageProvider | |
void ** | imageBuffers |
Image buffer memory. More... | |
ImageProcessorInterfacePrx | imageProcessorProxy |
Ice proxy of the image processor interface. More... | |
armarx::IceSharedMemoryProvider< unsigned char >::pointer_type | sharedMemoryProvider |
shared memory provider More... | |
Protected Attributes inherited from Logging | |
MessageTypeT | minimumLoggingLevel |
SpamFilterDataPtr | spamFilter |
LogTag | tag |
Definition at line 17 of file X11ScreenCaptureImageProvider.h.
Definition at line 13 of file X11ScreenCaptureImageProvider.cpp.
|
overrideprotectedvirtual |
Main capturing function.
ppImageBuffers | Image pointer array where the captured images need to be copied into |
Implements CapturingImageProvider.
Definition at line 72 of file X11ScreenCaptureImageProvider.cpp.
|
overridevirtual |
Reimplemented from Component.
Definition at line 119 of file X11ScreenCaptureImageProvider.cpp.
|
staticprotected |
Definition at line 27 of file X11ScreenCaptureImageProvider.cpp.
|
overrideprotectedvirtual |
Retrieve default name of component.
Implement this method in each IceManagedObject. The default name of a is used if no name is specified in the factory method.
Implements ManagedIceObject.
Definition at line 20 of file X11ScreenCaptureImageProvider.cpp.
|
override |
Definition at line 138 of file X11ScreenCaptureImageProvider.cpp.
|
overrideprotectedvirtual |
This is called when the Component::onExitComponent() setup is called.
Implement this method in the ImageProvider in order clean up right before terminating.
Implements CapturingImageProvider.
Definition at line 60 of file X11ScreenCaptureImageProvider.cpp.
|
overrideprotectedvirtual |
This is called when the Component::onInitComponent() is called.
Implement this method in the ImageProvider in order to setup its parameters. Use this to set the image format.
Implements CapturingImageProvider.
Definition at line 34 of file X11ScreenCaptureImageProvider.cpp.
|
overrideprotectedvirtual |
This is called when the image provider capturing has been started.
Implement this method in the ImageProvider in order to reset prvider's state.
framesPerSecond | capturing fps |
visionx::FrameRateNotSupportedException | |
visionx::StartingCaptureFailedException |
Implements CapturingImageProvider.
Definition at line 105 of file X11ScreenCaptureImageProvider.cpp.
|
overrideprotectedvirtual |
This is called when the image provider capturing has been stopped.
Implement this method in the ImageProvider in order to clean up after stopping.
Implements CapturingImageProvider.
Definition at line 112 of file X11ScreenCaptureImageProvider.cpp.