+
+
+//================================================================================
+/*!
+ * \brief Stores an error message
+ *
+ * We consider an error fatal if none mesh can be read
+ */
+//================================================================================
+
+Driver_Mesh::Status Driver_Mesh::addMessage(const std::string& msg,
+ const bool isFatal/*=false*/)
+{
+ if ( isFatal )
+ myErrorMessages.clear(); // warnings are useless if a fatal error encounters
+
+ myErrorMessages.push_back( msg );
+
+ MESSAGE(msg);
+#ifdef _DEBUG_
+ cout << msg << endl;
+#endif
+ return ( myStatus = isFatal ? DRS_FAIL : DRS_WARN_SKIP_ELEM );
+}
+
+//================================================================================
+/*!
+ * \brief Return a structure containing description of errors
+ */
+//================================================================================
+
+SMESH_ComputeErrorPtr Driver_Mesh::GetError()
+{
+ SMESH_Comment msg;
+ for ( size_t i = 0; i < myErrorMessages.size(); ++i )
+ {
+ msg << myErrorMessages[i];
+ if ( i+1 < myErrorMessages.size() )
+ msg << "\n";
+ }
+ return SMESH_ComputeError::New( myStatus == DRS_OK ? int(COMPERR_OK) : int(myStatus), msg );
+}