%%------------------------------------------------------------
%%
%% Implementation stub file
%% 
%% Target: oe_CosProperty
%% Source: /tmp/a/ports/lang/erlang/work/otp_src_R9C-0/lib/cosProperty/src/CosProperty.idl
%% IC vsn: 4.2.1
%% 
%% This file is automatically generated. DO NOT EDIT IT.
%%
%%------------------------------------------------------------

-module(oe_CosProperty).
-ic_compiled("4_2_1").


-include_lib("orber/include/ifr_types.hrl").

%% Interface functions

-export([oe_register/0, oe_unregister/0, oe_get_module/5]).
-export([oe_dependency/0]).



oe_register() ->
    OE_IFR = orber_ifr:find_repository(),

    register_tests(OE_IFR),

    OE_1 = oe_get_top_module(OE_IFR, "IDL:omg.org/CosPropertyService:1.0", "CosPropertyService", "1.0"),

    orber_ifr:'ModuleDef_create_alias'(OE_1, "IDL:omg.org/CosPropertyService/PropertyName:1.0", "PropertyName", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0})),

    orber_ifr:'ModuleDef_create_struct'(OE_1, "IDL:omg.org/CosPropertyService/Property:1.0", "Property", "1.0", [#structmember{name="property_name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0})}, #structmember{name="property_value", type=tk_any, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, tk_any)}]),

    orber_ifr:'ModuleDef_create_enum'(OE_1, "IDL:omg.org/CosPropertyService/PropertyModeType:1.0", "PropertyModeType", "1.0", ["normal","read_only","fixed_normal","fixed_readonly","undefined"]),

    orber_ifr:'ModuleDef_create_struct'(OE_1, "IDL:omg.org/CosPropertyService/PropertyDef:1.0", "PropertyDef", "1.0", [#structmember{name="property_name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0})}, #structmember{name="property_value", type=tk_any, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, tk_any)}, #structmember{name="property_mode", type={tk_enum,
                                             "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                             "PropertyModeType",
                                             ["normal",
                                              "read_only",
                                              "fixed_normal",
                                              "fixed_readonly",
                                              "undefined"]}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_enum,
                                                  "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                  "PropertyModeType",
                                                  ["normal",
                                                   "read_only",
                                                   "fixed_normal",
                                                   "fixed_readonly",
                                                   "undefined"]})}]),

    orber_ifr:'ModuleDef_create_struct'(OE_1, "IDL:omg.org/CosPropertyService/PropertyMode:1.0", "PropertyMode", "1.0", [#structmember{name="property_name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0})}, #structmember{name="property_mode", type={tk_enum,
                                             "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                             "PropertyModeType",
                                             ["normal",
                                              "read_only",
                                              "fixed_normal",
                                              "fixed_readonly",
                                              "undefined"]}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_enum,
                                                  "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                  "PropertyModeType",
                                                  ["normal",
                                                   "read_only",
                                                   "fixed_normal",
                                                   "fixed_readonly",
                                                   "undefined"]})}]),

    orber_ifr:'ModuleDef_create_alias'(OE_1, "IDL:omg.org/CosPropertyService/PropertyNames:1.0", "PropertyNames", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,{tk_string,0},0})),

    orber_ifr:'ModuleDef_create_alias'(OE_1, "IDL:omg.org/CosPropertyService/Properties:1.0", "Properties", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/Property:1.0",
                                                      "Property",
                                                      [{"property_name",
                                                        {tk_string,0}},
                                                       {"property_value",
                                                        tk_any}]},
                                                  0})),

    orber_ifr:'ModuleDef_create_alias'(OE_1, "IDL:omg.org/CosPropertyService/PropertyDefs:1.0", "PropertyDefs", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/PropertyDef:1.0",
                                                      "PropertyDef",
                                                      [{"property_name",
                                                        {tk_string,0}},
                                                       {"property_value",
                                                        tk_any},
                                                       {"property_mode",
                                                        {tk_enum,
                                                            "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                            "PropertyModeType",
                                                            ["normal",
                                                             "read_only",
                                                             "fixed_normal",
                                                             "fixed_readonly",
                                                             "undefined"]}}]},
                                                  0})),

    orber_ifr:'ModuleDef_create_alias'(OE_1, "IDL:omg.org/CosPropertyService/PropertyModes:1.0", "PropertyModes", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/PropertyMode:1.0",
                                                      "PropertyMode",
                                                      [{"property_name",
                                                        {tk_string,0}},
                                                       {"property_mode",
                                                        {tk_enum,
                                                            "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                            "PropertyModeType",
                                                            ["normal",
                                                             "read_only",
                                                             "fixed_normal",
                                                             "fixed_readonly",
                                                             "undefined"]}}]},
                                                  0})),

    orber_ifr:'ModuleDef_create_alias'(OE_1, "IDL:omg.org/CosPropertyService/PropertyTypes:1.0", "PropertyTypes", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,tk_TypeCode,0})),

    orber_ifr:'ModuleDef_create_exception'(OE_1, "IDL:omg.org/CosPropertyService/ConstraintNotSupported:1.0", "ConstraintNotSupported", "1.0", []),

    orber_ifr:'ModuleDef_create_exception'(OE_1, "IDL:omg.org/CosPropertyService/InvalidPropertyName:1.0", "InvalidPropertyName", "1.0", []),

    orber_ifr:'ModuleDef_create_exception'(OE_1, "IDL:omg.org/CosPropertyService/ConflictingProperty:1.0", "ConflictingProperty", "1.0", []),

    orber_ifr:'ModuleDef_create_exception'(OE_1, "IDL:omg.org/CosPropertyService/PropertyNotFound:1.0", "PropertyNotFound", "1.0", []),

    orber_ifr:'ModuleDef_create_exception'(OE_1, "IDL:omg.org/CosPropertyService/UnsupportedTypeCode:1.0", "UnsupportedTypeCode", "1.0", []),

    orber_ifr:'ModuleDef_create_exception'(OE_1, "IDL:omg.org/CosPropertyService/UnsupportedProperty:1.0", "UnsupportedProperty", "1.0", []),

    orber_ifr:'ModuleDef_create_exception'(OE_1, "IDL:omg.org/CosPropertyService/UnsupportedMode:1.0", "UnsupportedMode", "1.0", []),

    orber_ifr:'ModuleDef_create_exception'(OE_1, "IDL:omg.org/CosPropertyService/FixedProperty:1.0", "FixedProperty", "1.0", []),

    orber_ifr:'ModuleDef_create_exception'(OE_1, "IDL:omg.org/CosPropertyService/ReadOnlyProperty:1.0", "ReadOnlyProperty", "1.0", []),

    orber_ifr:'ModuleDef_create_enum'(OE_1, "IDL:omg.org/CosPropertyService/ExceptionReason:1.0", "ExceptionReason", "1.0", ["invalid_property_name",
   "conflicting_property",
   "property_not_found",
   "unsupported_type_code",
   "unsupported_property",
   "unsupported_mode",
   "fixed_property",
   "read_only_property"]),

    orber_ifr:'ModuleDef_create_struct'(OE_1, "IDL:omg.org/CosPropertyService/PropertyException:1.0", "PropertyException", "1.0", [#structmember{name="reason", type={tk_enum,
                                      "IDL:omg.org/CosPropertyService/ExceptionReason:1.0",
                                      "ExceptionReason",
                                      ["invalid_property_name",
                                       "conflicting_property",
                                       "property_not_found",
                                       "unsupported_type_code",
                                       "unsupported_property",
                                       "unsupported_mode",
                                       "fixed_property",
                                       "read_only_property"]}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_enum,
                                                  "IDL:omg.org/CosPropertyService/ExceptionReason:1.0",
                                                  "ExceptionReason",
                                                  ["invalid_property_name",
                                                   "conflicting_property",
                                                   "property_not_found",
                                                   "unsupported_type_code",
                                                   "unsupported_property",
                                                   "unsupported_mode",
                                                   "fixed_property",
                                                   "read_only_property"]})}, #structmember{name="failing_property_name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0})}]),

    orber_ifr:'ModuleDef_create_alias'(OE_1, "IDL:omg.org/CosPropertyService/PropertyExceptions:1.0", "PropertyExceptions", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/PropertyException:1.0",
                                                      "PropertyException",
                                                      [{"reason",
                                                        {tk_enum,
                                                            "IDL:omg.org/CosPropertyService/ExceptionReason:1.0",
                                                            "ExceptionReason",
                                                            ["invalid_property_name",
                                                             "conflicting_property",
                                                             "property_not_found",
                                                             "unsupported_type_code",
                                                             "unsupported_property",
                                                             "unsupported_mode",
                                                             "fixed_property",
                                                             "read_only_property"]}},
                                                       {"failing_property_name",
                                                        {tk_string,0}}]},
                                                  0})),

    orber_ifr:'ModuleDef_create_exception'(OE_1, "IDL:omg.org/CosPropertyService/MultipleExceptions:1.0", "MultipleExceptions", "1.0", [#structmember{name="exceptions", type={tk_sequence,
                                          {tk_struct,
                                              "IDL:omg.org/CosPropertyService/PropertyException:1.0",
                                              "PropertyException",
                                              [{"reason",
                                                {tk_enum,
                                                    "IDL:omg.org/CosPropertyService/ExceptionReason:1.0",
                                                    "ExceptionReason",
                                                    ["invalid_property_name",
                                                     "conflicting_property",
                                                     "property_not_found",
                                                     "unsupported_type_code",
                                                     "unsupported_property",
                                                     "unsupported_mode",
                                                     "fixed_property",
                                                     "read_only_property"]}},
                                               {"failing_property_name",
                                                {tk_string,0}}]},
                                          0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/PropertyException:1.0",
                                                      "PropertyException",
                                                      [{"reason",
                                                        {tk_enum,
                                                            "IDL:omg.org/CosPropertyService/ExceptionReason:1.0",
                                                            "ExceptionReason",
                                                            ["invalid_property_name",
                                                             "conflicting_property",
                                                             "property_not_found",
                                                             "unsupported_type_code",
                                                             "unsupported_property",
                                                             "unsupported_mode",
                                                             "fixed_property",
                                                             "read_only_property"]}},
                                                       {"failing_property_name",
                                                        {tk_string,0}}]},
                                                  0})}]),

    OE_2 = orber_ifr:'ModuleDef_create_interface'(OE_1, "IDL:omg.org/CosPropertyService/PropertySetFactory:1.0", "PropertySetFactory", "1.0", []),

    orber_ifr:'InterfaceDef_create_operation'(OE_2, "IDL:omg.org/CosPropertyService/PropertySetFactory/create_propertyset:1.0", "create_propertyset", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_objref,
                                                  "IDL:omg.org/CosPropertyService/PropertySet:1.0",
                                                  "PropertySet"}), 'OP_NORMAL', [], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_2, "IDL:omg.org/CosPropertyService/PropertySetFactory/create_constrained_propertyset:1.0", "create_constrained_propertyset", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_objref,
                                                  "IDL:omg.org/CosPropertyService/PropertySet:1.0",
                                                  "PropertySet"}), 'OP_NORMAL', [#parameterdescription{name="allowed_properties", type={tk_sequence,
                                                          {tk_struct,
                                                              "IDL:omg.org/CosPropertyService/Property:1.0",
                                                              "Property",
                                                              [{"property_name",
                                                                {tk_string,0}},
                                                               {"property_value",
                                                                tk_any}]},
                                                          0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/Property:1.0",
                                                      "Property",
                                                      [{"property_name",
                                                        {tk_string,0}},
                                                       {"property_value",
                                                        tk_any}]},
                                                  0}), mode='PARAM_IN'}
