Integration of OCCT 6.5.0 from SVN
[occt.git] / src / MDataStd / MDataStd_AsciiStringStorageDriver.cxx
1 // File:        MDataStd_AsciiStringStorageDriver.cxx
2 // Created:     Wed Aug 22 18:37:00 2007
3 // Author:      Sergey ZARITCHNY
4 //              <sergey.zaritchny@opencascade.com>
5 // Copyright:   Open CASCADE SA 2007
6
7 #include <MDataStd_AsciiStringStorageDriver.ixx>
8 #include <PDataStd_AsciiString.hxx>
9 #include <TDataStd_AsciiString.hxx>
10 #include <TCollection_AsciiString.hxx>
11 #include <PCollection_HAsciiString.hxx>
12 #include <CDM_MessageDriver.hxx>
13 //=======================================================================
14 //function : MDataStd_AsciiStringStorageDriver
15 //purpose  : Constructor
16 //=======================================================================
17 MDataStd_AsciiStringStorageDriver::MDataStd_AsciiStringStorageDriver
18   (const Handle(CDM_MessageDriver)& theMsgDriver):MDF_ASDriver(theMsgDriver)
19 {
20 }
21
22 //=======================================================================
23 //function : VersionNumber
24 //purpose  : 
25 //=======================================================================
26 Standard_Integer MDataStd_AsciiStringStorageDriver::VersionNumber() const
27 { return 0; }
28
29 //=======================================================================
30 //function : SourceType
31 //purpose  : 
32 //=======================================================================
33 Handle(Standard_Type) MDataStd_AsciiStringStorageDriver::SourceType() const
34 { return STANDARD_TYPE(TDataStd_AsciiString);}
35
36 //=======================================================================
37 //function : NewEmpty
38 //purpose  : 
39 //=======================================================================
40 Handle(PDF_Attribute) MDataStd_AsciiStringStorageDriver::NewEmpty() const
41 { return new PDataStd_AsciiString; }
42
43 //=======================================================================
44 //function : Paste
45 //purpose  : 
46 //=======================================================================
47 void MDataStd_AsciiStringStorageDriver::Paste(const Handle(TDF_Attribute)& Source,
48   const Handle(PDF_Attribute)& Target,const Handle(MDF_SRelocationTable)& ) const
49 {
50   Handle(TDataStd_AsciiString) S = Handle(TDataStd_AsciiString)::DownCast (Source);
51   Handle(PDataStd_AsciiString) T = Handle(PDataStd_AsciiString)::DownCast (Target);
52   if(!S.IsNull() && !T.IsNull()) {
53     if(S->Get().Length() != 0) {
54       Handle(PCollection_HAsciiString) aString = new PCollection_HAsciiString (S->Get());
55       T->Set (aString);
56     }
57   }
58 }