0024947: Redesign OCCT legacy type system -- automatic
[occt.git] / src / RWStepBasic / RWStepBasic_RWCertification.cxx
1 // Created on: 1999-11-26
2 // Created by: Andrey BETENEV
3 // Copyright (c) 1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17 // Generator:   ExpToCas (EXPRESS -> CASCADE/XSTEP Translator) V1.0
18
19 #include <RWStepBasic_RWCertification.ixx>
20 #include <StepBasic_CertificationType.hxx>
21
22 //=======================================================================
23 //function : RWStepBasic_RWCertification
24 //purpose  : 
25 //=======================================================================
26
27 RWStepBasic_RWCertification::RWStepBasic_RWCertification ()
28 {
29 }
30
31 //=======================================================================
32 //function : ReadStep
33 //purpose  : 
34 //=======================================================================
35
36 void RWStepBasic_RWCertification::ReadStep (const Handle(StepData_StepReaderData)& data,
37                                             const Standard_Integer num,
38                                             Handle(Interface_Check)& ach,
39                                             const Handle(StepBasic_Certification) &ent) const
40 {
41   // Check number of parameters
42   if ( ! data->CheckNbParams(num,3,ach,"certification") ) return;
43
44   // Own fields of Certification
45
46   Handle(TCollection_HAsciiString) aName;
47   data->ReadString (num, 1, "name", ach, aName);
48
49   Handle(TCollection_HAsciiString) aPurpose;
50   data->ReadString (num, 2, "purpose", ach, aPurpose);
51
52   Handle(StepBasic_CertificationType) aKind;
53   data->ReadEntity (num, 3, "kind", ach, STANDARD_TYPE(StepBasic_CertificationType), aKind);
54
55   // Initialize entity
56   ent->Init(aName,
57             aPurpose,
58             aKind);
59 }
60
61 //=======================================================================
62 //function : WriteStep
63 //purpose  : 
64 //=======================================================================
65
66 void RWStepBasic_RWCertification::WriteStep (StepData_StepWriter& SW,
67                                              const Handle(StepBasic_Certification) &ent) const
68 {
69
70   // Own fields of Certification
71
72   SW.Send (ent->Name());
73
74   SW.Send (ent->Purpose());
75
76   SW.Send (ent->Kind());
77 }
78
79 //=======================================================================
80 //function : Share
81 //purpose  : 
82 //=======================================================================
83
84 void RWStepBasic_RWCertification::Share (const Handle(StepBasic_Certification) &ent,
85                                          Interface_EntityIterator& iter) const
86 {
87
88   // Own fields of Certification
89
90   iter.AddItem (ent->Kind());
91 }