, #parameterdescription{name="allowed_property_types", type={tk_sequence,
                                                              tk_TypeCode,
                                                              0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,tk_TypeCode,0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/ConstraintNotSupported:1.0")], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_2, "IDL:omg.org/CosPropertyService/PropertySetFactory/create_initial_propertyset:1.0", "create_initial_propertyset", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_objref,
                                                  "IDL:omg.org/CosPropertyService/PropertySet:1.0",
                                                  "PropertySet"}), 'OP_NORMAL', [#parameterdescription{name="initial_properties", type={tk_sequence,
                                                          {tk_struct,
                                                              "IDL:omg.org/CosPropertyService/Property:1.0",
                                                              "Property",
                                                              [{"property_name",
                                                                {tk_string,0}},
                                                               {"property_value",
                                                                tk_any}]},
                                                          0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/Property:1.0",
                                                      "Property",
                                                      [{"property_name",
                                                        {tk_string,0}},
                                                       {"property_value",
                                                        tk_any}]},
                                                  0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/MultipleExceptions:1.0")], []),

    OE_3 = orber_ifr:'ModuleDef_create_interface'(OE_1, "IDL:omg.org/CosPropertyService/PropertySetDefFactory:1.0", "PropertySetDefFactory", "1.0", []),

    orber_ifr:'InterfaceDef_create_operation'(OE_3, "IDL:omg.org/CosPropertyService/PropertySetDefFactory/create_propertysetdef:1.0", "create_propertysetdef", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_objref,
                                                  "IDL:omg.org/CosPropertyService/PropertySetDef:1.0",
                                                  "PropertySetDef"}), 'OP_NORMAL', [], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_3, "IDL:omg.org/CosPropertyService/PropertySetDefFactory/create_constrained_propertysetdef:1.0", "create_constrained_propertysetdef", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_objref,
                                                  "IDL:omg.org/CosPropertyService/PropertySetDef:1.0",
                                                  "PropertySetDef"}), 'OP_NORMAL', [#parameterdescription{name="allowed_property_defs", type={tk_sequence,
                                                             {tk_struct,
                                                                 "IDL:omg.org/CosPropertyService/PropertyDef:1.0",
                                                                 "PropertyDef",
                                                                 [{"property_name",
                                                                   {tk_string,
                                                                       0}},
                                                                  {"property_value",
                                                                   tk_any},
                                                                  {"property_mode",
                                                                   {tk_enum,
                                                                       "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                                       "PropertyModeType",
                                                                       ["normal",
                                                                        "read_only",
                                                                        "fixed_normal",
                                                                        "fixed_readonly",
                                                                        "undefined"]}}]},
                                                             0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/PropertyDef:1.0",
                                                      "PropertyDef",
                                                      [{"property_name",
                                                        {tk_string,0}},
                                                       {"property_value",
                                                        tk_any},
                                                       {"property_mode",
                                                        {tk_enum,
                                                            "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                            "PropertyModeType",
                                                            ["normal",
                                                             "read_only",
                                                             "fixed_normal",
                                                             "fixed_readonly",
                                                             "undefined"]}}]},
                                                  0}), mode='PARAM_IN'}
