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

<erlref>
  <header>
    <copyright>
      <year>2000</year>
      <year>2013</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>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>

