6#ifndef _cisstParameterTypes_prmOperatingState_h
7#define _cisstParameterTypes_prmOperatingState_h
45static std::string StateTypeToString(
const StateType & value)
CISST_THROW(std::runtime_error);
46static StateType StateTypeFromString(
const std::string & value)
CISST_THROW(std::runtime_error);
52static std::string CommandTypeToString(
const CommandType & value)
CISST_THROW(std::runtime_error);
53static CommandType CommandTypeFromString(
const std::string & value)
CISST_THROW(std::runtime_error);
131 std::string & humanReadableMessage);
136 void ToStream(std::ostream & outputStream)
const override;
137 void ToStreamRaw(std::ostream & outputStream,
const char delimiter =
' ',
138 bool headerOnly =
false,
const std::string & headerPrefix =
"")
const override;
142 void SerializeBinary(std::ostream & outputStream)
const CISST_THROW(std::runtime_error);
144 void SerializeText(std::ostream & outputStream,
const char delimiter =
',') const
CISST_THROW(
std::runtime_error);
146 void DeSerializeText(
std::istream & inputStream, const
char delimiter =
',')
CISST_THROW(
std::runtime_error);
153 void SerializeTextJSON(Json::Value & jsonValue)
const override;
154 void DeSerializeTextJSON(
const Json::Value & jsonValue)
CISST_THROW(std::runtime_error)
override;
178 data.SerializeBinary(outputStream);
181 data.DeSerializeBinary(inputStream, localFormat, remoteFormat);
184 data.SerializeText(outputStream, delimiter);
187 data.DeSerializeText(inputStream, delimiter);
202 return data.Scalar(index);
206 outputStream << cmnData<prmOperatingState >::HumanReadable(data);
static bool ScalarNumberIsFixed(const DataType &data)
Definition prmOperatingState.h:192
static size_t ScalarNumber(const DataType &data)
Definition prmOperatingState.h:195
@ IS_SPECIALIZED
Definition prmOperatingState.h:169
static void DeSerializeText(DataType &data, std::istream &inputStream, const char delimiter=',') CISST_THROW(std
Definition prmOperatingState.h:186
prmOperatingState DataType
Definition prmOperatingState.h:170
static double Scalar(const DataType &data, const size_t index) CISST_THROW(std
Definition prmOperatingState.h:201
static std::string HumanReadable(const DataType &data)
Definition prmOperatingState.h:189
static void DeSerializeBinary(DataType &data, std::istream &inputStream, const cmnDataFormat &localFormat, const cmnDataFormat &remoteFormat) CISST_THROW(std
Definition prmOperatingState.h:180
static void SerializeBinary(const DataType &data, std::ostream &outputStream) CISST_THROW(std
Definition prmOperatingState.h:177
static void Copy(DataType &data, const DataType &source)
Definition prmOperatingState.h:171
static void SerializeText(const DataType &data, std::ostream &outputStream, const char delimiter=',') CISST_THROW(std
Definition prmOperatingState.h:183
static std::string SerializeDescription(const DataType &data, const char delimiter, const std::string &userDescription)
Definition prmOperatingState.h:174
static std::string ScalarDescription(const DataType &data, const size_t index, const std::string &userDescription="") CISST_THROW(std
Definition prmOperatingState.h:198
Definition cmnDataFunctions.h:51
virtual std::string ScalarDescription(const size_t CMN_UNUSED(index), const std::string &CMN_UNUSED(userDescription)) const
Definition cmnGenericObject.h:154
virtual double Scalar(const size_t CMN_UNUSED(index)) const CISST_THROW(std
Definition cmnGenericObject.h:145
mtsGenericObject(void)
Definition mtsGenericObject.h:77
Definition mtsGenericObjectProxy.h:376
Definition prmOperatingState.h:34
prmOperatingState::StateType mState
Definition prmOperatingState.h:58
size_t ScalarNumber(void) const override
bool mIsHomed
Definition prmOperatingState.h:88
const bool & IsBusy(void) const
void DeSerializeText(std::istream &inputStream, const char delimiter=',') CISST_THROW(std std::string HumanReadable(void) const
Definition prmOperatingState.h:147
std::string GetSubState(void) const
Definition prmOperatingState.h:79
CommandType
Definition prmOperatingState.h:51
@ resume
Definition prmOperatingState.h:51
@ disable
Definition prmOperatingState.h:51
@ enable
Definition prmOperatingState.h:51
@ pause
Definition prmOperatingState.h:51
@ unhome
Definition prmOperatingState.h:51
@ home
Definition prmOperatingState.h:51
bool ScalarNumberIsFixed(void) const override
void ToStreamRaw(std::ostream &outputStream, const char delimiter=' ', bool headerOnly=false, const std::string &headerPrefix="") const override
const std::string & SubState(void) const
prmOperatingState::StateType GetState(void) const
Definition prmOperatingState.h:64
prmOperatingState::StateType & State(void)
void Copy(const prmOperatingState &source)
std::string & SubState(void)
static const std::vector< std::string > & StateTypeVectorString(void)
void GetIsBusy(bool &placeHolder) const
const bool & IsHomed(void) const
void SerializeBinary(std::ostream &outputStream) const CISST_THROW(std void DeSerializeBinary(std::istream &inputStream, const cmnDataFormat &localFormat, const cmnDataFormat &remoteFormat) CISST_THROW(std void SerializeText(std::ostream &outputStream, const char delimiter=',') const CISST_THROW(std std::string SerializeDescription(const char delimiter=',', const std::string &userDescription="") const
Definition prmOperatingState.h:145
void ToStream(std::ostream &outputStream) const override
prmOperatingState(const prmOperatingState &other)
static const std::vector< std::string > & CommandTypeVectorString(void)
bool GetIsBusy(void) const
Definition prmOperatingState.h:109
StateType
Definition prmOperatingState.h:44
@ PAUSED
Definition prmOperatingState.h:44
@ ENABLED
Definition prmOperatingState.h:44
@ UNDEFINED
Definition prmOperatingState.h:44
@ DISABLED
Definition prmOperatingState.h:44
@ FAULT
Definition prmOperatingState.h:44
bool GetIsHomed(void) const
Definition prmOperatingState.h:94
bool mIsBusy
Definition prmOperatingState.h:103
void SetIsHomed(const bool &newValue)
bool IsEnabledAndHomed(void) const
Definition prmOperatingState.h:125
bool IsEnabledHomedAndNotBusy(void) const
Definition prmOperatingState.h:121
std::string mSubState
Definition prmOperatingState.h:73
void SetState(const prmOperatingState::StateType &newValue)
static std::string static CommandTypeToString(const CommandType &value) CISST_THROW(std CommandType static CommandTypeFromString(const std::string &value) CISST_THROW(std const std::vector< int > & CommandTypeVectorInt(void)
Definition prmOperatingState.h:54
static std::string static StateTypeToString(const StateType &value) CISST_THROW(std StateType static StateTypeFromString(const std::string &value) CISST_THROW(std const std::vector< int > & StateTypeVectorInt(void)
Definition prmOperatingState.h:47
const prmOperatingState::StateType & State(void) const
void SetSubState(const std::string &newValue)
void GetState(prmOperatingState::StateType &placeHolder) const
void GetSubState(std::string &placeHolder) const
void GetIsHomed(bool &placeHolder) const
void DeSerializeRaw(std::istream &inputStream) override
virtual bool ValidCommand(const CommandType &command, StateType &newOperatingState, std::string &humanReadableMessage)
void SerializeRaw(std::ostream &outputStream) const override
void SetIsBusy(const bool &newValue)
Class registration macros.
#define CMN_DECLARE_SERVICES_INSTANTIATION(className)
Definition cmnClassRegisterMacros.h:199
const int CMN_DYNAMIC_CREATION
Definition cmnClassRegisterMacros.h:328
Defines cmnClassServices.
#define CMN_DECLARE_DATA_FUNCTIONS_JSON_FOR_ENUM(_enum)
Definition cmnDataFunctionsEnumMacros.h:97
#define CMN_DATA_SPECIALIZATION_FOR_ENUM_USER_HUMAN_READABLE(_enum, _promotedType, _humanReadableFunction)
Definition cmnDataFunctionsEnumMacros.h:26
void cmnDeSerializeRaw(std::istream &inputStream, _elementType &data) CISST_THROW(std
Definition cmnDeSerializer.h:82
#define CISST_EXPORT
Definition cmnExportMacros.h:50
#define CMN_LOG_ALLOW_DEFAULT
Definition cmnLogLoD.h:76
#define CISST_THROW(exceptionParameter)
Somewhat portable compilation warning message. This works with very recent versions of gcc (4....
Definition cmnPortability.h:559
void cmnSerializeRaw(std::ostream &outputStream, const _elementType &data) CISST_THROW(std
Definition cmnSerializer.h:76
Defines mtsGenericObject.
mtsGenericObjectProxy< prmOperatingState > prmOperatingStateProxy
Definition prmOperatingState.h:160
std::string CISST_EXPORT cmnDataHumanReadable_prmOperatingState_StateType(const prmOperatingState::StateType &data)
std::ostream & operator<<(std::ostream &outputStream, const prmOperatingState &data)
Definition prmOperatingState.h:205
std::string CISST_EXPORT cmnDataHumanReadable_prmOperatingState_CommandType(const prmOperatingState::CommandType &data)
ThisType & operator=(const vctDynamicConstMatrixBase< __matrixOwnerType, __elementType > &otherMatrix)
Definition vctDynamicMatrix.h:255