• No results found

The TypedEventChannel Interface

In document Notification Service Specification (Page 174-177)

Remaining Bodydomain_name

SupplierAdmin 3 instance, which created a given TypedProxyPullConsumer

3.6.7 The TypedEventChannel Interface

TheTypedEventChannelinterface defines the behaviors supported by the Notification Service version of a typed event channel. As previously stated, the Notification Service version of a typed event channel is really a hybrid between the Notification Service event channel defined in theCosNotifyChannelAdminmodule, and the typed event channel defined in the OMG Event Service. This is evidenced by the fact that theTypedEventChannelinterface defined here supports similar inheritence and defines similar attributes and operations of the former, and directly inherits from the latter5.

Inheritance of theTypedEventChannelof theCosTypedEventChannelmodule essentially implies backward compatibility between the Notification Service style typed event channel, and the OMG Event Service style typed event channel. It means that pure OMG Event Service style typed admin instances, which can create pure OMG Event Service style typed proxy instances, which can support pure OMG Event Service style typed event clients, can be associated with the Notification Service style typed event channel. As usual, none of the pure OMG style objects will support QoS property configuration, associated filter objects, or administration by unique identifiers.

5.In fact theTypedEventChannelinterface defined here would multiply inherit from the EventChannelinterface defined inCosNotifyChannelAdmin, and the

TypedEventChannelinterface defined inCosTypedNotifyChannelAdmin, except that this multiple inheritence would result in the new interface inheriting two different versions of thefor_consumersandfor_suppliersoperations, which is not allowed in IDL.

Inheritance of theQoSAdminandAdminPropertiesAdmininterfaces defined in theCosNotificationmodule implies that instances of theTypedEventChannel

interface can have associated QoS property and administrative property settings. Locally, theTypedEventChannelinterface defined here supports a readonly attribute which maintains the reference to the factory that created it, and a pair of readonly attributes that maintain references to the defaultTypedConsumerAdminand

TypedSupplierAdmininstances that exist upon creation of an instance of the

TypedEventChannelinterface. TheTypedEventChannelinterface also defines a readonly attribute that maintains the reference of the default filter factory used by the channel to create new filter objects.

Additionally, theTypedEventChannelinterface defines operations to create new instances of theTypedConsumerAdminand the TypedSupplierAdmininterfaces defined in theCosTypedNotifyChannelAdminmodule. These instances also have associated unique identifiers. Similarly to theEventChannelinterface defined in the

CosNotifyChannelAdminmodule, theTypedEventChannelinterface defines operations that can return the lists of identifiers associated with the

TypedConsumerAdminandTypedSupplierAdmininstances it has created, and operations that given the unique identifier to one of its Admin instance, the object reference associated with it.

3.6.7.1 MyFactory

TheMyFactoryattribute is a readonly attribute that maintains the object reference of the event channel factory, which created a given Notification Service

TypedEventChannelinstance.

3.6.7.2 default_consumer_admin

Thedefault_consumer_adminattribute is a readonly attribute which maintains a reference to the defaultTypedConsumerAdmininstance associated with the target

TypedEventChannelinstance. EachTypedEventChannelinstance has an associated defaultTypedConsumerAdmininstance, which exists upon creation of the channel and is assigned the unique identifier of zero. Subsequently, clients can create additional Event Service styleTypedConsumerAdmininstances by invoking the inheritedfor_consumersoperation, and additional Notification Service style

TypedConsumerAdmininstances by invoking thenew_for_typed_consumers

operation defined by theTypedEventChannelinterface.

3.6.7.3 default_supplier_admin

Thedefault_supplier_adminattribute is a readonly attribute, which maintains a reference to the defaultTypedSupplierAdmininstance associated with the target

TypedEventChannelinstance. EachTypedEventChannelinstance has an

associated defaultTypedSupplierAdmininstance, which exists upon creation of the channel and is assigned the unique identifier of zero. Subsequently, clients can create additional Event Service styleTypedSupplierAdmininstances by invoking the

