1------------------------------------------------------------------------------
2--                                                                          --
3--                            Matreshka Project                             --
4--                                                                          --
5--                          Ada Modeling Framework                          --
6--                                                                          --
7--                        Runtime Library Component                         --
8--                                                                          --
9------------------------------------------------------------------------------
10--                                                                          --
11-- Copyright © 2012, Vadim Godunko <vgodunko@gmail.com>                     --
12-- All rights reserved.                                                     --
13--                                                                          --
14-- Redistribution and use in source and binary forms, with or without       --
15-- modification, are permitted provided that the following conditions       --
16-- are met:                                                                 --
17--                                                                          --
18--  * Redistributions of source code must retain the above copyright        --
19--    notice, this list of conditions and the following disclaimer.         --
20--                                                                          --
21--  * Redistributions in binary form must reproduce the above copyright     --
22--    notice, this list of conditions and the following disclaimer in the   --
23--    documentation and/or other materials provided with the distribution.  --
24--                                                                          --
25--  * Neither the name of the Vadim Godunko, IE nor the names of its        --
26--    contributors may be used to endorse or promote products derived from  --
27--    this software without specific prior written permission.              --
28--                                                                          --
29-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS      --
30-- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT        --
31-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR    --
32-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT     --
33-- HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,   --
34-- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED --
35-- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR   --
36-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF   --
37-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING     --
38-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS       --
39-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.             --
40--                                                                          --
41------------------------------------------------------------------------------
42--  $Revision: 3341 $ $Date: 2012-11-10 22:58:47 +0400 (Sat, 10 Nov 2012) $
43------------------------------------------------------------------------------
44--  This file is generated, don't edit it.
45------------------------------------------------------------------------------
46with AMF.Elements;
47with AMF.Utp;
48with Matreshka.Internals.Strings;
49
50package AMF.Internals.Tables.UTP_Types is
51
52   pragma Preelaborate;
53
54   type Element_Kinds is
55    (E_None,
56     E_Utp_Coding_Rule,
57     E_Utp_Data_Partition,
58     E_Utp_Data_Pool,
59     E_Utp_Data_Selector,
60     E_Utp_Default,
61     E_Utp_Default_Application,
62     E_Utp_Determ_Alt,
63     E_Utp_Finish_Action,
64     E_Utp_Get_Timezone_Action,
65     E_Utp_Literal_Any,
66     E_Utp_Literal_Any_Or_Null,
67     E_Utp_Log_Action,
68     E_Utp_Managed_Element,
69     E_Utp_Read_Timer_Action,
70     E_Utp_SUT,
71     E_Utp_Set_Timezone_Action,
72     E_Utp_Start_Timer_Action,
73     E_Utp_Stop_Timer_Action,
74     E_Utp_Test_Case,
75     E_Utp_Test_Component,
76     E_Utp_Test_Context,
77     E_Utp_Test_Log,
78     E_Utp_Test_Log_Application,
79     E_Utp_Test_Objective,
80     E_Utp_Test_Suite,
81     E_Utp_Time_Out,
82     E_Utp_Time_Out_Action,
83     E_Utp_Time_Out_Message,
84     E_Utp_Timer_Running_Action,
85     E_Utp_Validation_Action);
86
87   type Member_Kinds is
88    (M_None,
89     M_Collection_Of_Element,
90     M_Collection_Of_String,
91     M_Element,
92     M_String,
93     M_Unlimited_Natural,
94     M_Verdict);
95
96   type Member_Record (Kind : Member_Kinds := M_None) is record
97      case Kind is
98         when M_None =>
99            null;
100
101         when M_Collection_Of_Element =>
102            Collection : AMF.Internals.AMF_Collection_Of_Element;
103
104         when M_Collection_Of_String =>
105            String_Collection : AMF.Internals.AMF_Collection_Of_String;
106
107         when M_Element =>
108            Link : AMF.Internals.AMF_Link;
109
110         when M_String =>
111            String_Value : Matreshka.Internals.Strings.Shared_String_Access;
112
113         when M_Unlimited_Natural =>
114            Unlimited_Natural_Value : AMF.Unlimited_Natural;
115
116         when M_Verdict =>
117            Verdict_Value : AMF.Utp.Utp_Verdict;
118      end case;
119   end record;
120
121   type Member_Array is array (Natural range 0 .. 7) of Member_Record;
122
123   type Element_Record is record
124      Kind   : Element_Kinds := E_None;
125      Extent : AMF.Internals.AMF_Extent;
126      Proxy  : AMF.Elements.Element_Access;
127      Member : Member_Array;
128   end record;
129
130end AMF.Internals.Tables.UTP_Types;
131