+{
+ if (fileName == NULL || !strlen(fileName)) {
+ SetErrorCode("Empty file name");
+ }
+
+ importXAO( fileName, "", shape, subShapes, groups, fields );
+ return IsDone();
+}
+
+//=============================================================================
+/*!
+ * Import a shape from XAO format string.
+ * \param theXML The input buffer.
+ * \param shape The imported shape.
+ * \param subShapes The list of imported sub-shapes.
+ * \param groups The list of imported groups.
+ * \param fields The list of imported fields.
+ * \return boolean indicating if import was successful.
+ */
+//=============================================================================
+bool XAOPlugin_IOperations::ImportXAOMem( const std::string& theXML,
+ Handle(GEOM_Object)& shape,
+ Handle(TColStd_HSequenceOfTransient)& subShapes,
+ Handle(TColStd_HSequenceOfTransient)& groups,
+ Handle(TColStd_HSequenceOfTransient)& fields )
+{
+ importXAO( NULL, theXML, shape, subShapes, groups, fields );
+ return IsDone();
+}
+
+//=============================================================================
+/*!
+ * Import a shape from XAO format file.
+ * \param fileName The name of the file to import.
+ * \param shape The imported shape.
+ * \param subShapes The list of imported sub-shapes.
+ * \param groups The list of imported groups.
+ * \param fields The list of imported fields.
+ * \return boolean indicating if import was successful.
+ */
+//=============================================================================
+bool XAOPlugin_IOperations::importXAO( const char* fileName,
+ const std::string& theXML,
+ Handle(GEOM_Object)& shape,
+ Handle(TColStd_HSequenceOfTransient)& subShapes,
+ Handle(TColStd_HSequenceOfTransient)& groups,
+ Handle(TColStd_HSequenceOfTransient)& fields )