20012011 Ericsson AB. All Rights Reserved. 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. CosEventDomainAdmin_EventDomain Niclas Eklund 2001-08-20 PA1
CosEventDomainAdmin_EventDomain This module implements the Event Domain interface.

To get access to all definitions include necessary files by using:

This module also exports the functions described in:

CosNotification_QoSAdmin CosNotification_AdminPropertiesAdmin
add_channel(EventDomain, Channel) -> MemberID Add a new channel to the EventDomain EventDomain = Channel = #objref MemberID = long()

Adds the given channel to the target domain. The channel must be a .

get_all_channels(EventDomain) -> MemberIDSeq Return all channel id's associated with target object EventDomain = #objref MemberIDSeq = [long()]

Returns a a sequence of all channels associated with the target object.

get_channel(EventDomain, MemberID) -> Reply Return the channel associated with the given id EventDomain = #objref MemberID = long() Reply = Channel | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}} Channel = #objref

If the target domain have a represented by the given id this channel is returned. Otherwise, an exception is raised.

remove_channel(EventDomain, MemberID) -> Reply Remove the channel associated with the given id and remove all connections of that channel EventDomain = #objref MemberID = long() Reply = ok | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a with the exists it will removed and all its terminated. Otherwise an exception is raised.

add_connection(EventDomain, Connection) -> Reply If possible, setup a connection described by the struct EventDomain = #objref Connection = 'CosEventDomainAdmin_Connection'{supplier_id=MemberID, consumer_id=MemberID, ctype=Type, notification_style=Style} MemberID = long() Type = 'ANY_EVENT' | 'STRUCTURED_EVENT' | 'SEQUENCE_EVENT' Style = 'Pull' | 'Push' Reply = ConnectionID | {'EXCEPTION', Exc} ConnectionID = long() Exc = #'CosNotifyChannelAdmin_ChannelNotFound'{} | #'CosNotifyChannelAdmin_TypeError'{} | #'CosEventDomainAdmin_AlreadyExists'{} | #'CosEventDomainAdmin_DiamondCreationForbidden'{diam=RouteSeq} | #'CosEventDomainAdmin_CycleCreationForbidden'{cyc=MemberIDSeq} RouteSeq = [MemberIDSeq] MemberIDSeq = [long()]

The Connection parameter must contain valid data to enable the target domain to setup a connection between two channels. The struct members and determines which channel should produce and consume events. which type of events and if the supplier should push or the consumer pull events is determined by and respectively.

If the target domain is not able to setup the connection the appropriate exception is raised.

get_all_connections(EventDomain) -> ConnectionIDSeq Return a sequence of all connections within the target domain EventDomain = #objref ConnectionIDSeq = [long()]

This operation returns a sequence of all connections within the target domain.

get_connection(EventDomain, ConnectionID) -> Reply Return a struct describing the connection associated with the given id within the target domain EventDomain = #objref ConnectionID = long() Reply = Connection | {'EXCEPTION', #'CosEventDomainAdmin_ConnectionNotFound'{}} Connection = 'CosEventDomainAdmin_Connection'{supplier_id=MemberID, consumer_id=MemberID, ctype=Type, notification_style=Style} MemberID = long() Type = 'ANY_EVENT' | 'STRUCTURED_EVENT' | 'SEQUENCE_EVENT' Style = 'Pull' | 'Push'

If a connection identified by the given id exists within the target domain, a which describe the connection is returned. Otherwise, an exception is raised.

remove_connection(EventDomain, ConnectionID) -> Reply Remove the connection identified by the given id from the target domain EventDomain = #objref ConnectionID = long() Reply = ok | {'EXCEPTION', #'CosEventDomainAdmin_ConnectionNotFound'{}}

If the supplied connection id exists, the connection the id represents is terminated. Otherwise, an exception is raised.

get_offer_channels(EventDomain, MemberID) -> Reply Return all id's of the channels which produce events received by the channel identified by the given id EventDomain = #objref MemberID = long() Reply = MemberIDSeq | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

This operation returns a sequence, containing the member id's of all channels within the target domain which will supply events to the channel identified by the given id. But, if no such id exists in this domain, an exception is raised.

get_subscription_channels(EventDomain, MemberID) -> Reply Return all id's of the channels which consume events supplied by the channel identified by the given id EventDomain = #objref Reply = MemberIDSeq | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

This operations behaves like ; the difference is that the id's returned identifies channels which will consume events supplied by the channel associated with the given id.

destroy(EventDomain) -> ok Destroy the event domain and all connections within it EventDomain = #objref

Calling this operation will terminate all connections within the target domain. The domain will terminate but all channels will not be affected.

get_cycles(EventDomain) -> RouteSeq Return a list of all cycles which exists within the target domain EventDomain = #objref RouteSeq = [MemberIDSeq] MemberIDSeq = [long()]

Returns a list of all cycles within the target domain.