, #parameterdescription{name="allowed_property_types", type={tk_sequence,
                                                              tk_TypeCode,
                                                              0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,tk_TypeCode,0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/ConstraintNotSupported:1.0")], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_3, "IDL:omg.org/CosPropertyService/PropertySetDefFactory/create_initial_propertysetdef:1.0", "create_initial_propertysetdef", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_objref,
                                                  "IDL:omg.org/CosPropertyService/PropertySetDef:1.0",
                                                  "PropertySetDef"}), 'OP_NORMAL', [#parameterdescription{name="initial_property_defs", type={tk_sequence,
                                                             {tk_struct,
                                                                 "IDL:omg.org/CosPropertyService/PropertyDef:1.0",
                                                                 "PropertyDef",
                                                                 [{"property_name",
                                                                   {tk_string,
                                                                       0}},
                                                                  {"property_value",
                                                                   tk_any},
                                                                  {"property_mode",
                                                                   {tk_enum,
                                                                       "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                                       "PropertyModeType",
                                                                       ["normal",
                                                                        "read_only",
                                                                        "fixed_normal",
                                                                        "fixed_readonly",
                                                                        "undefined"]}}]},
                                                             0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/PropertyDef:1.0",
                                                      "PropertyDef",
                                                      [{"property_name",
                                                        {tk_string,0}},
                                                       {"property_value",
                                                        tk_any},
                                                       {"property_mode",
                                                        {tk_enum,
                                                            "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                            "PropertyModeType",
                                                            ["normal",
                                                             "read_only",
                                                             "fixed_normal",
                                                             "fixed_readonly",
                                                             "undefined"]}}]},
                                                  0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/MultipleExceptions:1.0")], []),

    OE_4 = orber_ifr:'ModuleDef_create_interface'(OE_1, "IDL:omg.org/CosPropertyService/PropertySet:1.0", "PropertySet", "1.0", []),

    orber_ifr:'InterfaceDef_create_operation'(OE_4, "IDL:omg.org/CosPropertyService/PropertySet/define_property:1.0", "define_property", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [#parameterdescription{name="property_value", type=tk_any, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, tk_any), mode='PARAM_IN'}
, #parameterdescription{name="property_name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/ReadOnlyProperty:1.0"), orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/UnsupportedProperty:1.0"), orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/UnsupportedTypeCode:1.0"), orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/ConflictingProperty:1.0"), orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/InvalidPropertyName:1.0")], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_4, "IDL:omg.org/CosPropertyService/PropertySet/define_properties:1.0", "define_properties", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [#parameterdescription{name="nproperties", type={tk_sequence,
                                                   {tk_struct,
                                                       "IDL:omg.org/CosPropertyService/Property:1.0",
                                                       "Property",
                                                       [{"property_name",
                                                         {tk_string,0}},
                                                        {"property_value",
                                                         tk_any}]},
                                                   0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/Property:1.0",
                                                      "Property",
                                                      [{"property_name",
                                                        {tk_string,0}},
                                                       {"property_value",
                                                        tk_any}]},
                                                  0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/MultipleExceptions:1.0")], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_4, "IDL:omg.org/CosPropertyService/PropertySet/get_number_of_properties:1.0", "get_number_of_properties", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_ulong), 'OP_NORMAL', [], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_4, "IDL:omg.org/CosPropertyService/PropertySet/get_all_property_names:1.0", "get_all_property_names", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [#parameterdescription{name="rest", type={tk_objref,
                                            "IDL:omg.org/CosPropertyService/PropertyNamesIterator:1.0",
                                            "PropertyNamesIterator"}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_objref,
                                                  "IDL:omg.org/CosPropertyService/PropertyNamesIterator:1.0",
                                                  "PropertyNamesIterator"}), mode='PARAM_OUT'}
