0031668: Visualization - WebGL sample doesn't work on Emscripten 1.39
[occt.git] / src / StdDrivers / StdDrivers.cxx
index 32e8bf8..4d15883 100644 (file)
@@ -24,6 +24,9 @@
 #include <Standard_GUID.hxx>
 #include <Plugin_Macro.hxx>
 
+#include <PCDM_StorageDriver.hxx>
+#include <TDocStd_Application.hxx>
+
 static Standard_GUID StdRetrievalDriver ("ad696001-5b34-11d1-b5ba-00a0c9064368");
 
 //=======================================================================
@@ -36,15 +39,24 @@ Handle(Standard_Transient) StdDrivers::Factory (const Standard_GUID& aGUID)
   if (aGUID == StdRetrievalDriver)
   {
 #ifdef OCCT_DEBUG
-    cout << "StdDrivers : Retrieval Plugin" << endl;
+    std::cout << "StdDrivers : Retrieval Plugin" << std::endl;
 #endif
 
     static Handle(StdDrivers_DocumentRetrievalDriver) model_rd = new StdDrivers_DocumentRetrievalDriver;
     return model_rd;
   }
  
-  Standard_Failure::Raise ("StdDrivers : unknown GUID");
-  return NULL;
+  throw Standard_Failure("StdDrivers : unknown GUID");
+}
+
+//=======================================================================
+//function : DefineFormat
+//purpose  : 
+//=======================================================================
+void StdDrivers::DefineFormat (const Handle(TDocStd_Application)& theApp)
+{
+  theApp->DefineFormat ("MDTV-Standard", "Standard OCAF Document", "std",
+                        new StdDrivers_DocumentRetrievalDriver, 0);
 }
 
 //=======================================================================
@@ -58,10 +70,5 @@ void StdDrivers::BindTypes (StdObjMgt_MapOfInstantiators& theMap)
   ShapePersistent::BindTypes (theMap);
 }
 
-
-#ifdef _MSC_VER
-#pragma warning(disable:4190) /* disable warning on C++ type returned by C function; should be OK for C++ usage */
-#endif
-
 // Declare entry point PLUGINFACTORY
 PLUGIN (StdDrivers)