<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd">

<erlref>
  <header>
    <copyright>
      <year>2000</year>
      <year>2011</year>
      <holder>Ericsson AB, All Rights Reserved</holder>
    </copyright>
    <legalnotice>
  The contents of this file are subject to the Erlang Public License,
  Version 1.1, (the "License"); you may not use this file except in
  compliance with the License. You should have received a copy of the
  Erlang Public License along with this software. If not, it can be
  retrieved online at http://www.erlang.org/.

  Software distributed under the License is distributed on an "AS IS"
  basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
  the License for the specific language governing rights and limitations
  under the License.

  The Initial Developer of the Original Code is Ericsson AB.
    </legalnotice>

    <title>CosNotifyChannelAdmin_SupplierAdmin</title>
    <prepared></prepared>
    <responsible></responsible>
    <docno></docno>
    <approved>Niclas Eklund</approved>
    <checked></checked>
    <date>2000-02-01</date>
    <rev>1.0</rev>
  </header>
  <module>CosNotifyChannelAdmin_SupplierAdmin</module>
  <modulesummary>This module implements the OMG CosNotifyChannelAdmin::SupplierAdmin 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="CosNotifyComm_NotifySubscribe">CosNotifyComm_NotifyPublish</seealso></p>
      </item>
      <item>
        <p><seealso marker="CosNotifyFilter_FilterAdmin">CosNotifyFilter_FilterAdmin</seealso></p>
      </item>
    </list>
  </description>
  <funcs>
    <func>
      <name>_get_MyID(SupplierAdmin) -> AdminID</name>
      <fsummary>Return the objects Id</fsummary>
      <type>
        <v>SupplierAdmin = #objref</v>
        <v>AdminID = long()</v>
      </type>
      <desc>
        <p>When a <c>SupplierAdmin</c> object is created it is given a unique Id
          by the creating channel. This readonly attribute maintains this Id.</p>
      </desc>
    </func>
    <func>
      <name>_get_MyChannel(SupplierAdmin) -> Channel</name>
      <fsummary>Return the objects associated channel</fsummary>
      <type>
        <v>SupplierAdmin = #objref</v>
        <v>Channel = #objref</v>
      </type>
      <desc>
        <p>The creating channel's reference is maintained by this readonly attribute.</p>
      </desc>
    </func>
    <func>
      <name>_get_MyOperator(SupplierAdmin) -> OpType</name>
      <fsummary>Return the filter scheme</fsummary>
      <type>
        <v>SupplierAdmin = #objref</v>
        <v>OpType = 'AND_OP' | 'OR_OP'</v>
      </type>
      <desc>
        <p>The Operation Type, which determines the semantics the target object will
          use for any associated <c>Filters</c>, is maintained by this readonly attribute.</p>
      </desc>
    </func>
    <func>
      <name>_get_pull_consumers(SupplierAdmin) -> ProxyIDSeq</name>
      <fsummary>Return all associated pull consumers Id:s</fsummary>
      <type>
        <v>SupplierAdmin = #objref</v>
        <v>ProxyIDSeq = [ProxyID]</v>
        <v>ProxyID = long()</v>
      </type>
      <desc>
        <p>A sequence of all associated <c>PullProxy</c> Id's is maintained by this
          readonly attribute.</p>
      </desc>
    </func>
    <func>
      <name>_get_push_consumers(SupplierAdmin) -> ProxyIDSeq</name>
      <fsummary>Return all associated push consumers Id:s</fsummary>
      <type>
        <v>SupplierAdmin = #objref</v>
        <v>ProxyIDSeq = [ProxyID]</v>
        <v>ProxyID = long()</v>
      </type>
      <desc>
        <p>This operation returns all <c>PushProxy</c> Id's created by the target
          object.</p>
      </desc>
    </func>
    <func>
      <name>get_proxy_consumer(SupplierAdmin, ProxyID) -> Reply</name>
      <fsummary>Return the Proxy which corresponds to the given Id</fsummary>
      <type>
        <v>SupplierAdmin = #objref</v>
        <v>ProxyID = long()</v>
        <v>Reply = Proxy |  {'EXCEPTION', #'CosNotifyChannelAdmin_ProxyNotFound'{}}</v>
        <v>Proxy = #objref</v>
      </type>
      <desc>
        <p>The Proxy which corresponds to the given Id is returned by this operation.</p>
      </desc>
    </func>
    <func>
      <name>obtain_notification_pull_consumer(SupplierAdmin, SupplierType) -> Reply</name>
      <fsummary>Create a new proxy</fsummary>
      <type>
        <v>SupplierAdmin = #objref</v>
        <v>SupplierType = 'ANY_EVENT' | 'STRUCTURED_EVENT' | 'SEQUENCE_EVENT'</v>
        <v>Reply = {Proxy, ProxyID}</v>
        <v>Proxy = #objref</v>
        <v>ProxyID = long()</v>
      </type>
      <desc>
        <p>This operation creates a new proxy and returns its object reference along with its ID.
          The <c>SupplierType</c> parameter determines the event type accepted by the proxy.</p>
      </desc>
    </func>
    <func>
      <name>obtain_pull_consumer(SupplierAdmin) -> Proxy</name>
      <fsummary>Create a new proxy</fsummary>
      <type>
        <v>SupplierAdmin = #objref</v>
        <v>Proxy = #objref</v>
      </type>
      <desc>
        <p>A proxy which accepts <c>#any{}</c> events is created by this operation.</p>
      </desc>
    </func>
    <func>
      <name>obtain_notification_push_consumer(SupplierAdmin, SupplierType) -> Reply</name>
      <fsummary>Create a new proxy</fsummary>
      <type>
        <v>SupplierAdmin = #objref</v>
        <v>SupplierType = 'ANY_EVENT' | 'STRUCTURED_EVENT' | 'SEQUENCE_EVENT'</v>
        <v>Reply = {Proxy, ProxyID}</v>
        <v>Proxy = #objref</v>
        <v>ProxyID = long()</v>
      </type>
      <desc>
        <p>Determined by the <c>SupplierType</c> parameter a compliant proxy is created and
          its object reference along with its Id is returned by this operation.</p>
      </desc>
    </func>
    <func>
      <name>obtain_push_consumer(SupplierAdmin) -> Proxy</name>
      <fsummary>Create a new proxy</fsummary>
      <type>
        <v>SupplierAdmin = #objref</v>
        <v>Proxy = #objref</v>
      </type>
      <desc>
        <p>A proxy which accepts <c>#any{}</c> events is created by this operation.</p>
      </desc>
    </func>
    <func>
      <name>destroy(SupplierAdmin) -> ok</name>
      <fsummary>Terminate the target object</fsummary>
      <type>
        <v>SupplierAdmin = #objref</v>
      </type>
      <desc>
        <p>This operation terminates the SupplierAdmin object and notifies the creating channel
          that the target object no longer is active.</p>
      </desc>
    </func>
  </funcs>
  
</erlref>