, #parameterdescription{name="property_names", type={tk_sequence,
                                                      {tk_string,0},
                                                      0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,{tk_string,0},0}), mode='PARAM_OUT'}
, #parameterdescription{name="how_many", type=tk_ulong, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, tk_ulong), mode='PARAM_IN'}
], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_4, "IDL:omg.org/CosPropertyService/PropertySet/get_property_value:1.0", "get_property_value", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_any), 'OP_NORMAL', [#parameterdescription{name="property_name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/InvalidPropertyName:1.0"), orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/PropertyNotFound:1.0")], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_4, "IDL:omg.org/CosPropertyService/PropertySet/get_properties:1.0", "get_properties", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_boolean), 'OP_NORMAL', [#parameterdescription{name="nproperties", type={tk_sequence,
                                                   {tk_struct,
                                                       "IDL:omg.org/CosPropertyService/Property:1.0",
                                                       "Property",
                                                       [{"property_name",
                                                         {tk_string,0}},
                                                        {"property_value",
                                                         tk_any}]},
                                                   0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/Property:1.0",
                                                      "Property",
                                                      [{"property_name",
                                                        {tk_string,0}},
                                                       {"property_value",
                                                        tk_any}]},
                                                  0}), mode='PARAM_OUT'}
, #parameterdescription{name="property_names", type={tk_sequence,
                                                      {tk_string,0},
                                                      0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,{tk_string,0},0}), mode='PARAM_IN'}
], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_4, "IDL:omg.org/CosPropertyService/PropertySet/get_all_properties:1.0", "get_all_properties", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [#parameterdescription{name="rest", type={tk_objref,
                                            "IDL:omg.org/CosPropertyService/PropertiesIterator:1.0",
                                            "PropertiesIterator"}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_objref,
                                                  "IDL:omg.org/CosPropertyService/PropertiesIterator:1.0",
                                                  "PropertiesIterator"}), mode='PARAM_OUT'}
