diff options
Diffstat (limited to 'lib/orber/src/orber_ifr_typecode.erl')
-rw-r--r-- | lib/orber/src/orber_ifr_typecode.erl | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/lib/orber/src/orber_ifr_typecode.erl b/lib/orber/src/orber_ifr_typecode.erl new file mode 100644 index 0000000000..1fac75b2af --- /dev/null +++ b/lib/orber/src/orber_ifr_typecode.erl @@ -0,0 +1,107 @@ +%%-------------------------------------------------------------------- +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 1997-2009. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% +%% +%% +%%---------------------------------------------------------------------- +%% File : orber_ifr_typecode.erl +%% Purpose : Code for Typecode +%%---------------------------------------------------------------------- + +%%% NOTE: +%%% Only make_typcode is for real here. All of the TypeCode interfaces +%%% specified in the IDL specification needs to be implemented. +%%% + +-module(orber_ifr_typecode). + +-export([ + equal/2, + kind/1, + id/1, + name/1, + member_count/1, + member_name/2, + member_type/2, + member_label/2, + discriminator_type/1, + default_index/1, + '_length'/1, + content_type/1, + param_count/1, + parameter/2 + ]). + +-import(orber_ifr_utils,[get_field/2]). + +-include("orber_ifr.hrl"). +-include("ifr_objects.hrl"). +-include_lib("orber/include/corba.hrl"). + + + +%%%---------------------------------------------------------------------- +%%% Inherited interfaces + +%% none %% + +%%%---------------------------------------------------------------------- +%%% Non-inherited interfaces + +equal({ObjType, ObjID}, {Tc_ObjType, Tc_ObjID}) +?tcheck(ir_TypeCode, ObjType) -> + get_field({ObjType,ObjID},kind) == get_field({Tc_ObjType,Tc_ObjID},kind). + +kind({ObjType, ObjID}) -> + {ok, {ObjType, ObjID}}. + +id({ObjType, ObjID}) -> + {ok, {ObjType, ObjID}}. + +name({ObjType, ObjID}) -> + {ok, {ObjType, ObjID}}. + +member_count({ObjType, ObjID}) -> + {ok, {ObjType, ObjID}}. + +member_name({ObjType, ObjID}, _Index) -> + {ok, {ObjType, ObjID}}. + +member_type({ObjType, ObjID}, _Index) -> + {ok, {ObjType, ObjID}}. + +member_label({ObjType, ObjID}, _Index) -> + {ok, {ObjType, ObjID}}. + +discriminator_type({ObjType, ObjID}) -> + {ok, {ObjType, ObjID}}. + +default_index({ObjType, ObjID}) -> + {ok, {ObjType, ObjID}}. + +'_length'({ObjType, ObjID}) -> + {ok, {ObjType, ObjID}}. + +content_type({ObjType, ObjID}) -> + {ok, {ObjType, ObjID}}. + +param_count({ObjType, ObjID}) -> + {ok, {ObjType, ObjID}}. + +parameter({ObjType, ObjID}, _Index) -> + {ok, {ObjType, ObjID}}. |