org.omg.CosNotifyChannelAdmin
Interface ProxySupplierOperations

All Superinterfaces:
FilterAdminOperations, QoSAdminOperations
All Known Subinterfaces:
ProxyPullSupplier, ProxyPullSupplierOperations, ProxyPushSupplier, ProxyPushSupplierOperations, ProxySupplier, SequenceProxyPullSupplier, SequenceProxyPullSupplierOperations, SequenceProxyPushSupplier, SequenceProxyPushSupplierOperations, StructuredProxyPullSupplier, StructuredProxyPullSupplierOperations, StructuredProxyPushSupplier, StructuredProxyPushSupplierOperations, TypedProxyPullSupplier, TypedProxyPullSupplierOperations, TypedProxyPushSupplier, TypedProxyPushSupplierOperations
All Known Implementing Classes:
_ProxyPullSupplierStub, _ProxyPushSupplierStub, _ProxySupplierStub, _SequenceProxyPullSupplierStub, _SequenceProxyPushSupplierStub, _StructuredProxyPullSupplierStub, _StructuredProxyPushSupplierStub, _TypedProxyPullSupplierStub, _TypedProxyPushSupplierStub, ProxyPullSupplierImpl, ProxyPullSupplierPOA, ProxyPullSupplierPOATie, ProxyPushSupplierImpl, ProxyPushSupplierPOA, ProxyPushSupplierPOATie, ProxySupplierPOA, ProxySupplierPOATie, SequenceProxyPullSupplierImpl, SequenceProxyPullSupplierPOA, SequenceProxyPullSupplierPOATie, SequenceProxyPushSupplierImpl, SequenceProxyPushSupplierPOA, SequenceProxyPushSupplierPOATie, StructuredProxyPullSupplierImpl, StructuredProxyPullSupplierPOA, StructuredProxyPullSupplierPOATie, StructuredProxyPushSupplierImpl, StructuredProxyPushSupplierPOA, StructuredProxyPushSupplierPOATie, TypedProxyPullSupplierPOA, TypedProxyPullSupplierPOATie, TypedProxyPushSupplierPOA, TypedProxyPushSupplierPOATie

public interface ProxySupplierOperations
extends QoSAdminOperations, FilterAdminOperations

The ProxySupplier interface is intended to be an abstract interface that is inherited by the different varieties of proxy suppliers that can be instantiated within a notification channel. It encapsulates the behaviors common to all Notification Service proxy suppliers. In particular, the ProxySupplier interface inherits the QoSAdmin interface defined within the CosNotification module, and the FilterAdmin interface defined within the CosNotifyFilter module. The former inheritance enables all proxy suppliers to administer a list of associated QoS properties, while the latter inheritance enables all proxy suppliers to administer a list of associated filter objects. Locally, the ProxySupplier interface defines a readonly attribute that should be set upon creation of each proxy supplier instance to indicate the specific type of proxy supplier the instance represents, and a readonly attribute which maintains a reference to the ConsumerAdmin object that created it. In addition, the ProxySupplier interface defines attributes that associate with each proxy supplier two mapping filter objects, one for priority and one for lifetime. As described in section 2.3.1, these mapping filter objects enable proxy suppliers to be configured to alter the way they treat events with respect to their priority and lifetime based on the type and contents of each individual event. Lastly, the ProxySupplier interface defines an operation that returns the list of event types that a given proxy supplier could potentially forward to its associated consumer, and an operation which can be queried to determine which message level QoS properties can be set on a per-event basis.


Method Summary
 MappingFilter lifetime_filter()
          The lifetime_filter attribute contains a reference to an object supporting the MappingFilter interface defined in the CosNotifyFilter module.
 void lifetime_filter(MappingFilter value)
          The lifetime_filter attribute contains a reference to an object supporting the MappingFilter interface defined in the CosNotifyFilter module.
 ConsumerAdmin MyAdmin()
          The MyAdmin attribute is a readonly attribute that should be set upon creation of each proxy supplier instance to maintain the reference of the instance supporting the ConsumerAdmin interface that created it.
 ProxyType MyType()
          The MyType attribute is a readonly attribute that should be set upon creation of each proxy supplier instance to indicate the specific type of proxy supplier the instance represents.Enumerations are possible to distinguish the type of proxy supplier among the following possibilities: ProxyPushSupplier, ProxyPullSupplier, StructuredProxyPushSupplier, StructuredProxyPullSupplier, SequenceProxyPushSupplier, SequenceProxyPullSupplier.
 EventType[] obtain_offered_types(ObtainInfoMode mode)
          The obtain_offered_types operation returns a list of event type names.
 MappingFilter priority_filter()
          The priority_filter attribute contains a reference to an object supporting the MappingFilter interface defined in the CosNotifyFilter module.
 void priority_filter(MappingFilter value)
          The priority_filter attribute contains a reference to an object supporting the MappingFilter interface defined in the CosNotifyFilter module.
 void validate_event_qos(Property[] required_qos, NamedPropertyRangeSeqHolder available_qos)
          The validate_event_qos operation accepts as input a sequence of QoS property name-value pairs which specify a set of QoS settings that a client is interested in setting on a per-event basis.
 
