Integration of OCCT 6.5.0 from SVN
[occt.git] / src / MDataStd / MDataStd_ExtStringListRetrievalDriver.cxx
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
6
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>
14
15 //=======================================================================
16 //function : MDataStd_ExtStringListRetrievalDriver
17 //purpose  : 
18 //=======================================================================
19 MDataStd_ExtStringListRetrievalDriver::MDataStd_ExtStringListRetrievalDriver(const Handle(CDM_MessageDriver)& theMsgDriver):MDF_ARDriver(theMsgDriver)
20 {
21
22 }
23
24 //=======================================================================
25 //function : VersionNumber
26 //purpose  : 
27 //=======================================================================
28 Standard_Integer MDataStd_ExtStringListRetrievalDriver::VersionNumber() const
29
30   return 0; 
31 }
32
33 //=======================================================================
34 //function : SourceType
35 //purpose  : 
36 //=======================================================================
37 Handle(Standard_Type) MDataStd_ExtStringListRetrievalDriver::SourceType() const
38 {
39   static Handle(Standard_Type) sourceType = STANDARD_TYPE(PDataStd_ExtStringList);
40   return sourceType;
41 }
42
43 //=======================================================================
44 //function : NewEmpty
45 //purpose  : 
46 //=======================================================================
47 Handle(TDF_Attribute) MDataStd_ExtStringListRetrievalDriver::NewEmpty () const 
48 {
49   return new TDataStd_ExtStringList();
50 }
51
52 //=======================================================================
53 //function : Paste
54 //purpose  : 
55 //=======================================================================
56 void MDataStd_ExtStringListRetrievalDriver::Paste(const Handle(PDF_Attribute)& Source,
57                                              const Handle(TDF_Attribute)& Target,
58                                              const Handle(MDF_RRelocationTable)& ) const
59 {
60   Handle(PDataStd_ExtStringList) S = Handle(PDataStd_ExtStringList)::DownCast (Source);
61   Handle(TDataStd_ExtStringList) T = Handle(TDataStd_ExtStringList)::DownCast (Target);
62
63   Standard_Integer i, lower = S->Lower(), upper = S->Upper();
64   for (i = lower; i <= upper; i++)
65   {
66     const Handle(PCollection_HExtendedString)& pvalue = S->Value(i);
67     TCollection_ExtendedString tvalue = pvalue->Convert();
68     T->Append(tvalue);
69   }
70 }