inheritedfor_suppliersoperation, and additional Notification Service style

TypedSupplierAdmininstances by invoking thenew_for_typed_suppliers

operation defined by theTypedEventChannelinterface.

3.6.7.4 default_filter_factory

Thedefault_filter_factoryattribute is a readonly attribute, which maintains an object reference to the default factory to be used by theTypedEventChannelinstance with which it’s associated for creating filter objects. If the target channel does not support a default filter factory, the attribute will maintain the value of OBJECT_NIL.

3.6.7.5 new_for_typed_notification_consumers

Thenew_for_typed_consumersoperation is invoked to create a new Notification Service styleTypedConsumerAdmininstance. The operation accepts as an input parameter a boolean flag that indicates whether AND or OR semantics will be used when combining the filter objects associated with the newly created

TypedConsumerAdmininstance with those associated with a supplier proxy, which was created by theTypedConsumerAdminduring the evaluation of each event against a set of filter objects. The new instance is assigned a unique identifier by the targetTypedEventChannelinstance that is unique among allConsumerAdmin

andTypedConsumerAdmininstances currently associated with the channel. Upon completion, the operation returns the reference to the newTypedConsumerAdmin

instance as the result of the operation, and the unique identifier assigned to the new

TypedConsumerAdmininstance as the output parameter.

3.6.7.6 new_for_typed_notification_suppliers

Thenew_for_typed_suppliersoperation is invoked to create a new Notification Service styleTypedSupplierAdmininstance. The operation accepts as an input parameter a boolean flag, which indicates whether AND or OR semantics will be used when combining the filter objects associated with the newly created

TypedSupplierAdmininstance with those associated with a consumer proxy, which was created by theTypedSupplierAdminduring the evaluation of each event against a set of filter objects. The new instance is assigned a unique identifier by the target

TypedEventChannelinstance that is unique among allSupplierAdminand

TypedSupplierAdmininstances currently associated with the channel. Upon completion, the operation returns the reference to the newTypedSupplierAdmin

instance as the result of the operation, and the unique identifier assigned to the new

TypedSupplierAdmininstance as the output parameter.

3.6.7.7 get_consumeradmin

Theget_consumeradminoperation returns a reference to one of the

TypedConsumerAdmininstances associated with the targetTypedEventChannel

instance. The operation accepts as an input parameter a numeric value, which is intended to be the unique identifier of one of theTypedConsumerAdmininstances

associated with the targetTypedEventChannelinstance. If this turns out to be the case, the object reference of the associatedTypedConsumerAdmininstance is returned as the operation result. Otherwise, theAdminNotFoundexception is raised. Note that while a Notification Service style event channel can support both Event Service and Notification Service styleTypedConsumerAdmininstances, only Notification Service styleTypedConsumerAdmininstances have associated unique identifiers.

3.6.7.8 get_supplieradmin

Theget_supplieradminoperation returns a reference to one of the

TypedSupplierAdmininstances associated with the targetTypedEventChannel

instance. The operation accepts as an input parameter a numeric value, which is intended to be the unique identifier of one of theTypedSupplierAdmininstances associated with the targetTypedEventChannelinstance. If this turns out to be the case, the object reference of the associatedTypedSupplierAdmininstance is returned as the operation result. Otherwise, theAdminNotFoundexception is raised. Note that while a Notification Service style event channel can support both Event Service and Notification Service styleTypedSupplierAdmininstances, only Notification Service styleTypedSupplierAdmininstances have associated unique identifiers.

3.6.7.9 get_all_consumeradmins

Theget_all_consumeradminsoperation takes no input parameters and returns a sequence of the unique identifiers assigned to all Notification Service style

TypedConsumerAdmininstances, which have been created by the target

TypedEventChannelinstance.

3.6.7.10 get_all_supplieradmins

Theget_all_supplieradminsoperation takes no input parameters and returns a sequence of the unique identifiers assigned to all Notification Service style

TypedSupplierAdmininstances, which have been created by the target

TypedEventChannelinstance.

In document Notification Service Specification (Page 174-177)