%%------------------------------------------------------------
%%
%% Implementation stub file
%% 
%% Target: oe_CosNotification
%% Source: /ldisk/daily_build/otp_prebuild_r12b.2008-09-02_20/otp_src_R12B-4/lib/cosNotification/src/CosNotification.idl
%% IC vsn: 4.2.18
%% 
%% This file is automatically generated. DO NOT EDIT IT.
%%
%%------------------------------------------------------------

-module(oe_CosNotification).
-ic_compiled("4_2_18").


-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/CosNotification:1.0", "CosNotification", "1.0"),

    orber_ifr:'ModuleDef_create_alias'(_OE_1, "IDL:omg.org/CosNotification/Istring:1.0", "Istring", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0})),

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

    orber_ifr:'ModuleDef_create_alias'(_OE_1, "IDL:omg.org/CosNotification/PropertyValue:1.0", "PropertyValue", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_any)),

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

    orber_ifr:'ModuleDef_create_alias'(_OE_1, "IDL:omg.org/CosNotification/PropertySeq:1.0", "PropertySeq", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/Property:1.0",
                                                "Property",
                                                [{"name",{tk_string,0}},
                                                 {"value",tk_any}]},
                                               0})),

    orber_ifr:'ModuleDef_create_alias'(_OE_1, "IDL:omg.org/CosNotification/OptionalHeaderFields:1.0", "OptionalHeaderFields", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/Property:1.0",
                                                "Property",
                                                [{"name",{tk_string,0}},
                                                 {"value",tk_any}]},
                                               0})),

    orber_ifr:'ModuleDef_create_alias'(_OE_1, "IDL:omg.org/CosNotification/FilterableEventBody:1.0", "FilterableEventBody", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/Property:1.0",
                                                "Property",
                                                [{"name",{tk_string,0}},
                                                 {"value",tk_any}]},
                                               0})),

    orber_ifr:'ModuleDef_create_alias'(_OE_1, "IDL:omg.org/CosNotification/QoSProperties:1.0", "QoSProperties", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/Property:1.0",
                                                "Property",
                                                [{"name",{tk_string,0}},
                                                 {"value",tk_any}]},
                                               0})),

    orber_ifr:'ModuleDef_create_alias'(_OE_1, "IDL:omg.org/CosNotification/AdminProperties:1.0", "AdminProperties", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/Property:1.0",
                                                "Property",
                                                [{"name",{tk_string,0}},
                                                 {"value",tk_any}]},
                                               0})),

    orber_ifr:'ModuleDef_create_struct'(_OE_1, "IDL:omg.org/CosNotification/EventType:1.0", "EventType", "1.0", [#structmember{name="domain_name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0})}, #structmember{name="type_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/CosNotification/EventTypeSeq:1.0", "EventTypeSeq", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/EventType:1.0",
                                                "EventType",
                                                [{"domain_name",{tk_string,0}},
                                                 {"type_name",{tk_string,0}}]},
                                               0})),

    orber_ifr:'ModuleDef_create_struct'(_OE_1, "IDL:omg.org/CosNotification/PropertyRange:1.0", "PropertyRange", "1.0", [#structmember{name="low_val", type=tk_any, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, tk_any)}, #structmember{name="high_val", type=tk_any, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, tk_any)}]),

    orber_ifr:'ModuleDef_create_struct'(_OE_1, "IDL:omg.org/CosNotification/NamedPropertyRange:1.0", "NamedPropertyRange", "1.0", [#structmember{name="name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0})}, #structmember{name="range", type={tk_struct,
                                     "IDL:omg.org/CosNotification/PropertyRange:1.0",
                                     "PropertyRange",
                                     [{"low_val",tk_any},{"high_val",tk_any}]}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_struct,
                                               "IDL:omg.org/CosNotification/PropertyRange:1.0",
                                               "PropertyRange",
                                               [{"low_val",tk_any},
                                                {"high_val",tk_any}]})}]),

    orber_ifr:'ModuleDef_create_alias'(_OE_1, "IDL:omg.org/CosNotification/NamedPropertyRangeSeq:1.0", "NamedPropertyRangeSeq", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/NamedPropertyRange:1.0",
                                                "NamedPropertyRange",
                                                [{"name",{tk_string,0}},
                                                 {"range",
                                                  {tk_struct,
                                                   "IDL:omg.org/CosNotification/PropertyRange:1.0",
                                                   "PropertyRange",
                                                   [{"low_val",tk_any},
                                                    {"high_val",tk_any}]}}]},
                                               0})),

    orber_ifr:'ModuleDef_create_enum'(_OE_1, "IDL:omg.org/CosNotification/QoSError_code:1.0", "QoSError_code", "1.0", ["UNSUPPORTED_PROPERTY","UNAVAILABLE_PROPERTY","UNSUPPORTED_VALUE",
   "UNAVAILABLE_VALUE","BAD_PROPERTY","BAD_TYPE","BAD_VALUE"]),

    orber_ifr:'ModuleDef_create_struct'(_OE_1, "IDL:omg.org/CosNotification/PropertyError:1.0", "PropertyError", "1.0", [#structmember{name="code", type={tk_enum,
                                    "IDL:omg.org/CosNotification/QoSError_code:1.0",
                                    "QoSError_code",
                                    ["UNSUPPORTED_PROPERTY",
                                     "UNAVAILABLE_PROPERTY",
                                     "UNSUPPORTED_VALUE","UNAVAILABLE_VALUE",
                                     "BAD_PROPERTY","BAD_TYPE","BAD_VALUE"]}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_enum,
                                               "IDL:omg.org/CosNotification/QoSError_code:1.0",
                                               "QoSError_code",
                                               ["UNSUPPORTED_PROPERTY",
                                                "UNAVAILABLE_PROPERTY",
                                                "UNSUPPORTED_VALUE",
                                                "UNAVAILABLE_VALUE",
                                                "BAD_PROPERTY","BAD_TYPE",
                                                "BAD_VALUE"]})}, #structmember{name="name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0})}, #structmember{name="available_range", type={tk_struct,
                                            "IDL:omg.org/CosNotification/PropertyRange:1.0",
                                            "PropertyRange",
                                            [{"low_val",tk_any},
                                             {"high_val",tk_any}]}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_struct,
                                               "IDL:omg.org/CosNotification/PropertyRange:1.0",
                                               "PropertyRange",
                                               [{"low_val",tk_any},
                                                {"high_val",tk_any}]})}]),

    orber_ifr:'ModuleDef_create_alias'(_OE_1, "IDL:omg.org/CosNotification/PropertyErrorSeq:1.0", "PropertyErrorSeq", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/PropertyError:1.0",
                                                "PropertyError",
                                                [{"code",
                                                  {tk_enum,
                                                   "IDL:omg.org/CosNotification/QoSError_code:1.0",
                                                   "QoSError_code",
                                                   ["UNSUPPORTED_PROPERTY",
                                                    "UNAVAILABLE_PROPERTY",
                                                    "UNSUPPORTED_VALUE",
                                                    "UNAVAILABLE_VALUE",
                                                    "BAD_PROPERTY","BAD_TYPE",
                                                    "BAD_VALUE"]}},
                                                 {"name",{tk_string,0}},
                                                 {"available_range",
                                                  {tk_struct,
                                                   "IDL:omg.org/CosNotification/PropertyRange:1.0",
                                                   "PropertyRange",
                                                   [{"low_val",tk_any},
                                                    {"high_val",tk_any}]}}]},
                                               0})),

    orber_ifr:'ModuleDef_create_exception'(_OE_1, "IDL:omg.org/CosNotification/UnsupportedQoS:1.0", "UnsupportedQoS", "1.0", [#structmember{name="qos_err", type={tk_sequence,
                                    {tk_struct,
                                     "IDL:omg.org/CosNotification/PropertyError:1.0",
                                     "PropertyError",
                                     [{"code",
                                       {tk_enum,
                                        "IDL:omg.org/CosNotification/QoSError_code:1.0",
                                        "QoSError_code",
                                        ["UNSUPPORTED_PROPERTY",
                                         "UNAVAILABLE_PROPERTY",
                                         "UNSUPPORTED_VALUE",
                                         "UNAVAILABLE_VALUE","BAD_PROPERTY",
                                         "BAD_TYPE","BAD_VALUE"]}},
                                      {"name",{tk_string,0}},
                                      {"available_range",
                                       {tk_struct,
                                        "IDL:omg.org/CosNotification/PropertyRange:1.0",
                                        "PropertyRange",
                                        [{"low_val",tk_any},
                                         {"high_val",tk_any}]}}]},
                                    0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/PropertyError:1.0",
                                                "PropertyError",
                                                [{"code",
                                                  {tk_enum,
                                                   "IDL:omg.org/CosNotification/QoSError_code:1.0",
                                                   "QoSError_code",
                                                   ["UNSUPPORTED_PROPERTY",
                                                    "UNAVAILABLE_PROPERTY",
                                                    "UNSUPPORTED_VALUE",
                                                    "UNAVAILABLE_VALUE",
                                                    "BAD_PROPERTY","BAD_TYPE",
                                                    "BAD_VALUE"]}},
                                                 {"name",{tk_string,0}},
                                                 {"available_range",
                                                  {tk_struct,
                                                   "IDL:omg.org/CosNotification/PropertyRange:1.0",
                                                   "PropertyRange",
                                                   [{"low_val",tk_any},
                                                    {"high_val",tk_any}]}}]},
                                               0})}]),

    orber_ifr:'ModuleDef_create_exception'(_OE_1, "IDL:omg.org/CosNotification/UnsupportedAdmin:1.0", "UnsupportedAdmin", "1.0", [#structmember{name="admin_err", type={tk_sequence,
                                      {tk_struct,
                                       "IDL:omg.org/CosNotification/PropertyError:1.0",
                                       "PropertyError",
                                       [{"code",
                                         {tk_enum,
                                          "IDL:omg.org/CosNotification/QoSError_code:1.0",
                                          "QoSError_code",
                                          ["UNSUPPORTED_PROPERTY",
                                           "UNAVAILABLE_PROPERTY",
                                           "UNSUPPORTED_VALUE",
                                           "UNAVAILABLE_VALUE","BAD_PROPERTY",
                                           "BAD_TYPE","BAD_VALUE"]}},
                                        {"name",{tk_string,0}},
                                        {"available_range",
                                         {tk_struct,
                                          "IDL:omg.org/CosNotification/PropertyRange:1.0",
                                          "PropertyRange",
                                          [{"low_val",tk_any},
                                           {"high_val",tk_any}]}}]},
                                      0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/PropertyError:1.0",
                                                "PropertyError",
                                                [{"code",
                                                  {tk_enum,
                                                   "IDL:omg.org/CosNotification/QoSError_code:1.0",
                                                   "QoSError_code",
                                                   ["UNSUPPORTED_PROPERTY",
                                                    "UNAVAILABLE_PROPERTY",
                                                    "UNSUPPORTED_VALUE",
                                                    "UNAVAILABLE_VALUE",
                                                    "BAD_PROPERTY","BAD_TYPE",
                                                    "BAD_VALUE"]}},
                                                 {"name",{tk_string,0}},
                                                 {"available_range",
                                                  {tk_struct,
                                                   "IDL:omg.org/CosNotification/PropertyRange:1.0",
                                                   "PropertyRange",
                                                   [{"low_val",tk_any},
                                                    {"high_val",tk_any}]}}]},
                                               0})}]),

    orber_ifr:'ModuleDef_create_struct'(_OE_1, "IDL:omg.org/CosNotification/FixedEventHeader:1.0", "FixedEventHeader", "1.0", [#structmember{name="event_type", type={tk_struct,
                                       "IDL:omg.org/CosNotification/EventType:1.0",
                                       "EventType",
                                       [{"domain_name",{tk_string,0}},
                                        {"type_name",{tk_string,0}}]}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_struct,
                                               "IDL:omg.org/CosNotification/EventType:1.0",
                                               "EventType",
                                               [{"domain_name",{tk_string,0}},
                                                {"type_name",{tk_string,0}}]})}, #structmember{name="event_name", type={tk_string,0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0})}]),

    orber_ifr:'ModuleDef_create_struct'(_OE_1, "IDL:omg.org/CosNotification/EventHeader:1.0", "EventHeader", "1.0", [#structmember{name="fixed_header", type={tk_struct,
                                         "IDL:omg.org/CosNotification/FixedEventHeader:1.0",
                                         "FixedEventHeader",
                                         [{"event_type",
                                           {tk_struct,
                                            "IDL:omg.org/CosNotification/EventType:1.0",
                                            "EventType",
                                            [{"domain_name",{tk_string,0}},
                                             {"type_name",{tk_string,0}}]}},
                                          {"event_name",{tk_string,0}}]}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_struct,
                                               "IDL:omg.org/CosNotification/FixedEventHeader:1.0",
                                               "FixedEventHeader",
                                               [{"event_type",
                                                 {tk_struct,
                                                  "IDL:omg.org/CosNotification/EventType:1.0",
                                                  "EventType",
                                                  [{"domain_name",
                                                    {tk_string,0}},
                                                   {"type_name",
                                                    {tk_string,0}}]}},
                                                {"event_name",{tk_string,0}}]})}, #structmember{name="variable_header", type={tk_sequence,
                                            {tk_struct,
                                             "IDL:omg.org/CosNotification/Property:1.0",
                                             "Property",
                                             [{"name",{tk_string,0}},
                                              {"value",tk_any}]},
                                            0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/Property:1.0",
                                                "Property",
                                                [{"name",{tk_string,0}},
                                                 {"value",tk_any}]},
                                               0})}]),

    orber_ifr:'ModuleDef_create_struct'(_OE_1, "IDL:omg.org/CosNotification/StructuredEvent:1.0", "StructuredEvent", "1.0", [#structmember{name="header", type={tk_struct,
                                   "IDL:omg.org/CosNotification/EventHeader:1.0",
                                   "EventHeader",
                                   [{"fixed_header",
                                     {tk_struct,
                                      "IDL:omg.org/CosNotification/FixedEventHeader:1.0",
                                      "FixedEventHeader",
                                      [{"event_type",
                                        {tk_struct,
                                         "IDL:omg.org/CosNotification/EventType:1.0",
                                         "EventType",
                                         [{"domain_name",{tk_string,0}},
                                          {"type_name",{tk_string,0}}]}},
                                       {"event_name",{tk_string,0}}]}},
                                    {"variable_header",
                                     {tk_sequence,
                                      {tk_struct,
                                       "IDL:omg.org/CosNotification/Property:1.0",
                                       "Property",
                                       [{"name",{tk_string,0}},
                                        {"value",tk_any}]},
                                      0}}]}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_struct,
                                               "IDL:omg.org/CosNotification/EventHeader:1.0",
                                               "EventHeader",
                                               [{"fixed_header",
                                                 {tk_struct,
                                                  "IDL:omg.org/CosNotification/FixedEventHeader:1.0",
                                                  "FixedEventHeader",
                                                  [{"event_type",
                                                    {tk_struct,
                                                     "IDL:omg.org/CosNotification/EventType:1.0",
                                                     "EventType",
                                                     [{"domain_name",
                                                       {tk_string,0}},
                                                      {"type_name",
                                                       {tk_string,0}}]}},
                                                   {"event_name",
                                                    {tk_string,0}}]}},
                                                {"variable_header",
                                                 {tk_sequence,
                                                  {tk_struct,
                                                   "IDL:omg.org/CosNotification/Property:1.0",
                                                   "Property",
                                                   [{"name",{tk_string,0}},
                                                    {"value",tk_any}]},
                                                  0}}]})}, #structmember{name="filterable_data", type={tk_sequence,
                                            {tk_struct,
                                             "IDL:omg.org/CosNotification/Property:1.0",
                                             "Property",
                                             [{"name",{tk_string,0}},
                                              {"value",tk_any}]},
                                            0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/Property:1.0",
                                                "Property",
                                                [{"name",{tk_string,0}},
                                                 {"value",tk_any}]},
                                               0})}, #structmember{name="remainder_of_body", type=tk_any, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, tk_any)}]),

    orber_ifr:'ModuleDef_create_alias'(_OE_1, "IDL:omg.org/CosNotification/EventBatch:1.0", "EventBatch", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/StructuredEvent:1.0",
                                                "StructuredEvent",
                                                [{"header",
                                                  {tk_struct,
                                                   "IDL:omg.org/CosNotification/EventHeader:1.0",
                                                   "EventHeader",
                                                   [{"fixed_header",
                                                     {tk_struct,
                                                      "IDL:omg.org/CosNotification/FixedEventHeader:1.0",
                                                      "FixedEventHeader",
                                                      [{"event_type",
                                                        {tk_struct,
                                                         "IDL:omg.org/CosNotification/EventType:1.0",
                                                         "EventType",
                                                         [{"domain_name",
                                                           {tk_string,0}},
                                                          {"type_name",
                                                           {tk_string,0}}]}},
                                                       {"event_name",
                                                        {tk_string,0}}]}},
                                                    {"variable_header",
                                                     {tk_sequence,
                                                      {tk_struct,
                                                       "IDL:omg.org/CosNotification/Property:1.0",
                                                       "Property",
                                                       [{"name",{tk_string,0}},
                                                        {"value",tk_any}]},
                                                      0}}]}},
                                                 {"filterable_data",
                                                  {tk_sequence,
                                                   {tk_struct,
                                                    "IDL:omg.org/CosNotification/Property:1.0",
                                                    "Property",
                                                    [{"name",{tk_string,0}},
                                                     {"value",tk_any}]},
                                                   0}},
                                                 {"remainder_of_body",
                                                  tk_any}]},
                                               0})),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/EventReliability:1.0", "EventReliability", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "EventReliability"}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/BestEffort:1.0", "BestEffort", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_short), {tk_short,0}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/Persistent:1.0", "Persistent", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_short), {tk_short,1}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/ConnectionReliability:1.0", "ConnectionReliability", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "ConnectionReliability"}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/Priority:1.0", "Priority", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "Priority"}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/LowestPriority:1.0", "LowestPriority", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_short), {tk_short,-32767}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/HighestPriority:1.0", "HighestPriority", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_short), {tk_short,32767}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/DefaultPriority:1.0", "DefaultPriority", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_short), {tk_short,0}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/StartTime:1.0", "StartTime", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "StartTime"}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/StopTime:1.0", "StopTime", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "StopTime"}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/Timeout:1.0", "Timeout", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "Timeout"}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/OrderPolicy:1.0", "OrderPolicy", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "OrderPolicy"}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/AnyOrder:1.0", "AnyOrder", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_short), {tk_short,0}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/FifoOrder:1.0", "FifoOrder", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_short), {tk_short,1}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/PriorityOrder:1.0", "PriorityOrder", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_short), {tk_short,2}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/DeadlineOrder:1.0", "DeadlineOrder", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_short), {tk_short,3}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/DiscardPolicy:1.0", "DiscardPolicy", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "DiscardPolicy"}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/LifoOrder:1.0", "LifoOrder", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_short), {tk_short,4}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/RejectNewEvents:1.0", "RejectNewEvents", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_short), {tk_short,5}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/MaximumBatchSize:1.0", "MaximumBatchSize", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "MaximumBatchSize"}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/PacingInterval:1.0", "PacingInterval", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "PacingInterval"}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/StartTimeSupported:1.0", "StartTimeSupported", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "StartTimeSupported"}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/StopTimeSupported:1.0", "StopTimeSupported", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "StopTimeSupported"}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/MaxEventsPerConsumer:1.0", "MaxEventsPerConsumer", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "MaxEventsPerConsumer"}),

    _OE_2 = orber_ifr:'ModuleDef_create_interface'(_OE_1, "IDL:omg.org/CosNotification/QoSAdmin:1.0", "QoSAdmin", "1.0", []),

    orber_ifr:'InterfaceDef_create_operation'(_OE_2, "IDL:omg.org/CosNotification/QoSAdmin/get_qos:1.0", "get_qos", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/Property:1.0",
                                                "Property",
                                                [{"name",{tk_string,0}},
                                                 {"value",tk_any}]},
                                               0}), 'OP_NORMAL', [], [], []),

    orber_ifr:'InterfaceDef_create_operation'(_OE_2, "IDL:omg.org/CosNotification/QoSAdmin/set_qos:1.0", "set_qos", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [#parameterdescription{name="qos", type={tk_sequence,
                                        {tk_struct,
                                         "IDL:omg.org/CosNotification/Property:1.0",
                                         "Property",
                                         [{"name",{tk_string,0}},
                                          {"value",tk_any}]},
                                        0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/Property:1.0",
                                                "Property",
                                                [{"name",{tk_string,0}},
                                                 {"value",tk_any}]},
                                               0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosNotification/UnsupportedQoS:1.0")], []),

    orber_ifr:'InterfaceDef_create_operation'(_OE_2, "IDL:omg.org/CosNotification/QoSAdmin/validate_qos:1.0", "validate_qos", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [#parameterdescription{name="available_qos", type={tk_sequence,
                                                  {tk_struct,
                                                   "IDL:omg.org/CosNotification/NamedPropertyRange:1.0",
                                                   "NamedPropertyRange",
                                                   [{"name",{tk_string,0}},
                                                    {"range",
                                                     {tk_struct,
                                                      "IDL:omg.org/CosNotification/PropertyRange:1.0",
                                                      "PropertyRange",
                                                      [{"low_val",tk_any},
                                                       {"high_val",
                                                        tk_any}]}}]},
                                                  0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/NamedPropertyRange:1.0",
                                                "NamedPropertyRange",
                                                [{"name",{tk_string,0}},
                                                 {"range",
                                                  {tk_struct,
                                                   "IDL:omg.org/CosNotification/PropertyRange:1.0",
                                                   "PropertyRange",
                                                   [{"low_val",tk_any},
                                                    {"high_val",tk_any}]}}]},
                                               0}), mode='PARAM_OUT'}