Methods inherited from interface org.omg.CosNotification.QoSAdminOperations
get_qos, set_qos, validate_qos
 
Methods inherited from interface org.omg.CosNotifyFilter.FilterAdminOperations
add_filter, get_all_filters, get_filter, remove_all_filters, remove_filter
 

Method Detail

MyType

ProxyType MyType()
The MyType attribute is a readonly attribute that should be set upon creation of each proxy supplier instance to indicate the specific type of proxy supplier the instance represents.Enumerations are possible to distinguish the type of proxy supplier among the following possibilities: ProxyPushSupplier, ProxyPullSupplier, StructuredProxyPushSupplier, StructuredProxyPullSupplier, SequenceProxyPushSupplier, SequenceProxyPullSupplier.


MyAdmin

ConsumerAdmin MyAdmin()
The MyAdmin attribute is a readonly attribute that should be set upon creation of each proxy supplier instance to maintain the reference of the instance supporting the ConsumerAdmin interface that created it.


priority_filter

MappingFilter priority_filter()
The priority_filter attribute contains a reference to an object supporting the MappingFilter interface defined in the CosNotifyFilter module. Such an object encapsulates a list of constraint-value pairs, where each constraint is a boolean expression based on the type and contents of an event, and the value is a possible priority setting for the event. Upon receipt of each event by a proxy supplier object whose priority_filter attribute contains a non-nil reference, the proxy supplier will invoke the appropriate variant of the match operation supported by the mapping filter object. The mapping filter object will proceed to apply its encapsulated constraints to the event, and return the one with the highest associated priority setting which evaluates to TRUE, or else its associated default_value if no constraints evaluate to TRUE. Upon return from the match operation, if the output parameter is TRUE, the proxy supplier treats the event with respect to its priority according to the return value, as opposed to a priority setting contained within the event. If the output parameter is FALSE, the proxy supplier will treat the event with respect to its priority according to the value set for the priority property in the event header if this property is present, otherwise it will use the output parameter returned from the match operation (i.e., the default value of the mapping filter object).


priority_filter

void priority_filter(MappingFilter value)
The priority_filter attribute contains a reference to an object supporting the MappingFilter interface defined in the CosNotifyFilter module. Such an object encapsulates a list of constraint-value pairs, where each constraint is a boolean expression based on the type and contents of an event, and the value is a possible priority setting for the event. Upon receipt of each event by a proxy supplier object whose priority_filter attribute contains a non-nil reference, the proxy supplier will invoke the appropriate variant of the match operation supported by the mapping filter object. The mapping filter object will proceed to apply its encapsulated constraints to the event, and return the one with the highest associated priority setting which evaluates to TRUE, or else its associated default_value if no constraints evaluate to TRUE. Upon return from the match operation, if the output parameter is TRUE, the proxy supplier treats the event with respect to its priority according to the return value, as opposed to a priority setting contained within the event. If the output parameter is FALSE, the proxy supplier will treat the event with respect to its priority according to the value set for the priority property in the event header if this property is present, otherwise it will use the output parameter returned from the match operation (i.e., the default value of the mapping filter object).


lifetime_filter

MappingFilter lifetime_filter()
The lifetime_filter attribute contains a reference to an object supporting the MappingFilter interface defined in the CosNotifyFilter module. Such an object encapsulates a list of constraint-value pairs, where each constraint is a boolean expression based on the type and contents of an event, and the value is a possible lifetime setting for the event. Upon receipt of each event by a proxy supplier object whose lifetime_filter attribute contains a non-nil reference, the proxy supplier will invoke the appropriate variant of the match operation supported by the mapping filter object. The mapping filter object will proceed to apply its encapsulated constraints to the event, and return the one with the highest associated lifetime setting which evaluates to TRUE, or else its associated default_value if no constraints evaluate to TRUE. Upon return from the match operation, if the output parameter is TRUE, the proxy supplier treats the event with respect to its lifetime according to the return value, as opposed to a lifetime setting contained within the event. If the output parameter is FALSE, the proxy supplier will treat the event with respect to its lifetime according to the value set for the lifetime property in the event header if this property is present, otherwise it will use the output parameter returned from the match operation (i.e., the default value of the mapping filter object).