, #parameterdescription{name="nproperties", type={tk_sequence,
                                                   {tk_struct,
                                                       "IDL:omg.org/CosPropertyService/Property:1.0",
                                                       "Property",
                                                       [{"property_name",
                                                         {tk_string,0}},
                                                        {"property_value",
                                                         tk_any}]},
                                                   0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/Property:1.0",
                                                      "Property",
                                                      [{"property_name",
                                                        {tk_string,0}},
                                                       {"property_value",
                                                        tk_any}]},
                                                  0}), mode='PARAM_OUT'}
, #parameterdescription{name="how_many", type=tk_ulong, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, tk_ulong), mode='PARAM_IN'}
], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_4, "IDL:omg.org/CosPropertyService/PropertySet/delete_property:1.0", "delete_property", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [#parameterdescription{name="property_name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/FixedProperty:1.0"), orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/InvalidPropertyName:1.0"), orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/PropertyNotFound:1.0")], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_4, "IDL:omg.org/CosPropertyService/PropertySet/delete_properties:1.0", "delete_properties", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [#parameterdescription{name="property_names", type={tk_sequence,
                                                      {tk_string,0},
                                                      0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,{tk_string,0},0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/MultipleExceptions:1.0")], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_4, "IDL:omg.org/CosPropertyService/PropertySet/delete_all_properties:1.0", "delete_all_properties", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_boolean), 'OP_NORMAL', [], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_4, "IDL:omg.org/CosPropertyService/PropertySet/is_property_defined:1.0", "is_property_defined", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_boolean), 'OP_NORMAL', [#parameterdescription{name="property_name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/InvalidPropertyName:1.0")], []),

    OE_5 = orber_ifr:'ModuleDef_create_interface'(OE_1, "IDL:omg.org/CosPropertyService/PropertySetDef:1.0", "PropertySetDef", "1.0", [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/PropertySet:1.0")]),

    orber_ifr:'InterfaceDef_create_operation'(OE_5, "IDL:omg.org/CosPropertyService/PropertySetDef/get_allowed_property_types:1.0", "get_allowed_property_types", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [#parameterdescription{name="property_types", type={tk_sequence,tk_TypeCode,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,tk_TypeCode,0}), mode='PARAM_OUT'}
], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_5, "IDL:omg.org/CosPropertyService/PropertySetDef/get_allowed_properties:1.0", "get_allowed_properties", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [#parameterdescription{name="property_defs", type={tk_sequence,
                                                     {tk_struct,
                                                         "IDL:omg.org/CosPropertyService/PropertyDef:1.0",
                                                         "PropertyDef",
                                                         [{"property_name",
                                                           {tk_string,0}},
                                                          {"property_value",
                                                           tk_any},
                                                          {"property_mode",
                                                           {tk_enum,
                                                               "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                               "PropertyModeType",
                                                               ["normal",
                                                                "read_only",
                                                                "fixed_normal",
                                                                "fixed_readonly",
                                                                "undefined"]}}]},
                                                     0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/PropertyDef:1.0",
                                                      "PropertyDef",
                                                      [{"property_name",
                                                        {tk_string,0}},
                                                       {"property_value",
                                                        tk_any},
                                                       {"property_mode",
                                                        {tk_enum,
                                                            "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                            "PropertyModeType",
                                                            ["normal",
                                                             "read_only",
                                                             "fixed_normal",
                                                             "fixed_readonly",
                                                             "undefined"]}}]},
                                                  0}), mode='PARAM_OUT'}
], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_5, "IDL:omg.org/CosPropertyService/PropertySetDef/define_property_with_mode:1.0", "define_property_with_mode", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [#parameterdescription{name="property_mode", type={tk_enum,
                                                     "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                     "PropertyModeType",
                                                     ["normal",
                                                      "read_only",
                                                      "fixed_normal",
                                                      "fixed_readonly",
                                                      "undefined"]}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_enum,
                                                  "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                  "PropertyModeType",
                                                  ["normal",
                                                   "read_only",
                                                   "fixed_normal",
                                                   "fixed_readonly",
                                                   "undefined"]}), mode='PARAM_IN'}