get_diamonds(EventDomain) -> DiamondSeq Return a list of all diamonds which exists within the target domain EventDomain = #objref DiamondSeq = [RouteSeq] RouteSeq = [MemberIDSeq] MemberIDSeq = [long()]

Returns a list of all diamonds within the target domain

set_default_consumer_channel(EventDomain, MemberID) -> Reply Set the channel represented by the given id as default for supplier clients EventDomain = #objref Reply = MemberID | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}} MemberID = long()

If the given id represents a channel within the target domain, this channel will be used when connection a supplier client without specifying a certain channel. If no such channel exists an exceptions is raised.

set_default_supplier_channel(EventDomain, MemberID) -> Reply Set the channel represented by the given id as default for supplier clients EventDomain = #objref Reply = MemberID | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}} MemberID = long()

If the given id represents a channel within the target domain, this channel will be used when connection a consumer client without specifying a certain channel. If no such channel exists an exceptions is raised.

connect_push_consumer(EventDomain, Consumer) -> Reply Connect the PushConsumer to the default Channel EventDomain = #objref Consumer = CosEventComm::PushConsumer Reply = CosNotifyChannelAdmin::ProxyPushSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a default Channel have been set, this operation connects the given PushConsumer to it. Otherwise, the exception is raised.

connect_pull_consumer(EventDomain, Consumer) -> Reply Connect the PullConsumer to the default Channel EventDomain = #objref Consumer = CosEventComm::PullConsumer Reply = CosNotifyChannelAdmin::ProxyPullSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a default Channel have been set, this operation connects the given PullConsumer to it. Otherwise, the exception is raised.

connect_push_supplier(EventDomain, Supplier) -> Reply Connect the PushSupplier to the default Channel EventDomain = #objref Supplier = CosEventComm::PushSupplier Reply = CosNotifyChannelAdmin::ProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a default Channel have been set, this operation connects the given PushSupplier to it. Otherwise, the exception is raised.

connect_pull_supplier(EventDomain, Supplier) -> Reply Connect the PullSupplier to the default Channel EventDomain = #objref Supplier = CosEventComm::PullSupplier Reply = CosNotifyChannelAdmin::ProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a default Channel have been set, this operation connects the given PullSupplier to it. Otherwise, the exception is raised.

connect_structured_push_consumer(EventDomain, Consumer) -> Reply Connect the StructuredPushConsumer to the default Channel EventDomain = #objref Consumer = CosNotifyComm::StructuredPushConsumer Reply = CosNotifyChannelAdmin::StructuredProxyPushSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a default Channel have been set, this operation connects the given StructuredPushConsumer to it. Otherwise, the exception is raised.

connect_structured_pull_consumer(EventDomain, Consumer) -> Reply Connect the StructuredPullConsumer to the default Channel EventDomain = #objref Consumer = CosNotifyComm::StructuredPullConsumer Reply = CosNotifyChannelAdmin::StructuredProxyPullSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a default Channel have been set, this operation connects the given StructuredPullConsumer to it. Otherwise, the exception is raised.

connect_structured_push_supplier(EventDomain, Supplier) -> Reply Connect the StructuredPushSupplier to the default Channel EventDomain = #objref Supplier = CosNotifyComm::StructuredPushSupplier Reply = CosNotifyChannelAdmin::StructuredProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a default Channel have been set, this operation connects the given StructuredPushSupplier to it. Otherwise, the exception is raised.

connect_structured_pull_supplier(EventDomain, Supplier) -> Reply Connect the StructuredPullSupplier to the default Channel EventDomain = #objref Supplier = CosNotifyComm::StructuredPullSupplier Reply = CosNotifyChannelAdmin::StructuredProxyPullConsume | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a default Channel have been set, this operation connects the given StructuredPullSupplier to it. Otherwise, the exception is raised.

connect_sequence_push_consumer(EventDomain, Consumer) -> Reply Connect the SequencePushConsumer to the default Channel EventDomain = #objref Consumer = CosNotifyComm::SequencePushConsumer Reply = CosNotifyChannelAdmin::SequenceProxyPushSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a default Channel have been set, this operation connects the given SequencePushConsumer to it. Otherwise, the exception is raised.

connect_sequence_pull_consumer(EventDomain, Consumer) -> Reply Connect the SequencePullConsumer to the default Channel EventDomain = #objref Consumer = CosNotifyComm::SequencePullConsumer Reply = CosNotifyChannelAdmin::SequenceProxyPullSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a default Channel have been set, this operation connects the given SequencePullConsumer to it. Otherwise, the exception is raised.

connect_sequence_push_supplier(EventDomain, Supplier) -> Reply Connect the SequencePushSupplier to the default Channel EventDomain = #objref Supplier = CosNotifyComm::SequencePushSupplier Reply = CosNotifyChannelAdmin::SequenceProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a default Channel have been set, this operation connects the given SequencePushSupplier to it. Otherwise, the exception is raised.

