---
name: "CosNotifyChannelAdmin_StructuredProxyPullSupplier"
section: "3erl"
platform: "linux"
package: "erlang-manpages"
version: "1:19.2.1+dfsg-2+deb9u3"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/CosNotifyChannelAdmin_StructuredProxyPullSupplier/3erl"
---

# CosNotifyChannelAdmin\_StructuredProxyPullSupplier(3erl)

This module implements the OMG CosNotifyChannelAdmin::StructuredProxyPullSupplier interface.

## NAME

CosNotifyChannelAdmin\_StructuredProxyPullSupplier - This module implements the OMG  CosNotifyChannelAdmin::StructuredProxyPullSupplier interface.

## DESCRIPTION

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**

## EXPORTS

**connect\_structured\_pull\_consumer(StructuredProxyPullSupplier, PullConsumer) -\> Reply**\

Types:

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**\

Types:

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**\

Types:

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**\

Types:

StructuredProxyPullSupplier = #objref\

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