, #parameterdescription{name="property_value", type=tk_any, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, tk_any), mode='PARAM_IN'}
, #parameterdescription{name="property_name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/ReadOnlyProperty:1.0"), orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/UnsupportedMode:1.0"), orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/UnsupportedProperty:1.0"), orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/UnsupportedTypeCode:1.0"), orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/ConflictingProperty:1.0"), orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/InvalidPropertyName:1.0")], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_5, "IDL:omg.org/CosPropertyService/PropertySetDef/define_properties_with_modes:1.0", "define_properties_with_modes", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [#parameterdescription{name="property_defs", type={tk_sequence,
                                                     {tk_struct,
                                                         "IDL:omg.org/CosPropertyService/PropertyDef:1.0",
                                                         "PropertyDef",
                                                         [{"property_name",
                                                           {tk_string,0}},
                                                          {"property_value",
                                                           tk_any},
                                                          {"property_mode",
                                                           {tk_enum,
                                                               "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                               "PropertyModeType",
                                                               ["normal",
                                                                "read_only",
                                                                "fixed_normal",
                                                                "fixed_readonly",
                                                                "undefined"]}}]},
                                                     0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/PropertyDef:1.0",
                                                      "PropertyDef",
                                                      [{"property_name",
                                                        {tk_string,0}},
                                                       {"property_value",
                                                        tk_any},
                                                       {"property_mode",
                                                        {tk_enum,
                                                            "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                            "PropertyModeType",
                                                            ["normal",
                                                             "read_only",
                                                             "fixed_normal",
                                                             "fixed_readonly",
                                                             "undefined"]}}]},
                                                  0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/MultipleExceptions:1.0")], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_5, "IDL:omg.org/CosPropertyService/PropertySetDef/get_property_mode:1.0", "get_property_mode", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_enum,
                                                  "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                  "PropertyModeType",
                                                  ["normal",
                                                   "read_only",
                                                   "fixed_normal",
                                                   "fixed_readonly",
                                                   "undefined"]}), 'OP_NORMAL', [#parameterdescription{name="property_name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/InvalidPropertyName:1.0"), orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/PropertyNotFound:1.0")], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_5, "IDL:omg.org/CosPropertyService/PropertySetDef/get_property_modes:1.0", "get_property_modes", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_boolean), 'OP_NORMAL', [#parameterdescription{name="property_modes", type={tk_sequence,
                                                      {tk_struct,
                                                          "IDL:omg.org/CosPropertyService/PropertyMode:1.0",
                                                          "PropertyMode",
                                                          [{"property_name",
                                                            {tk_string,0}},
                                                           {"property_mode",
                                                            {tk_enum,
                                                                "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                                "PropertyModeType",
                                                                ["normal",
                                                                 "read_only",
                                                                 "fixed_normal",
                                                                 "fixed_readonly",
                                                                 "undefined"]}}]},
                                                      0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/PropertyMode:1.0",
                                                      "PropertyMode",
                                                      [{"property_name",
                                                        {tk_string,0}},
                                                       {"property_mode",
                                                        {tk_enum,
                                                            "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                            "PropertyModeType",
                                                            ["normal",
                                                             "read_only",
                                                             "fixed_normal",
                                                             "fixed_readonly",
                                                             "undefined"]}}]},
                                                  0}), mode='PARAM_OUT'}
