|
|
Class containing data about an application Provides methods to get and set the date contained in the application. More...
#include <ArmarXCore/util/ScenarioManagerCommon/data_structure/Application.h>
Inheritance diagram for Application:Public Member Functions | |
| Application (Application &app) | |
| Copy constructor. | |
| Application (std::string name, std::string executablePath, std::string packageName) | |
| Constructor that sets the name and the path to the executable of the application. | |
| std::string | getExecutableAbsPath () |
| std::string | getExecutableName () |
| bool | getFound () |
| std::string | getName () |
| std::string | getPackageName () |
| std::string | getPathToExecutable () |
| armarx::PropertyDefinitionsPtr | getProperties () |
| bool | isDefaultProperty (std::string name) |
| bool | isDefaultPropertyEnabled (std::string name) |
| void | setDefaultPropertyEnabled (std::string name, bool enabled) |
| void | setIsDefaultProperty (std::string name, bool defaultValue) |
| void | setProperties (armarx::PropertyDefinitionsPtr properties) |
| Sets the properties of this application. | |
| void | updateFound () |
| Checks whether the executable exists and caches the result for getFound(). | |
Protected Attributes | |
| PropertyEnabledMap | defaultMap |
| PropertyEnabledMap | enabledMap |
| armarx::PropertyDefinitionsPtr | properties |
| std::mutex | propertiesMutex |
Guards properties, enabledMap and defaultMap. | |
Class containing data about an application Provides methods to get and set the date contained in the application.
It doesn't manage the application therefore changes in this class won't synchronize to the actual configuration files.
Definition at line 48 of file Application.h.
| Application | ( | std::string | name, |
| std::string | executablePath, | ||
| std::string | packageName ) |
Constructor that sets the name and the path to the executable of the application.
| name | name of the application |
| executablePath | path to the binary executable of the application |
Definition at line 58 of file Application.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| Application | ( | Data_Structure::Application & | application | ) |
Copy constructor.
| name | name of the application |
| executablePath | path to the binary executable of the application |
Definition at line 76 of file Application.cpp.
Here is the call graph for this function:| std::string getExecutableAbsPath | ( | ) |
Definition at line 199 of file Application.cpp.
| std::string getExecutableName | ( | ) |
Definition at line 193 of file Application.cpp.
Here is the caller graph for this function:| bool getFound | ( | ) |
Deliberately does not hit the file system: this is read for every application on every status refresh of the GUI, and on a network mounted workspace the stat() calls alone were enough to stall the GUI thread. Call updateFound() to refresh it.
Definition at line 134 of file Application.cpp.
| std::string getName | ( | ) |
Definition at line 92 of file Application.cpp.
Here is the caller graph for this function:| std::string getPackageName | ( | ) |
Definition at line 104 of file Application.cpp.
| std::string getPathToExecutable | ( | ) |
Definition at line 98 of file Application.cpp.
Here is the caller graph for this function:| PropertyDefinitionsPtr getProperties | ( | ) |
Definition at line 110 of file Application.cpp.
Here is the caller graph for this function:| bool isDefaultProperty | ( | std::string | name | ) |
Definition at line 173 of file Application.cpp.
| bool isDefaultPropertyEnabled | ( | std::string | name | ) |
Definition at line 147 of file Application.cpp.
| void setDefaultPropertyEnabled | ( | std::string | name, |
| bool | enabled ) |
Definition at line 162 of file Application.cpp.
| void setIsDefaultProperty | ( | std::string | name, |
| bool | defaultValue ) |
Definition at line 184 of file Application.cpp.
| void setProperties | ( | armarx::PropertyDefinitionsPtr | properties | ) |
Sets the properties of this application.
These properties (along with the default config) define the behaviour of the application on start.
| properties | new properties |
Definition at line 119 of file Application.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| void updateFound | ( | ) |
Checks whether the executable exists and caches the result for getFound().
Involves a stat(), so avoid calling it from the GUI thread in a loop.
Definition at line 140 of file Application.cpp.
Here is the caller graph for this function:
|
protected |
Definition at line 73 of file Application.h.
|
protected |
Definition at line 72 of file Application.h.
|
protected |
Definition at line 71 of file Application.h.
|
mutableprotected |
Guards properties, enabledMap and defaultMap.
An application's properties are (re)loaded by the lifecycle worker that starts it while the GUI thread may be displaying them. The lock is deliberately held only around the pointer swap and the map accesses, never around parsing or around generating the property xml - those take seconds and would freeze the GUI. load() therefore builds a complete new container outside the lock and swaps it in, and getProperties() hands out a shared_ptr copy, so a reader keeps a consistent snapshot even if a new one is swapped in meanwhile.
Definition at line 70 of file Application.h.