Go to the documentation of this file. 1 #ifndef ConscienceEnvironmentInteractionCommand_h
2 #define ConscienceEnvironmentInteractionCommand_h
17 using std::fstream, std::stringstream, std::istringstream, std::ios;
28 using namespace result;
44 template <
class TResult = CscCommandExecutionResult>
48 if (entityReflexion !=
nullptr) {
52 LOG_TRACE(
"execute command of type: " + getTypeId());
55 if (
auto resultTyped =
dynamic_cast<const TResult *
>(result)) {
56 entityReflexion = getEntityReflexion();
57 if (entityReflexion !=
nullptr) {
60 onCommandExecuted(
this);
63 const std::type_info &requestedTypeInfo =
typeid(TResult);
64 throw runtime_error(
"Invalid command result - requested: " +
getClassName(requestedTypeInfo,
true));
75 void setOriginalCommandString(
string command);
89 template <
class TResult>
103 inline static vector<CommandExecutedListener> commandExecutedListeners;
115 string toJson()
const;
bool optional
Definition: Command.h:35
Definition: CommandExecutionResultNone.h:11
#define CSC_DLL_IMPORTEXPORT
Definition: os.h:34
std::string type
Definition: Command.h:33
Definition: alerts.cpp:12
std::string defaultValue
Definition: Command.h:34
Definition: CommandExecutionResultSequence.h:15
string CommandTypeId
Definition: Command.h:29
const TResult * execute(CscEnvironmentSimulator &environmentSimulator)
Definition: Command.h:45
const CommandTypeId typeId
Definition: Command.h:78
const optional< int > code
Definition: Command.h:114
string getClassName(const type_info ¶msClass, bool withNamespace)
Definition: conscience_util.cpp:593
Definition: CommandExecutionResultFile.h:11
Definition: cartographyCommands.cpp:4
function< void(CscCommand *command)> CommandExecutedListener
Definition: Command.h:72
Definition: CscEntityReflexion.h:389
string CscWorldElementId
Definition: Command.h:15
j template void())
Definition: json.hpp:4189
type
Generic JSON types used in JWTs.
Definition: jwt.h:1794
Definition: CommandExecutionResult.h:44
Definition: CscEnvironmentSimulator.h:31
Definition: CommandExecutionResult.h:93
Definition: Command.h:110
void onCommandExecutionStartOnEntity(const CscCommand *command, const string &entitySerialNumber)
Definition: CscCommandsProcessor.cpp:49
const string type
Definition: Command.h:113
const CscCommandExecutionResultObject< TResult > * resultObject(TResult *result)
Definition: Command.h:90
const ptr< CscObjectModel > const string const CscPoint3d const CscPoint3d optional< string >
Definition: environmentObjectsCommands.h:373
function< const CscCommandExecutionResult *(CscEnvironmentSimulator &environmentSimulator)> FunctionCommand
Definition: Command.h:38
std::shared_ptr< T > ptr
Definition: CscCommon.h:29
#define LOG_TRACE(message)
Definition: conscience_log.h:188
Definition: CscSequence.h:51
void onCommandExecutedOnEntity(const CscCommand *command, const string &entitySerialNumber, const CscCommandExecutionResult *result, CscEnvironmentSimulator &environmentSimulator)
Definition: CscCommandsProcessor.cpp:60
std::string name
Definition: Command.h:32