Salome HOME
Join modifications from branch BR_DEBUG_3_2_0b1
[modules/kernel.git] / src / SALOMEDS / SALOME_DriverPy.py
1 # Copyright (C) 2005  OPEN CASCADE, CEA, EDF R&D, LEG
2 #           PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either 
6 # version 2.1 of the License.
7
8 # This library is distributed in the hope that it will be useful 
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of 
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
11 # Lesser General Public License for more details.
12
13 # You should have received a copy of the GNU Lesser General Public  
14 # License along with this library; if not, write to the Free Software 
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18
19 import SALOMEDS__POA
20
21 class SALOME_DriverPy_i(SALOMEDS__POA.Driver):
22     """
23     Python implementation of generic SALOMEDS driver.
24     Should be inherited by any Python module's engine
25     to provide persistence mechanism.
26     """
27     def __init__ (self, componentDataType):
28         print "SALOME_DriverPy.__init__: ",componentDataType
29         self._ComponentDataType = componentDataType
30
31     def IORToLocalPersistentID(self, theSObject, IORString, isMultiFile, isASCII):
32         return theSObject.GetID()
33
34     def LocalPersistentIDToIOR(self, theSObject, PersistentID, isMultiFile, isASCII):
35         return ""
36
37     def ComponentDataType(self):
38         return self._ComponentDataType
39
40     def Save(self, theComponent, theURL, isMultiFile):
41         return NULL
42
43     def SaveASCII(self, theComponent, theURL, isMultiFile):
44         return self.Save(theComponent, theURL, isMultiFile)
45
46     def Load(self, theComponent, theStream, theURL, isMultiFile):
47         return 1
48
49     def LoadASCII(self, theComponent, theStream, theURL, isMultiFile):
50         return self.Load(theComponent, theStream, theURL, isMultiFile)
51
52     def Close(self, theComponent):
53         pass
54
55     def CanPublishInStudy(self, theIOR):
56         return 1
57
58     def PublishInStudy(self, theStudy, theSObject, theObject, theName):
59         return NULL
60
61     def CanCopy(self, theObject):
62         return 0
63