<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd">

<erlref>
  <header>
    <copyright>
      <year>2001</year><year>2016</year>
      <holder>Ericsson AB. All Rights Reserved.</holder>
    </copyright>
    <legalnotice>
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
 
          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.
    
    </legalnotice>

    <title>CosEventDomainAdmin_EventDomain</title>
    <prepared></prepared>
    <docno></docno>
    <approved>Niclas Eklund</approved>
    <checked></checked>
    <date>2001-08-20</date>
    <rev>PA1</rev>
  </header>
  <module>CosEventDomainAdmin_EventDomain</module>
  <modulesummary>This module implements the Event Domain interface.</modulesummary>
  <description>
    <p>To get access to all definitions include necessary <c><![CDATA[hrl]]></c> files by using:<br></br><c><![CDATA[-include_lib("cosEventDomain/include/*.hrl").]]></c></p>
    <p>This module also exports the functions described in:</p>
    <list type="bulleted">
      <item><em>CosNotification_QoSAdmin</em></item>
      <item><em>CosNotification_AdminPropertiesAdmin</em></item>
    </list>
  </description>
  <funcs>
    <func>
      <name>add_channel(EventDomain, Channel) -> MemberID</name>
      <fsummary>Add a new channel to the EventDomain</fsummary>
      <type>
        <v>EventDomain = Channel = #objref</v>
        <v>MemberID    = long()</v>
      </type>
      <desc>
        <p>Adds the given channel to the target domain. The channel
          must be a <c><![CDATA[CosNotifyChannelAdmin::EventChannel]]></c>.</p>
      </desc>
    </func>
    <func>
      <name>get_all_channels(EventDomain) -> MemberIDSeq</name>
      <fsummary>Return all channel id's associated with target object</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>MemberIDSeq = [long()]</v>
      </type>
      <desc>
        <p>Returns a a sequence of all channels associated with
          the target object.</p>
      </desc>
    </func>
    <func>
      <name>get_channel(EventDomain, MemberID) -> Reply</name>
      <fsummary>Return the channel associated with the given id</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>MemberID    = long()</v>
        <v>Reply       = Channel | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
        <v>Channel     = #objref</v>
      </type>
      <desc>
        <p>If the target domain have a <c><![CDATA[CosNotifyChannelAdmin::EventChannel]]></c>
          represented by the given id this channel is returned. Otherwise,
          an exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>remove_channel(EventDomain, MemberID) -> Reply</name>
      <fsummary>Remove the channel associated with the given id and remove all connections of that channel</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>MemberID    = long()</v>
        <v>Reply       = ok | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a  <c><![CDATA[CosNotifyChannelAdmin::EventChannel]]></c> with the 
          <c><![CDATA[MemberID]]></c> exists it will removed and all its <c><![CDATA[Connections]]></c>
          terminated. Otherwise an exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>add_connection(EventDomain, Connection) -> Reply</name>
      <fsummary>If possible, setup a connection described by the <c><![CDATA[#'CosEventDomainAdmin_Connection'{}]]></c>struct</fsummary>
      <type>
        <v>EventDomain  = #objref</v>
        <v>Connection   = 'CosEventDomainAdmin_Connection'{supplier_id=MemberID, consumer_id=MemberID, ctype=Type, notification_style=Style}</v>
        <v>MemberID     = long()</v>
        <v>Type         = 'ANY_EVENT' | 'STRUCTURED_EVENT' | 'SEQUENCE_EVENT'</v>
        <v>Style        = 'Pull' | 'Push'</v>
        <v>Reply        = ConnectionID | {'EXCEPTION', Exc}</v>
        <v>ConnectionID = long()</v>
        <v>Exc          = #'CosNotifyChannelAdmin_ChannelNotFound'{} | #'CosNotifyChannelAdmin_TypeError'{} | #'CosEventDomainAdmin_AlreadyExists'{} | #'CosEventDomainAdmin_DiamondCreationForbidden'{diam=RouteSeq} | #'CosEventDomainAdmin_CycleCreationForbidden'{cyc=MemberIDSeq}</v>
        <v>RouteSeq  = [MemberIDSeq]</v>
        <v>MemberIDSeq  = [long()]</v>
      </type>
      <desc>
        <p>The Connection parameter must contain valid data to enable
          the target domain to setup a connection between two channels.
          The struct members <c><![CDATA[supplier_id]]></c> and <c><![CDATA[consumer_id]]></c>
          determines which channel should produce and consume events.
          which type of events and if the supplier should push or the
          consumer pull events is determined by <c><![CDATA[ctype]]></c> and
          <c><![CDATA[notification_style]]></c> respectively.</p>
        <p>If the target domain is not able to setup the connection
          the appropriate exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>get_all_connections(EventDomain) -> ConnectionIDSeq</name>
      <fsummary>Return a sequence of all connections within the target domain</fsummary>
      <type>
        <v>EventDomain     = #objref</v>
        <v>ConnectionIDSeq = [long()]</v>
      </type>
      <desc>
        <p>This operation returns a sequence of all connections within
          the target domain.</p>
      </desc>
    </func>
    <func>
      <name>get_connection(EventDomain, ConnectionID) -> Reply</name>
      <fsummary>Return a <c><![CDATA[#'CosEventDomainAdmin_Connection'{}]]></c>struct describing the connection associated with the given id  within the target domain</fsummary>
      <type>
        <v>EventDomain  = #objref</v>
        <v>ConnectionID = long()</v>
        <v>Reply        = Connection | {'EXCEPTION', #'CosEventDomainAdmin_ConnectionNotFound'{}}</v>
        <v>Connection   = 'CosEventDomainAdmin_Connection'{supplier_id=MemberID, consumer_id=MemberID, ctype=Type, notification_style=Style}</v>
        <v>MemberID     = long()</v>
        <v>Type         = 'ANY_EVENT' | 'STRUCTURED_EVENT' | 'SEQUENCE_EVENT'</v>
        <v>Style        = 'Pull' | 'Push'</v>
      </type>
      <desc>
        <p>If a connection identified by the given id exists within the
          target domain, a <c><![CDATA[#'CosEventDomainAdmin_Connection'{}]]></c> which
          describe the connection is returned. Otherwise, an exception
          is raised.</p>
      </desc>
    </func>
    <func>
      <name>remove_connection(EventDomain, ConnectionID) -> Reply</name>
      <fsummary>Remove the connection identified by the given id from  the target domain</fsummary>
      <type>
        <v>EventDomain  = #objref</v>
        <v>ConnectionID = long()</v>
        <v>Reply        = ok | {'EXCEPTION', #'CosEventDomainAdmin_ConnectionNotFound'{}}</v>
      </type>
      <desc>
        <p>If the supplied connection id exists, the connection the
          id represents is terminated. Otherwise, an exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>get_offer_channels(EventDomain, MemberID) -> Reply</name>
      <fsummary>Return all id's of the channels which produce events received by the channel identified by the given id</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>MemberID    = long()</v>
        <v>Reply       = MemberIDSeq | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>This operation returns a sequence, containing the member id's
          of all channels within the target domain which will supply events
          to the channel identified by the given id. But, if no such
          id exists in this domain, an exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>get_subscription_channels(EventDomain, MemberID) -> Reply</name>
      <fsummary>Return all id's of the channels which consume events supplied by the channel identified by the given id</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Reply       = MemberIDSeq | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>This operations behaves like <c><![CDATA[get_subscription_channels]]></c>;
          the difference is that the id's returned identifies channels
          which will consume events supplied by the channel associated
          with the given id.</p>
      </desc>
    </func>
    <func>
      <name>destroy(EventDomain) -> ok</name>
      <fsummary>Destroy the event domain and all connections within it</fsummary>
      <type>
        <v>EventDomain = #objref</v>
      </type>
      <desc>
        <p>Calling this operation will terminate all connections
          within the target domain. The domain will terminate but
          all channels will not be affected.</p>
      </desc>
    </func>
    <func>
      <name>get_cycles(EventDomain) -> RouteSeq</name>
      <fsummary>Return a list of all cycles which exists within  the target domain</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>RouteSeq    = [MemberIDSeq]</v>
        <v>MemberIDSeq = [long()]</v>
      </type>
      <desc>
        <p>Returns a list of all cycles within the target domain.</p>
      </desc>
    </func>
    <func>
      <name>get_diamonds(EventDomain) -> DiamondSeq</name>
      <fsummary>Return a list of all diamonds which exists within  the target domain</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>DiamondSeq  = [RouteSeq]</v>
        <v>RouteSeq    = [MemberIDSeq]</v>
        <v>MemberIDSeq = [long()]</v>
      </type>
      <desc>
        <p>Returns a list of all diamonds within the target domain</p>
      </desc>
    </func>
    <func>
      <name>set_default_consumer_channel(EventDomain, MemberID) -> Reply</name>
      <fsummary>Set the channel represented by the given id as default for supplier clients</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Reply       = MemberID | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
        <v>MemberID    = long()</v>
      </type>
      <desc>
        <p>If the given id represents a channel within the target domain,
          this channel will be used when connection a supplier client
          without specifying a certain channel. If no such channel exists
          an exceptions is raised.</p>
      </desc>
    </func>
    <func>
      <name>set_default_supplier_channel(EventDomain, MemberID) -> Reply</name>
      <fsummary>Set the channel represented by the given id as default for supplier clients</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Reply       = MemberID | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
        <v>MemberID    = long()</v>
      </type>
      <desc>
        <p>If the given id represents a channel within the target domain,
          this channel will be used when connection a consumer client
          without specifying a certain channel. If no such channel exists
          an exceptions is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_push_consumer(EventDomain, Consumer) -> Reply</name>
      <fsummary>Connect the PushConsumer to the default Channel</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Consumer    = CosEventComm::PushConsumer</v>
        <v>Reply       = CosNotifyChannelAdmin::ProxyPushSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a default Channel have been set, this operation connects the given
          PushConsumer to it. Otherwise, the
          <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c> exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_pull_consumer(EventDomain, Consumer) -> Reply</name>
      <fsummary>Connect the PullConsumer to the default Channel</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Consumer    = CosEventComm::PullConsumer</v>
        <v>Reply       = CosNotifyChannelAdmin::ProxyPullSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a default Channel have been set, this operation connects the given
          PullConsumer to it. Otherwise, the
          <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c> exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_push_supplier(EventDomain, Supplier) -> Reply</name>
      <fsummary>Connect the PushSupplier to the default Channel</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Supplier    = CosEventComm::PushSupplier</v>
        <v>Reply       = CosNotifyChannelAdmin::ProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a default Channel have been set, this operation connects the given
          PushSupplier to it. Otherwise, the
          <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c> exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_pull_supplier(EventDomain, Supplier) -> Reply</name>
      <fsummary>Connect the PullSupplier to the default Channel</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Supplier    = CosEventComm::PullSupplier</v>
        <v>Reply       = CosNotifyChannelAdmin::ProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a default Channel have been set, this operation connects the given
          PullSupplier to it. Otherwise, the
          <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c> exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_structured_push_consumer(EventDomain, Consumer) -> Reply</name>
      <fsummary>Connect the StructuredPushConsumer to the default Channel</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Consumer    = CosNotifyComm::StructuredPushConsumer</v>
        <v>Reply       = CosNotifyChannelAdmin::StructuredProxyPushSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a default Channel have been set, this operation connects the given
          StructuredPushConsumer to it. Otherwise, the
          <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c> exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_structured_pull_consumer(EventDomain, Consumer) -> Reply</name>
      <fsummary>Connect the StructuredPullConsumer to the default Channel</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Consumer    = CosNotifyComm::StructuredPullConsumer</v>
        <v>Reply       = CosNotifyChannelAdmin::StructuredProxyPullSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a default Channel have been set, this operation connects the given
          StructuredPullConsumer to it. Otherwise, the
          <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c> exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_structured_push_supplier(EventDomain, Supplier) -> Reply</name>
      <fsummary>Connect the StructuredPushSupplier to the default Channel</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Supplier    = CosNotifyComm::StructuredPushSupplier</v>
        <v>Reply       = CosNotifyChannelAdmin::StructuredProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a default Channel have been set, this operation connects the given
          StructuredPushSupplier to it. Otherwise, the
          <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c> exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_structured_pull_supplier(EventDomain, Supplier) -> Reply</name>
      <fsummary>Connect the StructuredPullSupplier to the default Channel</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Supplier    = CosNotifyComm::StructuredPullSupplier</v>
        <v>Reply       = CosNotifyChannelAdmin::StructuredProxyPullConsume | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a default Channel have been set, this operation connects the given
          StructuredPullSupplier to it. Otherwise, the
          <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c> exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_sequence_push_consumer(EventDomain, Consumer) -> Reply</name>
      <fsummary>Connect the SequencePushConsumer to the default Channel</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Consumer    = CosNotifyComm::SequencePushConsumer</v>
        <v>Reply       = CosNotifyChannelAdmin::SequenceProxyPushSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a default Channel have been set, this operation connects the given
          SequencePushConsumer to it. Otherwise, the
          <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c> exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_sequence_pull_consumer(EventDomain, Consumer) -> Reply</name>
      <fsummary>Connect the SequencePullConsumer to the default Channel</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Consumer    = CosNotifyComm::SequencePullConsumer</v>
        <v>Reply       = CosNotifyChannelAdmin::SequenceProxyPullSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a default Channel have been set, this operation connects the given
          SequencePullConsumer to it. Otherwise, the
          <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c> exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_sequence_push_supplier(EventDomain, Supplier) -> Reply</name>
      <fsummary>Connect the SequencePushSupplier to the default Channel</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Supplier    = CosNotifyComm::SequencePushSupplier</v>
        <v>Reply       = CosNotifyChannelAdmin::SequenceProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a default Channel have been set, this operation connects the given
          SequencePushSupplier to it. Otherwise, the
          <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c> exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_sequence_pull_supplier(EventDomain, Supplier) -> Reply</name>
      <fsummary>Connect the SequencePullSupplier to the default Channel</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Supplier    = CosNotifyComm::SequencePullSupplier</v>
        <v>Reply       = CosNotifyChannelAdmin::SequenceProxyPullConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a default Channel have been set, this operation connects the given
          SequencePullSupplier to it. Otherwise, the 
          <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c> exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_push_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply</name>
      <fsummary>Connect the PushConsumer to the Channel with the given MemberID</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Consumer    = CosEventComm::PushConsumer</v>
        <v>MemberID    = long()</v>
        <v>Reply       = CosNotifyChannelAdmin::ProxyPushSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a Channel associated with the given MemberID exists within the
          target Domain, this operation connects the given PushConsumer 
          to it. Otherwise, the <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c>
          exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_pull_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply</name>
      <fsummary>Connect the PullConsumer to the Channel with the given MemberID</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Consumer    = CosEventComm::PullConsumer</v>
        <v>MemberID    = long()</v>
        <v>Reply       = CosNotifyChannelAdmin::ProxyPullSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a Channel associated with the given MemberID exists within the
          target Domain, this operation connects the given PullConsumer 
          to it. Otherwise, the <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c>
          exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_push_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply</name>
      <fsummary>Connect the PushSupplier to the Channel with the given MemberID</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Supplier    = CosEventComm::PushSupplier</v>
        <v>MemberID    = long()</v>
        <v>Reply       = CosNotifyChannelAdmin::ProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a Channel associated with the given MemberID exists within the
          target Domain, this operation connects the given PushSupplier 
          to it. Otherwise, the <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c>
          exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_pull_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply</name>
      <fsummary>Connect the PullSupplier to the Channel with the given MemberID</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Supplier    = CosEventComm::PullSupplier</v>
        <v>MemberID    = long()</v>
        <v>Reply       = CosNotifyChannelAdmin::ProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a Channel associated with the given MemberID exists within the
          target Domain, this operation connects the given PullSupplier 
          to it. Otherwise, the <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c>
          exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_structured_push_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply</name>
      <fsummary>Connect the StructuredPushConsumer to the Channel with the given MemberID</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Consumer    = CosNotifyComm::StructuredPushConsumer</v>
        <v>MemberID    = long()</v>
        <v>Reply       = CosNotifyChannelAdmin::StructuredProxyPushSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a Channel associated with the given MemberID exists within the
          target Domain, this operation connects the given StructuredPushConsumer 
          to it. Otherwise, the <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c>
          exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_structured_pull_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply</name>
      <fsummary>Connect the StructuredPullConsumer to the Channel with the given MemberID</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Consumer    = CosNotifyComm::StructuredPullConsumer</v>
        <v>MemberID    = long()</v>
        <v>Reply       = CosNotifyChannelAdmin::StructuredProxyPullSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a Channel associated with the given MemberID exists within the
          target Domain, this operation connects the given StructuredPullConsumer 
          to it. Otherwise, the <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c>
          exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_structured_push_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply</name>
      <fsummary>Connect the StructuredPushSupplier to the Channel with the given MemberID</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Supplier    = CosNotifyComm::StructuredPushSupplier</v>
        <v>MemberID    = long()</v>
        <v>Reply       = CosNotifyChannelAdmin::StructuredProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a Channel associated with the given MemberID exists within the
          target Domain, this operation connects the given StructuredPushSupplier 
          to it. Otherwise, the <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c>
          exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_structured_pull_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply</name>
      <fsummary>Connect the StructuredPullSupplier to the Channel with the given MemberID</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Supplier    = CosNotifyComm::StructuredPullSupplier</v>
        <v>MemberID    = long()</v>
        <v>Reply       = CosNotifyChannelAdmin::StructuredProxyPullConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a Channel associated with the given MemberID exists within the
          target Domain, this operation connects the given StructuredPullSupplier 
          to it. Otherwise, the <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c>
          exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_sequence_push_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply</name>
      <fsummary>Connect the SequencePushConsumer to the Channel with the given MemberID</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Consumer    = CosNotifyComm::SequencePushConsumer</v>
        <v>MemberID    = long()</v>
        <v>Reply       = CosNotifyChannelAdmin::SequenceProxyPushSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a Channel associated with the given MemberID exists within the
          target Domain, this operation connects the given SequencePushConsumer
          to it. Otherwise, the <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c>
          exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_sequence_pull_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply</name>
      <fsummary>Connect the SequencePullConsumer to the Channel with the given MemberID</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Consumer    = CosNotifyComm::SequencePullConsumer</v>
        <v>MemberID    = long()</v>
        <v>Reply       = CosNotifyChannelAdmin::SequenceProxyPullSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a Channel associated with the given MemberID exists within the
          target Domain, this operation connects the given SequencePullConsumer
          to it. Otherwise, the <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c>
          exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_sequence_push_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply</name>
      <fsummary>Connect the SequencePushSupplier to the Channel with the given MemberID</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Supplier    = CosNotifyComm::SequencePushSupplier</v>
        <v>MemberID    = long()</v>
        <v>Reply       = CosNotifyChannelAdmin::SequenceProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a Channel associated with the given MemberID exists within the
          target Domain, this operation connects the given SequencePushSupplier
          to it. Otherwise, the <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c>
          exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>connect_sequence_pull_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply</name>
      <fsummary>Connect the SequencePullSupplier to the Channel with the given MemberID</fsummary>
      <type>
        <v>EventDomain = #objref</v>
        <v>Supplier    = CosNotifyComm::SequencePullSupplier</v>
        <v>MemberID    = long()</v>
        <v>Reply       = CosNotifyChannelAdmin::SequenceProxyPullConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}</v>
      </type>
      <desc>
        <p>If a Channel associated with the given MemberID exists within the
          target Domain, this operation connects the given SequencePullSupplier
          to it. Otherwise, the <c><![CDATA[#'CosNotifyChannelAdmin_ChannelNotFound'{}]]></c>
          exception is raised.</p>
      </desc>
    </func>
  </funcs>
  
</erlref>

