1 // File: MDataStd_ExtStringListRetrievalDriver.cxx
2 // Created: May 29 11:40:00 2007
3 // Author: Vlad Romashko
4 // <vladislav.romashko@opencascade.com>
5 // Copyright: Open CASCADE
7 #include <MDataStd_ExtStringListRetrievalDriver.ixx>
8 #include <PDataStd_ExtStringList.hxx>
9 #include <TDataStd_ExtStringList.hxx>
10 #include <MDataStd.hxx>
11 #include <CDM_MessageDriver.hxx>
12 #include <TCollection_ExtendedString.hxx>
13 #include <PCollection_HExtendedString.hxx>
15 //=======================================================================
16 //function : MDataStd_ExtStringListRetrievalDriver
18 //=======================================================================
19 MDataStd_ExtStringListRetrievalDriver::MDataStd_ExtStringListRetrievalDriver(const Handle(CDM_MessageDriver)& theMsgDriver):MDF_ARDriver(theMsgDriver)
24 //=======================================================================
25 //function : VersionNumber
27 //=======================================================================
28 Standard_Integer MDataStd_ExtStringListRetrievalDriver::VersionNumber() const
33 //=======================================================================
34 //function : SourceType
36 //=======================================================================
37 Handle(Standard_Type) MDataStd_ExtStringListRetrievalDriver::SourceType() const
39 static Handle(Standard_Type) sourceType = STANDARD_TYPE(PDataStd_ExtStringList);
43 //=======================================================================
46 //=======================================================================
47 Handle(TDF_Attribute) MDataStd_ExtStringListRetrievalDriver::NewEmpty () const
49 return new TDataStd_ExtStringList();
52 //=======================================================================
55 //=======================================================================
56 void MDataStd_ExtStringListRetrievalDriver::Paste(const Handle(PDF_Attribute)& Source,
57 const Handle(TDF_Attribute)& Target,
58 const Handle(MDF_RRelocationTable)& ) const
60 Handle(PDataStd_ExtStringList) S = Handle(PDataStd_ExtStringList)::DownCast (Source);
61 Handle(TDataStd_ExtStringList) T = Handle(TDataStd_ExtStringList)::DownCast (Target);
63 Standard_Integer i, lower = S->Lower(), upper = S->Upper();
64 for (i = lower; i <= upper; i++)
66 const Handle(PCollection_HExtendedString)& pvalue = S->Value(i);
67 TCollection_ExtendedString tvalue = pvalue->Convert();