1%%-------------------------------------------------------------------- 2%% 3%% %CopyrightBegin% 4%% 5%% Copyright Ericsson AB 1997-2016. All Rights Reserved. 6%% 7%% Licensed under the Apache License, Version 2.0 (the "License"); 8%% you may not use this file except in compliance with the License. 9%% You may obtain a copy of the License at 10%% 11%% http://www.apache.org/licenses/LICENSE-2.0 12%% 13%% Unless required by applicable law or agreed to in writing, software 14%% distributed under the License is distributed on an "AS IS" BASIS, 15%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16%% See the License for the specific language governing permissions and 17%% limitations under the License. 18%% 19%% %CopyrightEnd% 20%% 21%% 22%%---------------------------------------------------------------------- 23%% File : ifr_types.hrl 24%% Purpose : Record definitions for structs used in the interface repository 25%%---------------------------------------------------------------------- 26 27 28%%%---------------------------------------------------------------------- 29%%% ********************************************************************* 30%%% * * 31%%% * PLEASE NOTE * 32%%% * * 33%%% * If a record is removed or added in this file, select/2 in * 34%%% * orber_ifr.erl _MUST_ be updated accordingly. * 35%%% * * 36%%% ********************************************************************* 37%%%---------------------------------------------------------------------- 38 39-record(contained_description, {kind, value}). 40 41-record(structmember, {name, type, type_def}). 42 43-record(unionmember, {name, label, type, type_def}). 44 45-record(container_description, {contained_object, kind, value}). 46 47-record(moduledescription, {name, id, defined_in, version}). 48 49-record(constantdescription, {name, id, defined_in, version, type, value}). 50 51-record(typedescription, {name, id, defined_in, version, type}). 52 53-define(make_typedescription(Obj,Object_type), 54 #typedescription{name = Obj#Object_type.name, 55 id = Obj#Object_type.id, 56 defined_in = Obj#Object_type.defined_in, 57 version = Obj#Object_type.version, 58 type = Obj#Object_type.type}). 59 60-record(exceptiondescription, {name, id, defined_in, version, type}). 61 62-record(attributedescription, {name, id, defined_in, version, type, mode}). 63 64-record(parameterdescription, {name, type, type_def, mode}). 65 66-record(operationdescription, {name, id, defined_in, version, result, mode, 67 contexts, parameters, exceptions}). 68 69-record(fullinterfacedescription, {name, id, defined_in, version, operations, 70 attributes, base_interfaces, type}). 71 72-record(interfacedescription, {name, id, defined_in, version, 73 base_interfaces}). 74