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