, #parameterdescription{name="required_qos", type={tk_sequence,
                                                 {tk_struct,
                                                  "IDL:omg.org/CosNotification/Property:1.0",
                                                  "Property",
                                                  [{"name",{tk_string,0}},
                                                   {"value",tk_any}]},
                                                 0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/Property:1.0",
                                                "Property",
                                                [{"name",{tk_string,0}},
                                                 {"value",tk_any}]},
                                               0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosNotification/UnsupportedQoS:1.0")], []),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/MaxQueueLength:1.0", "MaxQueueLength", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "MaxQueueLength"}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/MaxConsumers:1.0", "MaxConsumers", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "MaxConsumers"}),

    orber_ifr:'ModuleDef_create_constant'(_OE_1, "IDL:omg.org/CosNotification/MaxSuppliers:1.0", "MaxSuppliers", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_string,0}), {{tk_string,0},
                                                                 "MaxSuppliers"}),

    _OE_3 = orber_ifr:'ModuleDef_create_interface'(_OE_1, "IDL:omg.org/CosNotification/AdminPropertiesAdmin:1.0", "AdminPropertiesAdmin", "1.0", []),

    orber_ifr:'InterfaceDef_create_operation'(_OE_3, "IDL:omg.org/CosNotification/AdminPropertiesAdmin/get_admin:1.0", "get_admin", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/Property:1.0",
                                                "Property",
                                                [{"name",{tk_string,0}},
                                                 {"value",tk_any}]},
                                               0}), 'OP_NORMAL', [], [], []),

    orber_ifr:'InterfaceDef_create_operation'(_OE_3, "IDL:omg.org/CosNotification/AdminPropertiesAdmin/set_admin:1.0", "set_admin", "1.0", orber_ifr:'Repository_create_idltype'(OE_IFR, tk_void), 'OP_NORMAL', [#parameterdescription{name="admin", type={tk_sequence,
                                          {tk_struct,
                                           "IDL:omg.org/CosNotification/Property:1.0",
                                           "Property",
                                           [{"name",{tk_string,0}},
                                            {"value",tk_any}]},
                                          0}, type_def=orber_ifr:'Repository_create_idltype'(OE_IFR, {tk_sequence,
                                               {tk_struct,
                                                "IDL:omg.org/CosNotification/Property:1.0",
                                                "Property",
                                                [{"name",{tk_string,0}},
                                                 {"value",tk_any}]},
                                               0}), mode='PARAM_IN'}
], [orber_ifr:lookup_id(OE_IFR,"IDL:omg.org/CosNotification/UnsupportedAdmin:1.0")], []),

    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/CosNotification/Istring:1.0") of
    []  ->
      true;
    _ ->
      exit({allready_registered,"IDL:omg.org/CosNotification/Istring:1.0"})
 end.


