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
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)
22 //=======================================================================
23 //function : VersionNumber
25 //=======================================================================
26 Standard_Integer MDataStd_AsciiStringStorageDriver::VersionNumber() const
29 //=======================================================================
30 //function : SourceType
32 //=======================================================================
33 Handle(Standard_Type) MDataStd_AsciiStringStorageDriver::SourceType() const
34 { return STANDARD_TYPE(TDataStd_AsciiString);}
36 //=======================================================================
39 //=======================================================================
40 Handle(PDF_Attribute) MDataStd_AsciiStringStorageDriver::NewEmpty() const
41 { return new PDataStd_AsciiString; }
43 //=======================================================================
46 //=======================================================================
47 void MDataStd_AsciiStringStorageDriver::Paste(const Handle(TDF_Attribute)& Source,
48 const Handle(PDF_Attribute)& Target,const Handle(MDF_SRelocationTable)& ) const
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());