CosEventDomainAdmin_EventDomain(3)

MODULE
CosEventDomainAdmin_EventDomain - 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 sequnce 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.