<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns:fn="http://www.w3.org/2005/02/xpath-functions"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css"> <title>Erlang -- CosEventChannelAdmin_ProxyPullSupplier</title> </head> <body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container"> <script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript"> <!-- function getWinHeight() { var myHeight = 0; if( typeof( window.innerHeight ) == 'number' ) { //Non-IE myHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode' myHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible myHeight = document.body.clientHeight; } return myHeight; } function setscrollpos() { var objf=document.getElementById('loadscrollpos'); document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2; } function addEvent(obj, evType, fn){ if (obj.addEventListener){ obj.addEventListener(evType, fn, true); return true; } else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r; } else { return false; } } addEvent(window, 'load', setscrollpos); //--></script><div id="leftnav"><div class="innertube"> <img alt="Erlang logo" src="../../../../doc/erlang-logo.png"><br><small><a href="users_guide.html">User's Guide</a><br><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/cosEvent-2.1.12.pdf">PDF</a><br><a href="../../../../doc/index.html">Top</a></small><p><strong>cosEvent</strong><br><strong>Reference Manual</strong><br><small>Version 2.1.12</small></p> <br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Table of Contents</strong></small></p> <ul class="flipMenu"> <li id="no" title="cosEventApp " expanded="false">cosEventApp<ul> <li><a href="cosEventApp.html"> Top of manual page </a></li> <li title="install-0"><a href="cosEventApp.html#install-0">install/0</a></li> <li title="uninstall-0"><a href="cosEventApp.html#uninstall-0">uninstall/0</a></li> <li title="start-0"><a href="cosEventApp.html#start-0">start/0</a></li> <li title="stop-0"><a href="cosEventApp.html#stop-0">stop/0</a></li> <li title="start_channel-0"><a href="cosEventApp.html#start_channel-0">start_channel/0</a></li> <li title="start_channel-1"><a href="cosEventApp.html#start_channel-1">start_channel/1</a></li> <li title="start_channel_link-0"><a href="cosEventApp.html#start_channel_link-0">start_channel_link/0</a></li> <li title="start_channel_link-1"><a href="cosEventApp.html#start_channel_link-1">start_channel_link/1</a></li> <li title="stop_channel-1"><a href="cosEventApp.html#stop_channel-1">stop_channel/1</a></li> </ul> </li> <li title="CosEventChannelAdmin"><a href="CosEventChannelAdmin.html">CosEventChannelAdmin</a></li> <li id="no" title="CosEventChannelAdmin_ConsumerAdmin " expanded="false">CosEventChannelAdmin_ConsumerAdmin<ul> <li><a href="CosEventChannelAdmin_ConsumerAdmin.html"> Top of manual page </a></li> <li title="obtain_push_supplier-1"><a href="CosEventChannelAdmin_ConsumerAdmin.html#obtain_push_supplier-1">obtain_push_supplier/1</a></li> <li title="obtain_pull_supplier-1"><a href="CosEventChannelAdmin_ConsumerAdmin.html#obtain_pull_supplier-1">obtain_pull_supplier/1</a></li> </ul> </li> <li id="no" title="CosEventChannelAdmin_SupplierAdmin " expanded="false">CosEventChannelAdmin_SupplierAdmin<ul> <li><a href="CosEventChannelAdmin_SupplierAdmin.html"> Top of manual page </a></li> <li title="obtain_push_consumer-1"><a href="CosEventChannelAdmin_SupplierAdmin.html#obtain_push_consumer-1">obtain_push_consumer/1</a></li> <li title="obtain_pull_consumer-1"><a href="CosEventChannelAdmin_SupplierAdmin.html#obtain_pull_consumer-1">obtain_pull_consumer/1</a></li> </ul> </li> <li id="no" title="CosEventChannelAdmin_EventChannel " expanded="false">CosEventChannelAdmin_EventChannel<ul> <li><a href="CosEventChannelAdmin_EventChannel.html"> Top of manual page </a></li> <li title="for_consumers-1"><a href="CosEventChannelAdmin_EventChannel.html#for_consumers-1">for_consumers/1</a></li> <li title="for_suppliers-1"><a href="CosEventChannelAdmin_EventChannel.html#for_suppliers-1">for_suppliers/1</a></li> <li title="destroy-1"><a href="CosEventChannelAdmin_EventChannel.html#destroy-1">destroy/1</a></li> </ul> </li> <li id="no" title="CosEventChannelAdmin_ProxyPullConsumer " expanded="false">CosEventChannelAdmin_ProxyPullConsumer<ul> <li><a href="CosEventChannelAdmin_ProxyPullConsumer.html"> Top of manual page </a></li> <li title="connect_pull_supplier-2"><a href="CosEventChannelAdmin_ProxyPullConsumer.html#connect_pull_supplier-2">connect_pull_supplier/2</a></li> <li title="disconnect_pull_consumer-1"><a href="CosEventChannelAdmin_ProxyPullConsumer.html#disconnect_pull_consumer-1">disconnect_pull_consumer/1</a></li> </ul> </li> <li id="no" title="CosEventChannelAdmin_ProxyPushConsumer " expanded="false">CosEventChannelAdmin_ProxyPushConsumer<ul> <li><a href="CosEventChannelAdmin_ProxyPushConsumer.html"> Top of manual page </a></li> <li title="connect_push_supplier-2"><a href="CosEventChannelAdmin_ProxyPushConsumer.html#connect_push_supplier-2">connect_push_supplier/2</a></li> <li title="disconnect_push_consumer-1"><a href="CosEventChannelAdmin_ProxyPushConsumer.html#disconnect_push_consumer-1">disconnect_push_consumer/1</a></li> <li title="push-2"><a href="CosEventChannelAdmin_ProxyPushConsumer.html#push-2">push/2</a></li> </ul> </li> <li id="loadscrollpos" title="CosEventChannelAdmin_ProxyPullSupplier " expanded="true">CosEventChannelAdmin_ProxyPullSupplier<ul> <li><a href="CosEventChannelAdmin_ProxyPullSupplier.html"> Top of manual page </a></li> <li title="connect_pull_consumer-2"><a href="CosEventChannelAdmin_ProxyPullSupplier.html#connect_pull_consumer-2">connect_pull_consumer/2</a></li> <li title="disconnect_pull_supplier-1"><a href="CosEventChannelAdmin_ProxyPullSupplier.html#disconnect_pull_supplier-1">disconnect_pull_supplier/1</a></li> <li title="pull-1"><a href="CosEventChannelAdmin_ProxyPullSupplier.html#pull-1">pull/1</a></li> <li title="try_pull-1"><a href="CosEventChannelAdmin_ProxyPullSupplier.html#try_pull-1">try_pull/1</a></li> </ul> </li> <li id="no" title="CosEventChannelAdmin_ProxyPushSupplier " expanded="false">CosEventChannelAdmin_ProxyPushSupplier<ul> <li><a href="CosEventChannelAdmin_ProxyPushSupplier.html"> Top of manual page </a></li> <li title="connect_push_consumer-2"><a href="CosEventChannelAdmin_ProxyPushSupplier.html#connect_push_consumer-2">connect_push_consumer/2</a></li> <li title="disconnect_push_supplier-1"><a href="CosEventChannelAdmin_ProxyPushSupplier.html#disconnect_push_supplier-1">disconnect_push_supplier/1</a></li> </ul> </li> </ul> </div></div> <div id="content"> <div class="innertube"> <!-- refpage --><center><h1>CosEventChannelAdmin_ProxyPullSupplier</h1></center> <h3>MODULE</h3> <div class="REFBODY">CosEventChannelAdmin_ProxyPullSupplier</div> <h3>MODULE SUMMARY</h3> <div class="REFBODY">This module implements a ProxyPullSupplier interface which acts as a middleman between pull consumer and the event channel.</div> <h3>DESCRIPTION</h3> <div class="REFBODY"><p> <p>The ProxyPullSupplier interface defines the second step for connecting pull consumers to the event channel. A proxy supplier is similar to a normal supplier, but includes an additional method for connecting a consumer to the proxy supplier.</p> <p>To get access to all definitions, e.g., exceptions, include necessary <span class="code">hrl</span> files by using:<br><span class="code">-include_lib("cosEvent/include/*.hrl").</span></p> <p>Any object that possesses an object reference that supports the ProxyPullSupplier interface can perform the following operations:</p> </p></div> <h3>EXPORTS</h3> <p><a name="connect_pull_consumer-2"><span class="bold_code">connect_pull_consumer(Object, PullConsumer) -> Return</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">Object = #objref</span><br> </div> <div class="REFTYPES"> <span class="bold_code">PullConsumer = #objref of PullConsumer type</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Return = ok | {'EXCEPTION', #'CosEventChannelAdmin_AlreadyConnected'{}}</span><br> </div> </div> <div class="REFBODY"><p> <p>This operation connects PullConsumer object to the ProxyPullSupplier object. A nil object reference can be passed to this operation. If so a channel cannot invoke the disconnect_pull_consumer operation on the consumer; the consumer may be disconnected from the channel without being informed. If the ProxyPullSupplier is already connected to a PullConsumer, then the <span class="code">CosEventChannelAdmin_AlreadyConnected</span> exception is raised.</p> </p></div> <p><a name="disconnect_pull_supplier-1"><span class="bold_code">disconnect_pull_supplier(Object) -> Return</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">Object = #objref</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Return = ok</span><br> </div> </div> <div class="REFBODY"><p> <p>This operation disconnects proxy pull supplier from the event channel. It sends a notification about the loss of the connection to the pull consumer attached to it, unless nil object reference was passed at the connection time.</p> </p></div> <p><a name="pull-1"><span class="bold_code">pull(Object) -> Return</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">Object = #objref</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Return = any</span><br> </div> </div> <div class="REFBODY"><p> <p>This operation blocks until the event data is available or the <span class="code">CosEventComm_Disconnected</span> exception is raised. It returns the event data to the consumer.</p> </p></div> <p><a name="try_pull-1"><span class="bold_code">try_pull(Object) -> Return</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">Object = #objref</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Return = {any, bool()}</span><br> </div> </div> <div class="REFBODY"><p> <p>This operation does not block: if the event data is available, it returns the event data and sets the data availability flag to true; otherwise it returns a long with an undefined value and sets the data availability to false. If the event communication has already been disconnected, the <span class="code">CosEventComm_Disconnected</span> exception is raised.</p> </p></div> </div> <div class="footer"> <hr> <p>Copyright © 1999-2012 Ericsson AB. All Rights Reserved.</p> </div> </div> </div></body> </html>