connect_sequence_pull_supplier(EventDomain, Supplier) -> Reply Connect the SequencePullSupplier to the default Channel EventDomain = #objref Supplier = CosNotifyComm::SequencePullSupplier Reply = CosNotifyChannelAdmin::SequenceProxyPullConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a default Channel have been set, this operation connects the given SequencePullSupplier to it. Otherwise, the exception is raised.

connect_push_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply Connect the PushConsumer to the Channel with the given MemberID EventDomain = #objref Consumer = CosEventComm::PushConsumer MemberID = long() Reply = CosNotifyChannelAdmin::ProxyPushSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a Channel associated with the given MemberID exists within the target Domain, this operation connects the given PushConsumer to it. Otherwise, the exception is raised.

connect_pull_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply Connect the PullConsumer to the Channel with the given MemberID EventDomain = #objref Consumer = CosEventComm::PullConsumer MemberID = long() Reply = CosNotifyChannelAdmin::ProxyPullSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a Channel associated with the given MemberID exists within the target Domain, this operation connects the given PullConsumer to it. Otherwise, the exception is raised.

connect_push_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply Connect the PushSupplier to the Channel with the given MemberID EventDomain = #objref Supplier = CosEventComm::PushSupplier MemberID = long() Reply = CosNotifyChannelAdmin::ProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a Channel associated with the given MemberID exists within the target Domain, this operation connects the given PushSupplier to it. Otherwise, the exception is raised.

connect_pull_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply Connect the PullSupplier to the Channel with the given MemberID EventDomain = #objref Supplier = CosEventComm::PullSupplier MemberID = long() Reply = CosNotifyChannelAdmin::ProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a Channel associated with the given MemberID exists within the target Domain, this operation connects the given PullSupplier to it. Otherwise, the exception is raised.

connect_structured_push_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply Connect the StructuredPushConsumer to the Channel with the given MemberID EventDomain = #objref Consumer = CosNotifyComm::StructuredPushConsumer MemberID = long() Reply = CosNotifyChannelAdmin::StructuredProxyPushSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a Channel associated with the given MemberID exists within the target Domain, this operation connects the given StructuredPushConsumer to it. Otherwise, the exception is raised.

connect_structured_pull_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply Connect the StructuredPullConsumer to the Channel with the given MemberID EventDomain = #objref Consumer = CosNotifyComm::StructuredPullConsumer MemberID = long() Reply = CosNotifyChannelAdmin::StructuredProxyPullSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a Channel associated with the given MemberID exists within the target Domain, this operation connects the given StructuredPullConsumer to it. Otherwise, the exception is raised.

connect_structured_push_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply Connect the StructuredPushSupplier to the Channel with the given MemberID EventDomain = #objref Supplier = CosNotifyComm::StructuredPushSupplier MemberID = long() Reply = CosNotifyChannelAdmin::StructuredProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a Channel associated with the given MemberID exists within the target Domain, this operation connects the given StructuredPushSupplier to it. Otherwise, the exception is raised.

connect_structured_pull_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply Connect the StructuredPullSupplier to the Channel with the given MemberID EventDomain = #objref Supplier = CosNotifyComm::StructuredPullSupplier MemberID = long() Reply = CosNotifyChannelAdmin::StructuredProxyPullConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a Channel associated with the given MemberID exists within the target Domain, this operation connects the given StructuredPullSupplier to it. Otherwise, the exception is raised.

connect_sequence_push_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply Connect the SequencePushConsumer to the Channel with the given MemberID EventDomain = #objref Consumer = CosNotifyComm::SequencePushConsumer MemberID = long() Reply = CosNotifyChannelAdmin::SequenceProxyPushSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a Channel associated with the given MemberID exists within the target Domain, this operation connects the given SequencePushConsumer to it. Otherwise, the exception is raised.

connect_sequence_pull_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply Connect the SequencePullConsumer to the Channel with the given MemberID EventDomain = #objref Consumer = CosNotifyComm::SequencePullConsumer MemberID = long() Reply = CosNotifyChannelAdmin::SequenceProxyPullSupplier | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a Channel associated with the given MemberID exists within the target Domain, this operation connects the given SequencePullConsumer to it. Otherwise, the exception is raised.

connect_sequence_push_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply Connect the SequencePushSupplier to the Channel with the given MemberID EventDomain = #objref Supplier = CosNotifyComm::SequencePushSupplier MemberID = long() Reply = CosNotifyChannelAdmin::SequenceProxyPushConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a Channel associated with the given MemberID exists within the target Domain, this operation connects the given SequencePushSupplier to it. Otherwise, the exception is raised.

connect_sequence_pull_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply Connect the SequencePullSupplier to the Channel with the given MemberID EventDomain = #objref Supplier = CosNotifyComm::SequencePullSupplier MemberID = long() Reply = CosNotifyChannelAdmin::SequenceProxyPullConsumer | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a Channel associated with the given MemberID exists within the target Domain, this operation connects the given SequencePullSupplier to it. Otherwise, the exception is raised.