, #parameterdescription{name="property_names", type={tk_sequence,
                                                      {tk_string,0},
                                                      0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,{tk_string,0},0}), mode='PARAM_IN'}
], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_5, "IDL:omg.org/CosPropertyService/PropertySetDef/set_property_mode:1.0", "set_property_mode", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [#parameterdescription{name="property_mode", type={tk_enum,
                                                     "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                     "PropertyModeType",
                                                     ["normal",
                                                      "read_only",
                                                      "fixed_normal",
                                                      "fixed_readonly",
                                                      "undefined"]}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_enum,
                                                  "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                  "PropertyModeType",
                                                  ["normal",
                                                   "read_only",
                                                   "fixed_normal",
                                                   "fixed_readonly",
                                                   "undefined"]}), mode='PARAM_IN'}
, #parameterdescription{name="property_name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/UnsupportedMode:1.0"), orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/PropertyNotFound:1.0"), orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/InvalidPropertyName:1.0")], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_5, "IDL:omg.org/CosPropertyService/PropertySetDef/set_property_modes:1.0", "set_property_modes", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [#parameterdescription{name="property_modes", type={tk_sequence,
                                                      {tk_struct,
                                                          "IDL:omg.org/CosPropertyService/PropertyMode:1.0",
                                                          "PropertyMode",
                                                          [{"property_name",
                                                            {tk_string,0}},
                                                           {"property_mode",
                                                            {tk_enum,
                                                                "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                                "PropertyModeType",
                                                                ["normal",
                                                                 "read_only",
                                                                 "fixed_normal",
                                                                 "fixed_readonly",
                                                                 "undefined"]}}]},
                                                      0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/PropertyMode:1.0",
                                                      "PropertyMode",
                                                      [{"property_name",
                                                        {tk_string,0}},
                                                       {"property_mode",
                                                        {tk_enum,
                                                            "IDL:omg.org/CosPropertyService/PropertyModeType:1.0",
                                                            "PropertyModeType",
                                                            ["normal",
                                                             "read_only",
                                                             "fixed_normal",
                                                             "fixed_readonly",
                                                             "undefined"]}}]},
                                                  0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosPropertyService/MultipleExceptions:1.0")], []),

    OE_6 = orber_ifr:'ModuleDef_create_interface'(OE_1, "IDL:omg.org/CosPropertyService/PropertyNamesIterator:1.0", "PropertyNamesIterator", "1.0", []),

    orber_ifr:'InterfaceDef_create_operation'(OE_6, "IDL:omg.org/CosPropertyService/PropertyNamesIterator/reset:1.0", "reset", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_6, "IDL:omg.org/CosPropertyService/PropertyNamesIterator/next_one:1.0", "next_one", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_boolean), 'OP_NORMAL', [#parameterdescription{name="property_name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), mode='PARAM_OUT'}
], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_6, "IDL:omg.org/CosPropertyService/PropertyNamesIterator/next_n:1.0", "next_n", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_boolean), 'OP_NORMAL', [#parameterdescription{name="property_names", type={tk_sequence,
                                                      {tk_string,0},
                                                      0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,{tk_string,0},0}), mode='PARAM_OUT'}
