+bool ModelAPI_FeatureStateMessage::state(const std::string& theFeatureId, bool theDefault) const
+{
+ if(hasState(theFeatureId)) {
+ return myFeatureState.at(theFeatureId);
+ }
+ return theDefault;
+}
+
+void ModelAPI_FeatureStateMessage::setState(const std::string& theFeatureId, bool theValue)
+{
+ myFeatureState[theFeatureId] = theValue;
+}
+
+std::list<std::string> ModelAPI_FeatureStateMessage::features() const
+{
+ std::list<std::string> result;
+ std::map<std::string, bool>::const_iterator it = myFeatureState.begin();
+ for( ; it != myFeatureState.end(); ++it) {
+ result.push_back(it->first);
+ }
+ return result;
+}
+// LCOV_EXCL_STOP
+
+ModelAPI_DocumentCreatedMessage::ModelAPI_DocumentCreatedMessage(
+ const Events_ID theID, const void* theSender)
+: Events_Message(theID, theSender)
+{}
+
+ModelAPI_DocumentCreatedMessage::~ModelAPI_DocumentCreatedMessage()
+{}
+
+DocumentPtr ModelAPI_DocumentCreatedMessage::document() const
+{
+ return myDocument;
+}
+
+void ModelAPI_DocumentCreatedMessage::setDocument(DocumentPtr theDocument)
+{
+ myDocument = theDocument;
+}
+
+ModelAPI_AttributeEvalMessage::ModelAPI_AttributeEvalMessage(
+ const Events_ID theID, const void* theSender)
+: Events_Message(theID, theSender)
+{}
+
+ModelAPI_AttributeEvalMessage::~ModelAPI_AttributeEvalMessage()
+{}
+
+AttributePtr ModelAPI_AttributeEvalMessage::attribute() const
+{
+ return myAttribute;
+}
+
+void ModelAPI_AttributeEvalMessage::setAttribute(AttributePtr theAttribute)
+{
+ myAttribute = theAttribute;
+}
+
+ModelAPI_ParameterEvalMessage::ModelAPI_ParameterEvalMessage(
+ const Events_ID theID, const void* theSender)
+ : Events_Message(theID, theSender), myIsProcessed(false)
+{}
+
+ModelAPI_ParameterEvalMessage::~ModelAPI_ParameterEvalMessage()
+{}
+
+FeaturePtr ModelAPI_ParameterEvalMessage::parameter() const
+{
+ return myParam;
+}
+
+void ModelAPI_ParameterEvalMessage::setParameter(FeaturePtr theParam)
+{
+ myParam = theParam;
+}
+
+void ModelAPI_ParameterEvalMessage::setResults(
+ const std::list<std::shared_ptr<ModelAPI_ResultParameter> >& theParamsList,
+ const double theResult, const std::string& theError)
+{
+ myParamsList = theParamsList;
+ myResult = theResult;
+ myError = theError;
+ myIsProcessed = true;
+}
+
+bool ModelAPI_ParameterEvalMessage::isProcessed()
+{
+ return myIsProcessed;
+}
+
+const std::list<std::shared_ptr<ModelAPI_ResultParameter> >&
+ ModelAPI_ParameterEvalMessage::params() const
+{
+ return myParamsList;
+}
+
+const double& ModelAPI_ParameterEvalMessage::result() const
+{
+ return myResult;
+}
+
+const std::string& ModelAPI_ParameterEvalMessage::error() const
+{
+ return myError;
+}
+
+/// Creates an empty message
+ModelAPI_ImportParametersMessage::ModelAPI_ImportParametersMessage(const Events_ID theID,
+ const void* theSender)
+ :Events_Message(theID, theSender)
+{
+
+}
+
+ModelAPI_ImportParametersMessage::~ModelAPI_ImportParametersMessage()
+{
+}
+
+std::string ModelAPI_ImportParametersMessage::filename() const
+{
+ return myFilename;
+}
+
+void ModelAPI_ImportParametersMessage::setFilename(std::string theFilename)
+{
+ myFilename = theFilename;
+}
+
+ModelAPI_BuildEvalMessage::ModelAPI_BuildEvalMessage(
+ const Events_ID theID, const void* theSender)
+ : Events_Message(theID, theSender), myIsProcessed(false)
+{}
+
+ModelAPI_BuildEvalMessage::~ModelAPI_BuildEvalMessage()
+{}
+
+FeaturePtr ModelAPI_BuildEvalMessage::parameter() const
+{
+ return myParam;
+}
+
+void ModelAPI_BuildEvalMessage::setParameter(FeaturePtr theParam)
+{
+ myParam = theParam;
+}
+
+void ModelAPI_BuildEvalMessage::setResults(
+ const std::list<std::shared_ptr<ModelAPI_ResultParameter> >& theParamsList,
+ const std::string& theError)
+{
+ myParamsList = theParamsList;
+ myError = theError;
+ myIsProcessed = true;
+}
+
+const std::list<std::shared_ptr<ModelAPI_ResultParameter> >&
+ ModelAPI_BuildEvalMessage::params() const
+{
+ return myParamsList;
+}
+
+bool ModelAPI_BuildEvalMessage::isProcessed()
+{
+ return myIsProcessed;
+}
+
+const std::string& ModelAPI_BuildEvalMessage::error() const
+{
+ return myError;
+}
+
+ModelAPI_ComputePositionsMessage::ModelAPI_ComputePositionsMessage(
+ const Events_ID theID, const void* theSender)
+ : Events_Message(theID, theSender)
+{}
+
+ModelAPI_ComputePositionsMessage::~ModelAPI_ComputePositionsMessage()
+{}
+
+const std::wstring& ModelAPI_ComputePositionsMessage::expression() const
+{
+ return myExpression;
+}
+
+const std::wstring& ModelAPI_ComputePositionsMessage::parameter() const
+{
+ return myParamName;
+}
+
+void ModelAPI_ComputePositionsMessage::set(
+ const std::wstring& theExpression, const std::wstring& theParameter)
+{
+ myExpression = theExpression;
+ myParamName = theParameter;
+}
+
+void ModelAPI_ComputePositionsMessage::setPositions(
+ const std::list<std::pair<int, int> >& thePositions)
+{
+ myPositions = thePositions;
+}
+
+const std::list<std::pair<int, int> >& ModelAPI_ComputePositionsMessage::positions() const
+{
+ return myPositions;
+}
+
+
+ModelAPI_ObjectRenamedMessage::ModelAPI_ObjectRenamedMessage(const Events_ID theID,