PublisherFlush.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 # -*- coding: euc-jp -*-
3 
4 
17 
18 
19 import OpenRTM_aist
20 
21 
22 
36  """
37  """
38 
39 
40 
41 
54  def __init__(self):
55  self._rtcout = OpenRTM_aist.Manager.instance().getLogbuf("PublisherFlush")
56  self._consumer = None
57  self._active = False
58  self._profile = None # ConnectorInfo
59  self._listeners = None # ConnectorListeners
60  self._retcode = self.PORT_OK
61 
62 
74  def __del__(self):
75  # "consumer" should be deleted in the Connector
76  self._rtcout.RTC_TRACE("~PublisherFlush()")
77  self._consumer = None
78  return
79 
80 
105  def init(self, prop):
106  self._rtcout.RTC_TRACE("init()")
107  return self.PORT_OK;
108 
109 
133  def setConsumer(self, consumer):
134  self._rtcout.RTC_TRACE("setConsumer()")
135  if not consumer:
136  return self.INVALID_ARGS
137 
138  self._consumer = consumer
139 
140  return self.PORT_OK
141 
142 
164  def setBuffer(self, buffer):
165  self._rtcout.RTC_TRACE("setBuffer()")
166  return self.PORT_OK
167 
168 
204  def setListener(self, info, listeners):
205  self._rtcout.RTC_TRACE("setListeners()")
206 
207  if not listeners:
208  self._rtcout.RTC_ERROR("setListeners(listeners == 0): invalid argument")
209  return self.INVALID_ARGS
210 
211  self._profile = info
212  self._listeners = listeners
213 
214  return self.PORT_OK
215 
216 
277  def write(self, data, sec, usec):
278  self._rtcout.RTC_PARANOID("write()")
279  if not self._consumer or not self._listeners:
280  return self.PRECONDITION_NOT_MET
281 
282  if self._retcode == self.CONNECTION_LOST:
283  self._rtcout.RTC_DEBUG("write(): connection lost.")
284  return self._retcode
285 
286  self.onSend(data)
287 
288  self._retcode = self._consumer.put(data)
289 
290  if self._retcode == self.PORT_OK:
291  self.onReceived(data)
292  return self._retcode
293  elif self._retcode == self.PORT_ERROR:
294  self.onReceiverError(data)
295  return self._retcode
296  elif self._retcode == self.SEND_FULL:
297  self.onReceiverFull(data)
298  return self._retcode
299  elif self._retcode == self.SEND_TIMEOUT:
300  self.onReceiverTimeout(data)
301  return self._retcode
302  elif self._retcode == self.CONNECTION_LOST:
303  self.onReceiverTimeout(data)
304  return self._retcode
305  elif self._retcode == self.UNKNOWN_ERROR:
306  self.onReceiverError(data)
307  return self._retcode
308  else:
309  self.onReceiverError(data)
310  return self._retcode
311 
312  return self._retcode
313 
314 
315 
343  def isActive(self):
344  return self._active
345 
346 
347 
373  def activate(self):
374  if self._active:
375  return self.PRECONDITION_NOT_MET
376 
377  self._active = True
378 
379  return self.PORT_OK
380 
381 
407  def deactivate(self):
408  if not self._active:
409  return self.PRECONDITION_NOT_MET
410 
411  self._active = False
412 
413  return self.PORT_OK
414 
415 
425  def onSend(self, data):
426  if self._listeners is not None and self._profile is not None:
427  self._listeners.connectorData_[OpenRTM_aist.ConnectorDataListenerType.ON_SEND].notify(self._profile, data)
428  return
429 
430 
440  def onReceived(self, data):
441  if self._listeners is not None and self._profile is not None:
442  self._listeners.connectorData_[OpenRTM_aist.ConnectorDataListenerType.ON_RECEIVED].notify(self._profile, data)
443  return
444 
445 
455  def onReceiverFull(self, data):
456  if self._listeners is not None and self._profile is not None:
457  self._listeners.connectorData_[OpenRTM_aist.ConnectorDataListenerType.ON_RECEIVER_FULL].notify(self._profile, data)
458  return
459 
460 
470  def onReceiverTimeout(self, data):
471  if self._listeners is not None and self._profile is not None:
472  self._listeners.connectorData_[OpenRTM_aist.ConnectorDataListenerType.ON_RECEIVER_TIMEOUT].notify(self._profile, data)
473  return
474 
475 
485  def onReceiverError(self, data):
486  if self._listeners is not None and self._profile is not None:
487  self._listeners.connectorData_[OpenRTM_aist.ConnectorDataListenerType.ON_RECEIVER_ERROR].notify(self._profile, data)
488  return
489 
490 
492  OpenRTM_aist.PublisherFactory.instance().addFactory("flush",
494  OpenRTM_aist.Delete)
OpenRTM_aist.DataPortStatus.DataPortStatus.UNKNOWN_ERROR
int UNKNOWN_ERROR
Definition: DataPortStatus.py:153
OpenRTM_aist.PublisherFlush.PublisherFlush._consumer
_consumer
Definition: PublisherFlush.py:56
OpenRTM_aist.PublisherFlush.PublisherFlush.write
def write(self, data, sec, usec)
Write data.
Definition: PublisherFlush.py:277
OpenRTM_aist.PublisherFlush.PublisherFlush.isActive
def isActive(self)
If publisher is active state.
Definition: PublisherFlush.py:343
OpenRTM_aist.DataPortStatus.DataPortStatus.CONNECTION_LOST
int CONNECTION_LOST
Definition: DataPortStatus.py:152
OpenRTM_aist.PublisherFlush.PublisherFlush.setListener
def setListener(self, info, listeners)
Set the listener.
Definition: PublisherFlush.py:204
OpenRTM_aist.PublisherFlush.PublisherFlush.deactivate
def deactivate(self)
deactivation
Definition: PublisherFlush.py:407
OpenRTM_aist.PublisherFlush.PublisherFlush
PublisherFlush class.
Definition: PublisherFlush.py:35
OpenRTM_aist.PublisherFlush.PublisherFlush.onReceiverError
def onReceiverError(self, data)
Notify an ON_RECEIVER_ERROR event to listeners.
Definition: PublisherFlush.py:485
OpenRTM_aist.DataPortStatus.DataPortStatus.PORT_OK
int PORT_OK
DataPortStatus return codes.
Definition: DataPortStatus.py:140
OpenRTM_aist.PublisherFlush.PublisherFlush._retcode
_retcode
Definition: PublisherFlush.py:60
OpenRTM_aist.PublisherFlush.PublisherFlush._profile
_profile
Definition: PublisherFlush.py:58
OpenRTM_aist.PublisherFlush.PublisherFlush.onReceiverTimeout
def onReceiverTimeout(self, data)
Notify an ON_RECEIVER_TIMEOUT event to listeners.
Definition: PublisherFlush.py:470
OpenRTM_aist.PublisherFlush.PublisherFlush.onSend
def onSend(self, data)
Notify an ON_SEND event to listners.
Definition: PublisherFlush.py:425
OpenRTM_aist.PublisherFlush.PublisherFlush._rtcout
_rtcout
Definition: PublisherFlush.py:55
OpenRTM_aist.DataPortStatus.DataPortStatus.INVALID_ARGS
int INVALID_ARGS
Definition: DataPortStatus.py:150
OpenRTM_aist.PublisherFlush.PublisherFlush.setBuffer
def setBuffer(self, buffer)
Setting buffer pointer.
Definition: PublisherFlush.py:164
OpenRTM_aist.PublisherFlush.PublisherFlush.__init__
def __init__(self)
Constructor.
Definition: PublisherFlush.py:54
OpenRTM_aist.PublisherFlush.PublisherFlush.onReceiverFull
def onReceiverFull(self, data)
Notify an ON_RECEIVER_FULL event to listeners.
Definition: PublisherFlush.py:455
OpenRTM_aist.PublisherFlush.PublisherFlush._listeners
_listeners
Definition: PublisherFlush.py:59
OpenRTM_aist.DataPortStatus.DataPortStatus.PORT_ERROR
int PORT_ERROR
Definition: DataPortStatus.py:141
OpenRTM_aist.PublisherFlush.PublisherFlush.setConsumer
def setConsumer(self, consumer)
Store InPort consumer.
Definition: PublisherFlush.py:133
OpenRTM_aist.PublisherFlush.PublisherFlush.__del__
def __del__(self)
Destructor.
Definition: PublisherFlush.py:74
OpenRTM_aist.PublisherFlush.PublisherFlush.activate
def activate(self)
activation
Definition: PublisherFlush.py:373
OpenRTM_aist.PublisherBase.PublisherBase
Base class of Publisher.
Definition: PublisherBase.py:44
OpenRTM_aist.PublisherFlush.PublisherFlush._active
_active
Definition: PublisherFlush.py:57
OpenRTM_aist.PublisherFlush.PublisherFlushInit
def PublisherFlushInit()
Definition: PublisherFlush.py:491
OpenRTM_aist.PublisherFlush.PublisherFlush.init
def init(self, prop)
initialization
Definition: PublisherFlush.py:105
OpenRTM_aist.DataPortStatus.DataPortStatus.SEND_FULL
int SEND_FULL
Definition: DataPortStatus.py:146
OpenRTM_aist.DataPortStatus.DataPortStatus.PRECONDITION_NOT_MET
int PRECONDITION_NOT_MET
Definition: DataPortStatus.py:151
OpenRTM_aist.PublisherFlush.PublisherFlush.onReceived
def onReceived(self, data)
Notify an ON_RECEIVED event to listeners.
Definition: PublisherFlush.py:440
OpenRTM_aist.DataPortStatus.DataPortStatus.SEND_TIMEOUT
int SEND_TIMEOUT
Definition: DataPortStatus.py:147


openrtm_aist_python
Author(s): Shinji Kurihara
autogenerated on Mon Apr 21 2025 02:45:06