User's Guide
Reference Manual
Release Notes
PDF
Top

cosEventDomain
Reference Manual
Version 1.2

Expand All
Contract All

Table of Contents

- cosEventDomainApp
  - Top of manual page
  - install/0
  - uninstall/0
  - start/0
  - stop/0
  - start_factory/0
  - start_factory/1
  - start_factory_link/0
  - start_factory_link/1
  - stop_factory/1
- CosEventDomainAdmin
  - Top of manual page
  - 'CycleDetection'/0
  - 'AuthorizeCycles'/0
  - 'ForbidCycles'/0
  - 'DiamondDetection'/0
  - 'AuthorizeDiamonds'/0
  - 'ForbidDiamonds'/0
- CosEventDomainAdmin_EventDomainFactory
  - Top of manual page
  - create_event_domain/3
  - get_all_domains/1
  - get_event_domain/2
- CosEventDomainAdmin_EventDomain
  - Top of manual page
  - add_channel/2
  - get_all_channels/1
  - get_channel/2
  - remove_channel/2
  - add_connection/2
  - get_all_connections/1
  - get_connection/2
  - remove_connection/2
  - get_offer_channels/2
  - get_subscription_channels/2
  - destroy/1
  - get_cycles/1
  - get_diamonds/1
  - set_default_consumer_channel/2
  - set_default_supplier_channel/2
  - connect_push_consumer/2
  - connect_pull_consumer/2
  - connect_push_supplier/2
  - connect_pull_supplier/2
  - connect_structured_push_consumer/2
  - connect_structured_pull_consumer/2
  - connect_structured_push_supplier/2
  - connect_structured_pull_supplier/2
  - connect_sequence_push_consumer/2
  - connect_sequence_pull_consumer/2
  - connect_sequence_push_supplier/2
  - connect_sequence_pull_supplier/2
  - connect_push_consumer_with_id/3
  - connect_pull_consumer_with_id/3
  - connect_push_supplier_with_id/3
  - connect_pull_supplier_with_id/3
  - connect_structured_push_consumer_with_id/3
  - connect_structured_pull_consumer_with_id/3
  - connect_structured_push_supplier_with_id/3
  - connect_structured_pull_supplier_with_id/3
  - connect_sequence_push_consumer_with_id/3
  - connect_sequence_pull_consumer_with_id/3
  - connect_sequence_push_supplier_with_id/3
  - connect_sequence_pull_supplier_with_id/3

# CosEventDomainAdmin_EventDomain

### MODULE

CosEventDomainAdmin_EventDomain

### MODULE SUMMARY

This module implements the Event Domain interface.

### DESCRIPTION

To get access to all definitions include necessary hrl files by using:
-include_lib("cosEventDomain/include/*.hrl").

This module also exports the functions described in:

- CosNotification_QoSAdmin
- CosNotification_AdminPropertiesAdmin

### EXPORTS

add_channel(EventDomain, Channel) -> MemberID

Types:

EventDomain = Channel = #objref
MemberID = long()

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

get_all_channels(EventDomain) -> MemberIDSeq

Types:

EventDomain = #objref
MemberIDSeq = [long()]

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

get_channel(EventDomain, MemberID) -> Reply

Types:

EventDomain = #objref
MemberID = long()
Reply = Channel | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}
Channel = #objref

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

remove_channel(EventDomain, MemberID) -> Reply

Types:

EventDomain = #objref
MemberID = long()
Reply = ok | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

If a CosNotifyChannelAdmin::EventChannel with the MemberID exists it will removed and all its Connections terminated. Otherwise an exception is raised.

add_connection(EventDomain, Connection) -> Reply

Types:

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 supplier_id and consumer_id 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 ctype and notification_style respectively.

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

get_all_connections(EventDomain) -> ConnectionIDSeq

Types:

EventDomain = #objref
ConnectionIDSeq = [long()]

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

get_connection(EventDomain, ConnectionID) -> Reply

Types:

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 #'CosEventDomainAdmin_Connection'{} which describe the connection is returned. Otherwise, an exception is raised.

remove_connection(EventDomain, ConnectionID) -> Reply

Types:

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

Types:

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

Types:

EventDomain = #objref
Reply = MemberIDSeq | {'EXCEPTION', #'CosNotifyChannelAdmin_ChannelNotFound'{}}

This operations behaves like get_subscription_channels; 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

Types:

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

Types:

EventDomain = #objref
RouteSeq = [MemberIDSeq]
MemberIDSeq = [long()]

Returns a list of all cycles within the target domain.

get_diamonds(EventDomain) -> DiamondSeq

Types:

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

Types:

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

Types:

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

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_pull_consumer(EventDomain, Consumer) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_push_supplier(EventDomain, Supplier) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_pull_supplier(EventDomain, Supplier) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_structured_push_consumer(EventDomain, Consumer) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_structured_pull_consumer(EventDomain, Consumer) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_structured_push_supplier(EventDomain, Supplier) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_structured_pull_supplier(EventDomain, Supplier) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_sequence_push_consumer(EventDomain, Consumer) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_sequence_pull_consumer(EventDomain, Consumer) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_sequence_push_supplier(EventDomain, Supplier) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_sequence_pull_supplier(EventDomain, Supplier) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_push_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_pull_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_push_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_pull_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_structured_push_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_structured_pull_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_structured_push_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_structured_pull_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_sequence_push_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_sequence_pull_consumer_with_id(EventDomain, Consumer, MemberID) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_sequence_push_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.

connect_sequence_pull_supplier_with_id(EventDomain, Supplier, MemberID) -> Reply

Types:

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 #'CosNotifyChannelAdmin_ChannelNotFound'{} exception is raised.