2 #include <RWHeaderSection_RWFileName.ixx>
3 #include <Interface_HArray1OfHAsciiString.hxx>
6 RWHeaderSection_RWFileName::RWHeaderSection_RWFileName () {}
8 void RWHeaderSection_RWFileName::ReadStep
9 (const Handle(StepData_StepReaderData)& data,
10 const Standard_Integer num,
11 Handle(Interface_Check)& ach,
12 const Handle(HeaderSection_FileName)& ent) const
16 // --- Number of Parameter Control ---
18 if (!data->CheckNbParams(num,7,ach,"file_name has not 7 parameter(s)")) return;
20 // --- own field : name ---
22 Handle(TCollection_HAsciiString) aName;
23 Standard_Boolean stat1;
24 stat1 = data->ReadString (num,1,"name",ach,aName);
26 // --- own field : timeStamp ---
28 Handle(TCollection_HAsciiString) aTimeStamp;
29 Standard_Boolean stat2;
30 stat2 = data->ReadString (num,2,"time_stamp",ach,aTimeStamp);
32 // --- own field : author ---
34 Handle(Interface_HArray1OfHAsciiString) aAuthor;
35 Handle(TCollection_HAsciiString) aAuthorItem;
36 Standard_Integer nsub3;
37 nsub3 = data->SubListNumber(num, 3, Standard_False);
39 Standard_Integer nb3 = data->NbParams(nsub3);
40 aAuthor = new Interface_HArray1OfHAsciiString (1, nb3);
41 for (Standard_Integer i3 = 1; i3 <= nb3; i3 ++) {
42 Standard_Boolean stat3 = data->ReadString
43 (nsub3,i3,"author",ach,aAuthorItem);
44 if (stat3) aAuthor->SetValue(i3,aAuthorItem);
48 ach->AddFail("Parameter #3 (author) is not a LIST");
51 // --- own field : organization ---
53 Handle(Interface_HArray1OfHAsciiString) aOrganization;
54 Handle(TCollection_HAsciiString) aOrganizationItem;
55 Standard_Integer nsub4;
56 nsub4 = data->SubListNumber(num, 4, Standard_False);
58 Standard_Integer nb4 = data->NbParams(nsub4);
59 aOrganization = new Interface_HArray1OfHAsciiString (1, nb4);
60 for (Standard_Integer i4 = 1; i4 <= nb4; i4 ++) {
61 Standard_Boolean stat4 = data->ReadString
62 (nsub4,i4,"organization",ach,aOrganizationItem);
63 if (stat4) aOrganization->SetValue(i4,aOrganizationItem);
67 ach->AddFail("Parameter #4 (organization) is not a LIST");
70 // --- own field : preprocessorVersion ---
72 Handle(TCollection_HAsciiString) aPreprocessorVersion;
73 Standard_Boolean stat5;
74 stat5 = data->ReadString (num,5,"preprocessor_version",ach,aPreprocessorVersion);
76 // --- own field : originatingSystem ---
78 Handle(TCollection_HAsciiString) aOriginatingSystem;
79 Standard_Boolean stat6;
80 stat6 = data->ReadString (num,6,"originating_system",ach,aOriginatingSystem);
82 // --- own field : authorisation ---
84 Handle(TCollection_HAsciiString) aAuthorisation;
85 Standard_Boolean stat7;
86 stat7 = data->ReadString (num,7,"authorisation",ach,aAuthorisation);
88 //--- Initialisation of the read entity ---
91 if (!ach->HasFailed()) ent->Init(aName, aTimeStamp, aAuthor, aOrganization, aPreprocessorVersion, aOriginatingSystem, aAuthorisation);
95 void RWHeaderSection_RWFileName::WriteStep
96 (StepData_StepWriter& SW,
97 const Handle(HeaderSection_FileName)& ent) const
100 // --- own field : name ---
102 SW.Send(ent->Name());
104 // --- own field : timeStamp ---
106 SW.Send(ent->TimeStamp());
108 // --- own field : author ---
111 for (Standard_Integer i3 = 1; i3 <= ent->NbAuthor(); i3 ++) {
112 SW.Send(ent->AuthorValue(i3));
116 // --- own field : organization ---
119 for (Standard_Integer i4 = 1; i4 <= ent->NbOrganization(); i4 ++) {
120 SW.Send(ent->OrganizationValue(i4));
124 // --- own field : preprocessorVersion ---
126 SW.Send(ent->PreprocessorVersion());
128 // --- own field : originatingSystem ---
130 SW.Send(ent->OriginatingSystem());
132 // --- own field : authorisation ---
134 SW.Send(ent->Authorisation());