0022627: Change OCCT memory management defaults
[occt.git] / src / RWStepAP214 / RWStepAP214_RWAutoDesignSecurityClassificationAssignment.cxx
1
2 #include <RWStepAP214_RWAutoDesignSecurityClassificationAssignment.ixx>
3 #include <StepBasic_HArray1OfApproval.hxx>
4 #include <StepBasic_Approval.hxx>
5 #include <StepBasic_SecurityClassification.hxx>
6
7
8 #include <Interface_EntityIterator.hxx>
9
10
11 #include <StepAP214_AutoDesignSecurityClassificationAssignment.hxx>
12
13
14 RWStepAP214_RWAutoDesignSecurityClassificationAssignment::RWStepAP214_RWAutoDesignSecurityClassificationAssignment () {}
15
16 void RWStepAP214_RWAutoDesignSecurityClassificationAssignment::ReadStep
17         (const Handle(StepData_StepReaderData)& data,
18          const Standard_Integer num,
19          Handle(Interface_Check)& ach,
20          const Handle(StepAP214_AutoDesignSecurityClassificationAssignment)& ent) const
21 {
22
23
24         // --- Number of Parameter Control ---
25
26         if (!data->CheckNbParams(num,2,ach,"auto_design_security_classification_assignment")) return;
27
28         // --- inherited field : assignedSecurityClassification ---
29
30         Handle(StepBasic_SecurityClassification) aAssignedSecurityClassification;
31 #ifdef DEB
32         Standard_Boolean stat1 = 
33 #endif
34           data->ReadEntity(num, 1,"assigned_security_classification", ach, STANDARD_TYPE(StepBasic_SecurityClassification), aAssignedSecurityClassification);
35
36         // --- own field : items ---
37
38         Handle(StepBasic_HArray1OfApproval) aItems;
39         Handle(StepBasic_Approval) anent2;
40         Standard_Integer nsub2;
41         if (data->ReadSubList (num,2,"items",ach,nsub2)) {
42           Standard_Integer nb2 = data->NbParams(nsub2);
43           aItems = new StepBasic_HArray1OfApproval (1, nb2);
44           for (Standard_Integer i2 = 1; i2 <= nb2; i2 ++) {
45             Standard_Boolean stat2 = data->ReadEntity
46               (nsub2, i2,"auto_design_security_classified_item", ach, STANDARD_TYPE(StepBasic_Approval), anent2);
47               if (stat2) aItems->SetValue(i2, anent2);
48           }
49         }
50
51         //--- Initialisation of the read entity ---
52
53
54         ent->Init(aAssignedSecurityClassification, aItems);
55 }
56
57
58 void RWStepAP214_RWAutoDesignSecurityClassificationAssignment::WriteStep
59         (StepData_StepWriter& SW,
60          const Handle(StepAP214_AutoDesignSecurityClassificationAssignment)& ent) const
61 {
62
63         // --- inherited field assignedSecurityClassification ---
64
65         SW.Send(ent->AssignedSecurityClassification());
66
67         // --- own field : items ---
68
69         SW.OpenSub();
70         for (Standard_Integer i2 = 1;  i2 <= ent->NbItems();  i2 ++) {
71           SW.Send(ent->ItemsValue(i2));
72         }
73         SW.CloseSub();
74 }
75
76
77 void RWStepAP214_RWAutoDesignSecurityClassificationAssignment::Share(const Handle(StepAP214_AutoDesignSecurityClassificationAssignment)& ent, Interface_EntityIterator& iter) const
78 {
79
80         iter.GetOneItem(ent->AssignedSecurityClassification());
81
82
83         Standard_Integer nbElem2 = ent->NbItems();
84         for (Standard_Integer is2=1; is2<=nbElem2; is2 ++) {
85           iter.GetOneItem(ent->ItemsValue(is2));
86         }
87
88 }
89