Returns:
Lifetime_filter of the proxy

lifetime_filter

void lifetime_filter(MappingFilter value)
The lifetime_filter attribute contains a reference to an object supporting the MappingFilter interface defined in the CosNotifyFilter module. Such an object encapsulates a list of constraint-value pairs, where each constraint is a boolean expression based on the type and contents of an event, and the value is a possible lifetime setting for the event. Upon receipt of each event by a proxy supplier object whose lifetime_filter attribute contains a non-nil reference, the proxy supplier will invoke the appropriate variant of the match operation supported by the mapping filter object. The mapping filter object will proceed to apply its encapsulated constraints to the event, and return the one with the highest associated lifetime setting which evaluates to TRUE, or else its associated default_value if no constraints evaluate to TRUE. Upon return from the match operation, if the output parameter is TRUE, the proxy supplier treats the event with respect to its lifetime according to the return value, as opposed to a lifetime setting contained within the event. If the output parameter is FALSE, the proxy supplier will treat the event with respect to its lifetime according to the value set for the lifetime property in the event header if this property is present, otherwise it will use the output parameter returned from the match operation (i.e., the default value of the mapping filter object).


obtain_offered_types

EventType[] obtain_offered_types(ObtainInfoMode mode)
The obtain_offered_types operation returns a list of event type names. Each element of the returned list names a type of event that the target proxy supplier object could potentially forward to its associated consumer. Note that through inheritance, all proxy consumer objects will support the NotifyPublish interface defined in the CosNotifyComm module. This interface supports the offer_change operation, which can be invoked by suppliers each time there is a change to the list of event types they plan to supply to their associated consumer. Thus, this mechanism relies on event suppliers keeping the channel informed of the types of events they plan to supply by invoking the offer_change operation on their associated proxy consumer object. Internally to the channel, the proxy consumers will share the information about event types that will be supplied to the channel with the proxy supplier objects associated with the channel. This enables consumers to discover the types of events that could by supplied to them by the channel by invoking the obtain_offered_types operation on their associated proxy supplier. Note that as mentioned above, consumers can also receive updates to offer information automatically by enabling the channel to invoke the offer_change operation they support through inheritence of the CosNotifyComm::NotifyPublish interface each time a supplier informs the channel of a change to the types of events they plan to supply. The obtain_offered_types operation accepts as input a flag that enables synchronization between the offer information obtain through these automatic updates, and that obtained through invocation of obtain_offered_types. The possible values and associated meanings this flag can take on are similar to those summarized in Table 3-5, except that the information being shared is offer information instead of subscription information.

Parameters:
mode - Mode of recuperation
Returns:
All offer types

validate_event_qos

void validate_event_qos(Property[] required_qos,
                        NamedPropertyRangeSeqHolder available_qos)
                        throws UnsupportedQoS
The validate_event_qos operation accepts as input a sequence of QoS property name-value pairs which specify a set of QoS settings that a client is interested in setting on a per-event basis. Note that the QoS property settings contained in the optional header fields of a Structured Event may differ from those that are configured on a given proxy object. This operation is essentially a check to see if the target proxy object will honor the setting of a set of QoS properties on a per-event basis to values that may conflict with those set on the proxy itself. If any of the requested settings would not be honored by the target object on a per-event basis, the operation raises the UnsupportedQoS exception. This exception contains as data a sequence of data structures, each of which identifies the name of a QoS property in the input list whose requested setting could not be satisfied, along with an error code and a range of settings for the property which could be satisfied. The meanings of the error codes which might be returned are described in Table 2-5. If all requested QoS property value settings could be satisfied by the target object, the operation returns successfully with an output parameter that contains a sequence of PropertyRange data structures. Each element in this sequence includes the name of a an additional QoS property whose setting is supported by the target object on a per- event basis and which could have been included on the input list while still resulting in a successful return from the operation. Each element also includes the range of values that would have been acceptable for each such property.

Parameters:
required_qos -
available_qos -
Throws:
UnsupportedQoS - A Qos Properties isn't supported in this implementation