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

<erlref>
  <header>
    <copyright>
      <year>2000</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>CosNotifyChannelAdmin_EventChannel</title>
    <prepared></prepared>
    <docno></docno>
    <checked></checked>
    <date>2000-02-01</date>
    <rev>1.0</rev>
  </header>
  <module>CosNotifyChannelAdmin_EventChannel</module>
  <modulesummary>This module implements the OMG  CosNotifyChannelAdmin::EventChannel interface.</modulesummary>
  <description>
    <p>To get access to the record definitions for the structures use:      <br></br>
<c>-include_lib("cosNotification/include/*.hrl").</c></p>
    <p>This module also exports the functions described in:</p>
    <list type="bulleted">
      <item>
        <p><seealso marker="CosNotification_QoSAdmin">CosNotification_QoSAdmin</seealso></p>
      </item>
      <item>
        <p><seealso marker="CosNotification_AdminPropertiesAdmin">CosNotification_AdminPropertiesAdmin</seealso></p>
      </item>
    </list>
  </description>
  <funcs>
    <func>
      <name>_get_MyFactory(Channel) -> ChannelFactory</name>
      <fsummary>Return the factory object which created the target object</fsummary>
      <type>
        <v>Channel = #objref</v>
        <v>ChannelFactory = #objref</v>
      </type>
      <desc>
        <p>This readonly attribute maintains the reference of the event channel
          factory that created the target channel.</p>
      </desc>
    </func>
    <func>
      <name>_get_default_consumer_admin(Channel) -> ConsumerAdmin</name>
      <fsummary>Return the default consumer admin associated with the target object</fsummary>
      <type>
        <v>Channel = #objref</v>
        <v>ConsumerAdmin = #objref</v>
      </type>
      <desc>
        <p>This is a readonly attribute which maintains a reference to a default
          <c>ConsumerAdmin</c> object associated with the target object.</p>
      </desc>
    </func>
    <func>
      <name>_get_default_supplier_admin(Channel) -> SupplierAdmin</name>
      <fsummary>Return the default supplier admin associated with the target object</fsummary>
      <type>
        <v>Channel = #objref</v>
        <v>SupplierAdmin = #objref</v>
      </type>
      <desc>
        <p>This is a readonly attribute which maintains a reference to a default
          <c>SupplierAdmin</c> object associated with the target object.</p>
      </desc>
    </func>
    <func>
      <name>_get_default_filter_factory(Channel) -> FilterFactory</name>
      <fsummary>Return the default filter factory associated with the target object</fsummary>
      <type>
        <v>Channel = #objref</v>
        <v>FilterFactory = #objref</v>
      </type>
      <desc>
        <p>The default <c>FilterFactory</c> associated with the target channel
          is maintained by this readonly attribute.</p>
      </desc>
    </func>
    <func>
      <name>new_for_consumers(Channel, OpType) -> Return</name>
      <fsummary>Create a new <c>ConsumerAdmin</c>object</fsummary>
      <type>
        <v>Channel = #objref</v>
        <v>OpType = 'AND_OP' | 'OR_OP'</v>
        <v>Return = {ConsumerAdmin, AdminID}</v>
        <v>ConsumerAdmin = #objref</v>
        <v>AdminID = long()</v>
      </type>
      <desc>
        <p>This operation creates a new instance of a <c>ConsumerAdmin</c> and supplies
          an Id which may be used when invoking other operations exported by this module.
          The returned object will inherit the Quality of Service properties of the
          target channel.</p>
      </desc>
    </func>
    <func>
      <name>for_consumers(Channel) -> ConsumerAdmin</name>
      <fsummary>Create a new <c>ConsumerAdmin</c>object</fsummary>
      <type>
        <v>Channel = #objref</v>
        <v>ConsumerAdmin = #objref</v>
      </type>
      <desc>
        <p>A new new instance of a <c>ConsumerAdmin</c> object is created but no
          Id is returned. The returned object's operation type, i.e., <c>'AND_OP'</c> or <c>'OR_OP'</c>, 
          will be set to the value of the configuration parameter <c>filterOp</c>.
          The target object's Quality of Service properties will be inherited by the
          returned <c>ConsumerAdmin</c>.</p>
      </desc>
    </func>
    <func>
      <name>new_for_suppliers(Channel, OpType) -> Return</name>
      <fsummary>Create a new <c>SupplierAdmin</c>object</fsummary>
      <type>
        <v>Channel = #objref</v>
        <v>OpType = 'AND_OP' | 'OR_OP'</v>
        <v>Return = {SupplierAdmin, AdminID}</v>
        <v>SupplierAdmin = #objref</v>
        <v>AdminID = long()</v>
      </type>
      <desc>
        <p>Enables us to create a new instance of a <c>SupplierAdmin</c>. An Id, which
          may be used when invoking other operations exported by this module, is also
          returned. The current Quality of Service settings associated with the target
          object will be inherited by the <c>SupplierAdmin</c>.</p>
      </desc>
    </func>
    <func>
      <name>for_suppliers(Channel) -> SupplierAdmin</name>
      <fsummary>Create a new <c>SupplierAdmin</c>object</fsummary>
      <type>
        <v>Channel = #objref</v>
        <v>SupplierAdmin = #objref</v>
      </type>
      <desc>
        <p>To create a new <c>SupplierAdmin</c> with the target object's current 
          Quality of Service settings we can use this function. The returned object's
          operation type (<c>'AND_OP'</c> or <c>'OR_OP'</c>) will be determined by the
          configuration variable <c>filterOp</c>.</p>
      </desc>
    </func>
    <func>
      <name>get_consumeradmin(Channel, AdminID) -> ConsumerAdmin</name>
      <fsummary>Return the <c>ConsumerAdmin</c>matching AdminID</fsummary>
      <type>
        <v>Channel = #objref</v>
        <v>AdminID = long()</v>
        <v>ConsumerAdmin = #objref | {'EXCEPTION', #'CosNotifyChannelAdmin_AdminNotFound'{}}</v>
      </type>
      <desc>
        <p>If the given Id is associated with a <c>ConsumerAdmin</c> the object reference 
          is returned. If such association never existed or the <c>ConsumerAdmin</c>
          have terminated an exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>get_supplieradmin(Channel, AdminID) -> SupplierAdmin</name>
      <fsummary>Return the <c>SupplierAdmin</c>matching AdminID</fsummary>
      <type>
        <v>Channel = #objref</v>
        <v>AdminID = long()</v>
        <v>SupplierAdmin = #objref | {'EXCEPTION', #'CosNotifyChannelAdmin_AdminNotFound'{}}</v>
      </type>
      <desc>
        <p>Equal to the operation <c>get_consumeradmin/2</c> but a reference to 
          a <c>SupplierAdmin</c> is returned.</p>
      </desc>
    </func>
    <func>
      <name>get_all_consumeradmins(Channel) -> Reply</name>
      <fsummary>Return a list of all <c>ConsumerAdmins</c>, currently active, Id:s</fsummary>
      <type>
        <v>Channel = #objref</v>
        <v>Reply = [AdminID]</v>
        <v>AdminID = long()</v>
      </type>
      <desc>
        <p>To get access to all <c>ConsumerAdmin</c> Id's created by the target object, and still
          alive, this operation could be invoked.</p>
      </desc>
    </func>
    <func>
      <name>get_all_supplieradmins(Channel) -> Reply</name>
      <fsummary>Return a list of all <c>SupplierAdmins</c>, currently active, Id:s</fsummary>
      <type>
        <v>Channel = #objref</v>
        <v>Reply = [AdminID]</v>
        <v>AdminID = long()</v>
      </type>
      <desc>
        <p>Equal to the operation <c>get_all_consumeradmins/1</c> but returns
          a list of all <c>SupplierAdmin</c> object ID's.</p>
      </desc>
    </func>
    <func>
      <name>destroy(Channel) -> ok</name>
      <fsummary>Terminate the channel and all its children</fsummary>
      <type>
        <v>Channel = #objref</v>
      </type>
      <desc>
        <p>The <c>destroy</c> operation will terminate the target channel and
          all associated Admin objects.</p>
      </desc>
    </func>
  </funcs>
  
</erlref>

