CosNotifyChannelAdmin_StructuredProxyPullSupplier

This module implements the OMG CosNotifyChannelAdmin::StructuredProxyPullSupplier interface.

To get access to the record definitions for the structures use:
-include_lib("cosNotification/include/*.hrl").

This module also exports the functions described in:

CosNotifyComm_NotifySubscribe

CosNotification_QoSAdmin

CosNotifyFilter_FilterAdmin

CosNotifyChannelAdmin_ProxySupplier

Functions


connect_structured_pull_consumer(StructuredProxyPullSupplier, PullConsumer) -> Reply

  • StructuredProxyPullSupplier = #objref
  • PullConsumer = #objref
  • Reply = ok | {'EXCEPTION', #'CosEventChannelAdmin_AlreadyConnected'{}}

This operation connects a PullConsumer to the target object. If a connection already exists the AlreadyConnected exception is raised.

pull_structured_event(StructuredProxyPullSupplier) -> Reply

  • StructuredProxyPullSupplier = #objref
  • Reply = StructuredEvent | {'EXCEPTION', #'CosEventChannelAdmin_Disconnected'{}}
  • StructuredEvent = #'CosNotification_StructuredEvent'{header, filterable_data, remainder_of_body}
  • header = EventHeader
  • filterable_data = [#'CosNotification_Property'{name, value}]
  • name = string()
  • value = #any
  • remainder_of_body = #any
  • EventHeader = #'CosNotification_EventHeader'{fixed_header, variable_header}
  • fixed_header = FixedEventHeader
  • variable_header = OptionalHeaderFields
  • FixedEventHeader = #'CosNotification_FixedEventHeader'{event_type, event_name}
  • event_type = EventType
  • event_name = string()
  • EventType = #'CosNotification_EventType'{domain_name, type_name}
  • domain_name = type_name = string()
  • OptionalHeaderFields = [#'CosNotification_Property'{name, value}]

This operation pulls next event from the target object; if an event cannot be delivered this function blocks until an event arrives.

try_pull_structured_event(StructuredProxyPullSupplier) -> Reply

  • StructuredProxyPullSupplier = #objref
  • Reply = {StructuredEvent, HasEvent} | {'EXCEPTION', #'CosEventChannelAdmin_Disconnected'{}}
  • HasEvent = boolean()
  • StructuredEvent = #'CosNotification_StructuredEvent'{header, filterable_data, remainder_of_body}
  • header = EventHeader
  • filterable_data = [#'CosNotification_Property'{name, value}]
  • name = string()
  • value = #any
  • remainder_of_body = #any
  • EventHeader = #'CosNotification_EventHeader'{fixed_header, variable_header}
  • fixed_header = FixedEventHeader
  • variable_header = OptionalHeaderFields
  • FixedEventHeader = #'CosNotification_FixedEventHeader'{event_type, event_name}
  • event_type = EventType
  • event_name = string()
  • EventType = #'CosNotification_EventType'{domain_name, type_name}
  • domain_name = type_name = string()
  • OptionalHeaderFields = [#'CosNotification_Property'{name, value}]

This operation try to pull next event from the target object. If no event have arrived an empty event is returned and the out parameter HasEvent is set to false. Otherwise, the boolean flag is set to true and an valid event is returned.

disconnect_structured_pull_supplier(StructuredProxyPullSupplier) -> ok

  • StructuredProxyPullSupplier = #objref

This operation cause the target object to close the connection and terminate.