%% IFR registration checks for included idl files.
include_reg_test(OE_IFR) ->
  case orber_ifr:'Repository_lookup_id'(OE_IFR,"IDL:omg.org/CosEventComm:1.0") of
    [] ->
      exit({unregistered,"IDL:omg.org/CosEventComm:1.0"});
    _  ->
      true
  end,
  case orber_ifr:'Repository_lookup_id'(OE_IFR,"IDL:omg.org/CosEventChannelAdmin:1.0") of
    [] ->
      exit({unregistered,"IDL:omg.org/CosEventChannelAdmin:1.0"});
    _  ->
      true
  end,
  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/CosNotification/AdminPropertiesAdmin:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/MaxSuppliers:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/MaxConsumers:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/MaxQueueLength:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/QoSAdmin:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/MaxEventsPerConsumer:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/StopTimeSupported:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/StartTimeSupported:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/PacingInterval:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/MaximumBatchSize:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/RejectNewEvents:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/LifoOrder:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/DiscardPolicy:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/DeadlineOrder:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/PriorityOrder:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/FifoOrder:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/AnyOrder:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/OrderPolicy:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/Timeout:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/StopTime:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/StartTime:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/DefaultPriority:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/HighestPriority:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/LowestPriority:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/Priority:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/ConnectionReliability:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/Persistent:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/BestEffort:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/EventReliability:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/EventBatch:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/StructuredEvent:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/EventHeader:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/FixedEventHeader:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/UnsupportedAdmin:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/UnsupportedQoS:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/PropertyErrorSeq:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/PropertyError:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/QoSError_code:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/NamedPropertyRangeSeq:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/NamedPropertyRange:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/PropertyRange:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/EventTypeSeq:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/EventType:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/AdminProperties:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/QoSProperties:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/FilterableEventBody:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/OptionalHeaderFields:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/PropertySeq:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/Property:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/PropertyValue:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/PropertyName:1.0"),
    oe_destroy(OE_IFR, "IDL:omg.org/CosNotification/Istring:1.0"),
    oe_destroy_if_empty(OE_IFR, "IDL:omg.org/CosNotification: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() ->

    {"/ldisk/daily_build/otp_prebuild_r12b.2008-09-02_20/otp_src_R12B-4/lib/cosNotification/src/CosNotification.idl",
     ["/ldisk/daily_build/otp_prebuild_r12b.2008-09-02_20/otp_src_R12B-4/lib/cosEvent/src/CosEventComm.idl",
      "/ldisk/daily_build/otp_prebuild_r12b.2008-09-02_20/otp_src_R12B-4/lib/cosEvent/src/CosEventChannelAdmin.idl"]}.

