CosEventDomainAdmin_EventDomain
This module implements the Event Domain interface.
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
Functions
add_channel(EventDomain, Channel) -> MemberID
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
EventDomain = #objref
MemberIDSeq = [long()]
Returns a a sequence of all channels associated with the target object.
get_channel(EventDomain, MemberID) -> Reply
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
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
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
EventDomain = #objref
ConnectionIDSeq = [long()]
This operation returns a sequence of all connections within the target domain.
get_connection(EventDomain, ConnectionID) -> Reply
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
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
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
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
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
EventDomain = #objref
RouteSeq = [MemberIDSeq]
MemberIDSeq = [long()]
Returns a list of all cycles within the target domain.
get_diamonds(EventDomain) -> DiamondSeq
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.