<?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.

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

    <title>cosEventApp</title>
    <prepared>Niclas Eklund</prepared>
    <responsible>Niclas Eklund</responsible>
    <docno></docno>
    <approved>Niclas Eklund</approved>
    <checked></checked>
    <date>2000-01-31</date>
    <rev>PA1</rev>
    <file>cosEventApp.xml</file>
  </header>
  <module>cosEventApp</module>
  <modulesummary>The main module of the cosEvent application.</modulesummary>
  <description>
    <p>To get access to the record definitions for the structures use:<br></br><c><![CDATA[-include_lib("cosEvent/include/*.hrl").]]></c></p>
    <p>This module contains the functions for starting and stopping the application.</p>
  </description>
  <funcs>
    <func>
      <name>install() -> Return</name>
      <fsummary>Install the cosEvent application</fsummary>
      <type>
        <v>Return = ok | {'EXCEPTION', E} | {'EXIT', R}</v>
      </type>
      <desc>
        <p>This operation installs the cosEvent application.</p>
      </desc>
    </func>
    <func>
      <name>uninstall() -> Return</name>
      <fsummary>Uninstall the cosEvent application</fsummary>
      <type>
        <v>Return = ok | {'EXCEPTION', E} | {'EXIT', R}</v>
      </type>
      <desc>
        <p>This operation uninstalls the cosEvent application.</p>
      </desc>
    </func>
    <func>
      <name>start() -> Return</name>
      <fsummary>Start the cosEvent application</fsummary>
      <type>
        <v>Return = ok | {error, Reason}</v>
      </type>
      <desc>
        <p>This operation starts the cosEvent application.</p>
      </desc>
    </func>
    <func>
      <name>stop() -> Return</name>
      <fsummary>Stop the cosEvent application</fsummary>
      <type>
        <v>Return = ok | {error, Reason}</v>
      </type>
      <desc>
        <p>This operation stops the cosEvent application.</p>
      </desc>
    </func>
    <func>
      <name>start_channel() -> Channel</name>
      <fsummary>Start a channel with default settings</fsummary>
      <type>
        <v>Channel = #objref</v>
      </type>
      <desc>
        <p>This operation creates a new instance of a
          <seealso marker="CosEventChannelAdmin_EventChannel">Event Channel</seealso>
          using the default settings.</p>
      </desc>
    </func>
    <func>
      <name>start_channel(Options) -> Channel</name>
      <fsummary>Start a channel with settings defined by the given options</fsummary>
      <type>
        <v>Options = [Option]</v>
        <v>Option = {pull_interval, Seconds} | {typecheck, Boolean} | {maxEvents, Integer} | {blocking, Boolean}</v>
        <v>Channel = #objref</v>
      </type>
      <desc>
        <p>This operation creates a new instance of a
          <seealso marker="CosEventChannelAdmin_EventChannel">Event Channel</seealso></p>
        <p></p>
        <list type="bulleted">
          <item><c><![CDATA[{pull_interval, Seconds}]]></c> - determine how often Proxy Pull 
           Consumers will check for new events with the client application. The
           default value is 20 seconds.</item>
          <item><c><![CDATA[{typecheck, Boolean}]]></c> - if this option is set to true the
           proxies will check if the supplied client object is of correct type.
           The default value is false.</item>
          <item><c><![CDATA[{maxEvents, Integer}]]></c> - this option determine how many events
           the <c><![CDATA[ProxyPullSuppliers]]></c> will store before discarding events.
           If the limit is reached events will be discarded in any order.
           The default value is 300.</item>
          <item><c><![CDATA[{blocking, Boolean}]]></c> - this option determine the behavior of
           the channel when handling events internally. If set to <c><![CDATA[true]]></c> the
           risk of a single event supplier floods the system is reduced, but
           the performance may also be reduced.
           The default value is <c><![CDATA[true]]></c>.</item>
        </list>
      </desc>
    </func>
    <func>
      <name>start_channel_link() -> Channel</name>
      <fsummary>Start a channel, which is linked to the invoking process,  with default settings</fsummary>
      <type>
        <v>Channel = #objref</v>
      </type>
      <desc>
        <p>This operation creates a new instance of a
          <seealso marker="CosEventChannelAdmin_EventChannel">Event Channel</seealso>,
          which is linked to the invoking process, using the default settings.</p>
      </desc>
    </func>
    <func>
      <name>start_channel_link(Options) -> Channel</name>
      <fsummary>Start a channel, which is linked to the invoking process, with  settings defined by the given options</fsummary>
      <type>
        <v>Options = [Option]</v>
        <v>Option = {pull_interval, Seconds} | {typecheck, Boolean} | {maxEvents, Integer} | {blocking, Boolean}</v>
        <v>Channel = #objref</v>
      </type>
      <desc>
        <p>This operation creates a new instance of a
          <seealso marker="CosEventChannelAdmin_EventChannel">Event Channel</seealso>,
          which is linked to the invoking process, with settings defined by the
          given options. Allowed options are the same as for 
          <c><![CDATA[cosEventApp:start_channel/1]]></c>.</p>
      </desc>
    </func>
    <func>
      <name>stop_channel(Channel) -> Reply</name>
      <fsummary>Terminate the target object</fsummary>
      <type>
        <v>Channel = #objref</v>
        <v>Reply = ok | {'EXCEPTION', E}</v>
      </type>
      <desc>
        <p>This operation stop the target event channel.</p>
      </desc>
    </func>
  </funcs>
  
</erlref>

