0025418: Debug output to be limited to OCC development environment
[occt.git] / src / XmlTObjDrivers / XmlTObjDrivers.cxx
1 // Created on: 2004-11-24
2 // Created by: Michael SAZONOV
3 // Copyright (c) 2004-2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15
16 // The original implementation Copyright: (C) RINA S.p.A
17
18 #include <XmlLDrivers.hxx>
19 #include <XmlTObjDrivers.hxx>
20 #include <XmlMDF_ADriverTable.hxx>
21 #include <XmlTObjDrivers_DocumentStorageDriver.hxx>
22 #include <XmlTObjDrivers_DocumentRetrievalDriver.hxx>
23 #include <XmlTObjDrivers_ModelDriver.hxx>
24 #include <XmlTObjDrivers_ObjectDriver.hxx>
25 #include <XmlTObjDrivers_ReferenceDriver.hxx>
26 #include <XmlTObjDrivers_XYZDriver.hxx>
27 #include <XmlTObjDrivers_IntSparseArrayDriver.hxx>
28
29 #include <Plugin_Macro.hxx>
30
31 static Standard_GUID XmlStorageDriver  ("f78ff4a0-a779-11d5-aab4-0050044b1af1");
32 static Standard_GUID XmlRetrievalDriver("f78ff4a1-a779-11d5-aab4-0050044b1af1");
33
34 Handle(Standard_Transient) XmlTObjDrivers::Factory(const Standard_GUID& aGUID)
35 {
36   if(aGUID == XmlStorageDriver)
37   {
38 #ifdef OCCT_DEBUG
39     cout << "XmlTObjDrivers : Storage Plugin" << endl;
40 #endif
41     static Handle(XmlTObjDrivers_DocumentStorageDriver) model_sd
42       = new XmlTObjDrivers_DocumentStorageDriver
43         ("Copyright: Open CASCADE 2004"); // default copyright
44     return model_sd;
45   }
46
47   if(aGUID == XmlRetrievalDriver)
48   {  
49 #ifdef OCCT_DEBUG
50     cout << "XmlTObjDrivers : Retrieval Plugin" << endl;
51 #endif
52     static Handle (XmlTObjDrivers_DocumentRetrievalDriver) model_rd
53       = new XmlTObjDrivers_DocumentRetrievalDriver;
54     return model_rd;
55   }
56
57   return XmlLDrivers::Factory (aGUID);
58 }
59
60 //=======================================================================
61 //function : AddDrivers
62 //purpose  : 
63 //=======================================================================
64 void XmlTObjDrivers::AddDrivers (const Handle(XmlMDF_ADriverTable)& aDriverTable,
65                                  const Handle(CDM_MessageDriver)&   anMsgDrv)
66 {
67   aDriverTable -> AddDriver (new XmlTObjDrivers_ModelDriver         (anMsgDrv));
68   aDriverTable -> AddDriver (new XmlTObjDrivers_ObjectDriver        (anMsgDrv));
69   aDriverTable -> AddDriver (new XmlTObjDrivers_ReferenceDriver     (anMsgDrv));
70   aDriverTable -> AddDriver (new XmlTObjDrivers_XYZDriver           (anMsgDrv));
71   aDriverTable -> AddDriver (new XmlTObjDrivers_IntSparseArrayDriver(anMsgDrv));
72 }
73
74 #ifdef _MSC_VER
75 #pragma warning(disable:4190) /* disable warning on C++ type returned by C function; should be OK for C++ usage */
76 #endif
77
78 PLUGIN(XmlTObjDrivers)