7fd59977 |
1 | // File: MDataStd_ExtStringArrayRetrievalDriver.cxx |
2 | // Created: 27.09.04 08:37:09 |
3 | // Author: Pavel TELKOV |
4 | // Copyright: Open CASCADE 2004 |
5 | |
6 | |
7 | #include <MDataStd_ExtStringArrayRetrievalDriver.ixx> |
8 | |
9 | #include <CDM_MessageDriver.hxx> |
10 | #include <MDataStd.hxx> |
11 | #include <PCollection_HExtendedString.hxx> |
12 | #include <PDataStd_ExtStringArray.hxx> |
13 | #include <TDataStd_ExtStringArray.hxx> |
14 | |
15 | //======================================================================= |
16 | //function : MDataStd_ExtStringArrayRetrievalDriver |
17 | //purpose : Constructor |
18 | //======================================================================= |
19 | |
20 | MDataStd_ExtStringArrayRetrievalDriver::MDataStd_ExtStringArrayRetrievalDriver |
21 | ( const Handle(CDM_MessageDriver)& theMsgDriver ) |
22 | :MDF_ARDriver(theMsgDriver) |
23 | {} |
24 | |
25 | |
26 | //======================================================================= |
27 | //function : VersionNumber |
28 | //purpose : |
29 | //======================================================================= |
30 | |
31 | Standard_Integer MDataStd_ExtStringArrayRetrievalDriver::VersionNumber() const |
32 | { return 0; } |
33 | |
34 | |
35 | //======================================================================= |
36 | //function : SourceType |
37 | //purpose : |
38 | //======================================================================= |
39 | |
40 | Handle(Standard_Type) MDataStd_ExtStringArrayRetrievalDriver::SourceType() const |
41 | { |
42 | static Handle(Standard_Type) sourceType = STANDARD_TYPE(PDataStd_ExtStringArray); |
43 | return sourceType; |
44 | } |
45 | |
46 | |
47 | //======================================================================= |
48 | //function : NewEmpty |
49 | //purpose : |
50 | //======================================================================= |
51 | |
52 | Handle(TDF_Attribute) MDataStd_ExtStringArrayRetrievalDriver::NewEmpty() const |
53 | { |
54 | return new TDataStd_ExtStringArray (); |
55 | } |
56 | |
57 | |
58 | //======================================================================= |
59 | //function : Paste |
60 | //purpose : |
61 | //======================================================================= |
62 | |
63 | void MDataStd_ExtStringArrayRetrievalDriver::Paste |
64 | ( const Handle(PDF_Attribute)& Source, |
65 | const Handle(TDF_Attribute)& Target, |
66 | const Handle(MDF_RRelocationTable)& ) const |
67 | { |
68 | Handle(PDataStd_ExtStringArray) S = Handle(PDataStd_ExtStringArray)::DownCast (Source); |
69 | Handle(TDataStd_ExtStringArray) T = Handle(TDataStd_ExtStringArray)::DownCast (Target); |
70 | |
71 | Standard_Integer i, lower = S->Lower() , upper = S->Upper(); |
72 | T->Init(lower, upper); |
73 | |
74 | for(i = lower; i<=upper; i++) |
75 | { |
76 | Handle(PCollection_HExtendedString) aPExtStr = S->Value( i ); |
77 | if ( !aPExtStr.IsNull() ) |
78 | T->SetValue( i, aPExtStr->Convert() ); |
79 | } |
80 | } |
81 | |