, #parameterdescription{name="how_many", type=tk_ulong, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, tk_ulong), mode='PARAM_IN'}
], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_6, "IDL:omg.org/CosPropertyService/PropertyNamesIterator/destroy:1.0", "destroy", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [], [], []),

    OE_7 = orber_ifr:'ModuleDef_create_interface'(OE_1, "IDL:omg.org/CosPropertyService/PropertiesIterator:1.0", "PropertiesIterator", "1.0", []),

    orber_ifr:'InterfaceDef_create_operation'(OE_7, "IDL:omg.org/CosPropertyService/PropertiesIterator/reset:1.0", "reset", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_7, "IDL:omg.org/CosPropertyService/PropertiesIterator/next_one:1.0", "next_one", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_boolean), 'OP_NORMAL', [#parameterdescription{name="aproperty", type={tk_struct,
                                                 "IDL:omg.org/CosPropertyService/Property:1.0",
                                                 "Property",
                                                 [{"property_name",
                                                   {tk_string,0}},
                                                  {"property_value",tk_any}]}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_struct,
                                                  "IDL:omg.org/CosPropertyService/Property:1.0",
                                                  "Property",
                                                  [{"property_name",
                                                    {tk_string,0}},
                                                   {"property_value",tk_any}]}), mode='PARAM_OUT'}
], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_7, "IDL:omg.org/CosPropertyService/PropertiesIterator/next_n:1.0", "next_n", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_boolean), 'OP_NORMAL', [#parameterdescription{name="nproperties", type={tk_sequence,
                                                   {tk_struct,
                                                       "IDL:omg.org/CosPropertyService/Property:1.0",
                                                       "Property",
                                                       [{"property_name",
                                                         {tk_string,0}},
                                                        {"property_value",
                                                         tk_any}]},
                                                   0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                                  {tk_struct,
                                                      "IDL:omg.org/CosPropertyService/Property:1.0",
                                                      "Property",
                                                      [{"property_name",
                                                        {tk_string,0}},
                                                       {"property_value",
                                                        tk_any}]},
                                                  0}), mode='PARAM_OUT'}
, #parameterdescription{name="how_many", type=tk_ulong, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, tk_ulong), mode='PARAM_IN'}
], [], []),

    orber_ifr:'InterfaceDef_create_operation'(OE_7, "IDL:omg.org/CosPropertyService/PropertiesIterator/destroy:1.0", "destroy", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [], [], []),

    ok.


%% General IFR registration checks.
register_tests(OE_IFR)->
  re_register_test(OE_IFR),
  include_reg_test(OE_IFR).


%% IFR type Re-registration checks.
re_register_test(OE_IFR)->
  case orber_ifr:'Repository_lookup_id'(OE_IFR,"IDL:omg.org/CosPropertyService/PropertyName:1.0") of
    []  ->
      true;
    _ ->
      exit({allready_registered,"IDL:omg.org/CosPropertyService/PropertyName:1.0"})
 end.


%% No included idl-files detected.
include_reg_test(OE_IFR) -> true.


%% Fetch top module reference, register if unregistered.
oe_get_top_module(OE_IFR, ID, Name, Version) ->
  case orber_ifr:'Repository_lookup_id'(OE_IFR, ID) of
    [] ->
      orber_ifr:'Repository_create_module'(OE_IFR, ID, Name, Version);
    Mod  ->
      Mod
   end.

%% Fetch module reference, register if unregistered.
oe_get_module(OE_IFR, OE_Parent, ID, Name, Version) ->
  case orber_ifr:'Repository_lookup_id'(OE_IFR, ID) of
    [] ->
      orber_ifr:'ModuleDef_create_module'(OE_Parent, ID, Name, Version);
    Mod  ->
      Mod
   end.



oe_unregister() ->
    OE_IFR = orber_ifr:find_repository(),

    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertiesIterator:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertyNamesIterator:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertySetDef:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertySet:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertySetDefFactory:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertySetFactory:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/MultipleExceptions:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertyExceptions:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertyException:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/ExceptionReason:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/ReadOnlyProperty:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/FixedProperty:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/UnsupportedMode:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/UnsupportedProperty:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/UnsupportedTypeCode:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertyNotFound:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/ConflictingProperty:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/InvalidPropertyName:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/ConstraintNotSupported:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertyTypes:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertyModes:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertyDefs:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/Properties:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertyNames:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertyMode:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertyDef:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertyModeType:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/Property:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosPropertyService/PropertyName:1.0"),
    oe_destroy_if_empty(OE_IFR, "IDL:omg.org/CosPropertyService:1.0"),
    ok.



oe_destroy_if_empty(OE_IFR,IFR_ID) ->
    case orber_ifr:'Repository_lookup_id'(OE_IFR, IFR_ID) of
	[] ->
	    ok;
	Ref ->
	    case orber_ifr:contents(Ref, 'dk_All', 'true') of
		[] ->
		    orber_ifr:destroy(Ref),
		    ok;
		_ ->
		    ok
	    end
    end.

oe_destroy(OE_IFR,IFR_ID) ->
    case orber_ifr:'Repository_lookup_id'(OE_IFR, IFR_ID) of
	[] ->
	    ok;
	Ref ->
	    orber_ifr:destroy(Ref),
	    ok
    end.



%% Idl file dependency list function
oe_dependency() ->

    [].

