<?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>CosNotifyFilter_FilterAdmin</title>
    <prepared>Niclas Eklund</prepared>
    <responsible>Niclas Eklund</responsible>
    <docno></docno>
    <approved>Niclas Eklund</approved>
    <checked></checked>
    <date>2000-02-01</date>
    <rev>1.0</rev>
  </header>
  <module>CosNotifyFilter_FilterAdmin</module>
  <modulesummary>This module implements the OMG CosNotifyFilter::FilterAdmin 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>All objects, which inherit this interface, export functions described in this module.</p>
  </description>
  <funcs>
    <func>
      <name>add_filter(Object, Filter) -> FilterID</name>
      <fsummary>Add a new filter to the target object</fsummary>
      <type>
        <v>Object = #objref</v>
        <v>Filter = #objref</v>
        <v>FilterID = long()</v>
      </type>
      <desc>
        <p>This operation connects a new <c>Filter</c> to the target object. This <c>Filter</c> will, together
          with other associated <c>Filters</c>, be used to select events to forward. A unique Id is
          returned and should be used if we no longer want to consult the given <c>Filter</c>.</p>
      </desc>
    </func>
    <func>
      <name>remove_filter(Object, FilterID) -> ok</name>
      <fsummary>Remove a filter associated with the target object</fsummary>
      <type>
        <v>Object = #objref</v>
        <v>FilterID = long()</v>
      </type>
      <desc>
        <p>If a certain <c>Filter</c> no longer should be associated with the target object
          this operation must be used. Events will no longer be tested against the <c>Filter</c>
          associated with the given Id.</p>
      </desc>
    </func>
    <func>
      <name>get_filter(Object, FilterID) -> Reply</name>
      <fsummary>Return the filter with the given Id</fsummary>
      <type>
        <v>Object = #objref</v>
        <v>FilterID = long()</v>
        <v>Reply = Filter | {'EXCEPTION', #'CosNotifyFilter_FilterNotFound'{}}</v>
        <v>Filter = #objref</v>
      </type>
      <desc>
        <p>If the target object is associated with a <c>Filter</c> matching the given Id the
          reference will be returned. If no such <c>Filter</c> is known by the target object
          an exception is raised.</p>
      </desc>
    </func>
    <func>
      <name>get_all_filters(Object) -> FilterIDSeq</name>
      <fsummary>Return a list of all filter Id:s associated with the target object</fsummary>
      <type>
        <v>Object = #objref</v>
        <v>FilterIDSeq = [FilterID]</v>
        <v>FilterID = long()</v>
      </type>
      <desc>
        <p>Id's for all <c>Filter</c> objects associated with the target object is
          returned by this operation.</p>
      </desc>
    </func>
    <func>
      <name>remove_all_filters(Object) -> ok</name>
      <fsummary>Remove all filters from the target object</fsummary>
      <type>
        <v>Object = #objref</v>
      </type>
      <desc>
        <p>If we want to remove all <c>Filters</c> associated with the target object we can use this function.</p>
      </desc>
    </func>
  </funcs>
  
</erlref>

