<?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>CosEventDomainAdmin_EventDomainFactory</title>
    <prepared>Niclas Eklund</prepared>
    <responsible>Niclas Eklund</responsible>
    <docno></docno>
    <approved>Niclas Eklund</approved>
    <checked></checked>
    <date>2001-08-20</date>
    <rev>PA1</rev>
  </header>
  <module>CosEventDomainAdmin_EventDomainFactory</module>
  <modulesummary>This module implements an Event Domain Factory interface, which  is used to create new Event Domain instances.</modulesummary>
  <description>
    <p>To get access to all definitions include necessary <c><![CDATA[hrl]]></c> files by using:<br></br><c><![CDATA[-include_lib("cosEventDomain/include/*.hrl").]]></c></p>
  </description>
  <funcs>
    <func>
      <name>create_event_domain(Factory, QoS, Admin) -> Reply</name>
      <fsummary>Create a new ConsumerAdmin object</fsummary>
      <type>
        <v>Factory     = #objref</v>
        <v>QoS         = CosNotification::QoSProperties</v>
        <v>Admin       = CosNotification::AdminProperties</v>
        <v>Reply       = {EventDomain, DomainID} |  {'EXCEPTION', #'CosNotification_UnsupportedQoS'{}} | {'EXCEPTION', #'CosNotification_UnsupportedAdmin'{}}</v>
        <v>EventDomain = #objref</v>
      </type>
      <desc>
        <p>To create a new EventDomain this operation is used. If it is not
          possible to support the given <c><![CDATA[QoSProperties]]></c> or <c><![CDATA[AdminProperties]]></c>
          an exception is raised, which list the properties not supported. For more
          information see the <c><![CDATA[cosNotification]]></c> user's guide.</p>
      </desc>
    </func>
    <func>
      <name>get_all_domains(Factory) -> DomainIDSeq</name>
      <fsummary>Return a DomainID sequence of all domains associated with the target object</fsummary>
      <type>
        <v>Factory     = #objref</v>
        <v>DomainIDSeq = [long()]</v>
      </type>
      <desc>
        <p>This function returns a DomainID sequence of all domains associated with the
          target object.</p>
      </desc>
    </func>
    <func>
      <name>get_event_domain(Factory, DomainID) -> Reply</name>
      <fsummary>Return the domain associated with the given id</fsummary>
      <type>
        <v>Factory     = #objref</v>
        <v>DomainID    = long()</v>
        <v>Reply       = EventDomain | {'EXCEPTION', #'CosEventDomainAdmin_DomainNotFound'{}}</v>
        <v>EventDomain = #objref</v>
      </type>
      <desc>
        <p>This operation returns the EventDomain object associated with the
          given DomainID. If no such binding exists an exception is raised.</p>
      </desc>
    </func>
  </funcs>
  
</erlref>

