PortConnectListener.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 # -*- coding: euc-jp -*-
3 
4 
15 
16 import threading
17 
18 class Lock:
19  """
20  """
21 
22 
34  def __init__(self, mutex):
35  self.mutex = mutex
36  self.mutex.acquire()
37 
38 
39 
50  def __del__(self):
51  self.mutex.release()
52 
53 #============================================================
54 
55 
72  """
73  """
74 
75  ON_NOTIFY_CONNECT = 0
76  ON_NOTIFY_DISCONNECT = 1
77  ON_UNSUBSCRIBE_INTERFACES = 2
78  PORT_CONNECT_LISTENER_NUM = 3
79 
80  def __init__(self):
81  pass
82 
83 
84 
85 
110  """
111  """
112 
113  def __init__(self):
114  pass
115 
116 
139  def toString(type):
140  typeString = ["ON_NOTIFY_CONNECT",
141  "ON_NOTIFY_DISCONNECT",
142  "ON_UNSUBSCRIBE_INTERFACES",
143  "ON_UPDATE_CONFIG_PARAM",
144  ""]
145 
146  if type < ConfigurationParamListenerType.CONFIG_PARAM_LISTENER_NUM:
147  return typeString[type]
148 
149  return "";
150 
151  toString = staticmethod(toString)
152 
153 
154 
160  def __del__(self):
161  pass
162 
163 
164 
180  def __call__(self, portname, profile):
181  return
182 
183 
184 
185 #============================================================
186 
207  """
208  """
209 
210  ON_PUBLISH_INTERFACES = 0
211  ON_CONNECT_NEXTPORT = 1
212  ON_SUBSCRIBE_INTERFACES = 2
213  ON_CONNECTED = 3
214  ON_DISCONNECT_NEXT = 4
215  ON_DISCONNECTED = 5
216  PORT_CONNECT_RET_LISTENER_NUM = 6
217 
218  def __init__(self):
219  pass
220 
221 
222 
223 
253  """
254  """
255 
256  def __init__(self):
257  pass
258 
259 
260 
283  def toString(type):
284  return
285  toString = staticmethod(toString)
286 
287 
288 
294  def __del__(self):
295  pass
296 
297 
298 
315  def __call__(self, portname, profile, ret):
316  pass
317 
318 
319 
320 class Entry:
321  def __init__(self,listener, autoclean):
322  self.listener = listener
323  self.autoclean = autoclean
324  return
325 
326 #============================================================
327 
343  """
344  """
345 
346 
352  def __init__(self):
353  self._listeners = []
354  self._mutex = threading.RLock()
355  return
356 
357 
358 
364  def __del__(self):
365  pass
366 
367 
368 
389  def addListener(self, listener, autoclean):
390  guard = Lock(self._mutex)
391  self._listeners.append(Entry(listener, autoclean))
392  del guard
393  return
394 
395 
396 
413  def removeListener(self, listener):
414  guard = Lock(self._mutex)
415  len_ = len(self._listeners)
416  for i in range(len_):
417  if (self._listeners[i].listener == listener) and self._listeners[i].autoclean:
418  self._listeners[i].listener = None
419  del self._listeners[i]
420  del guard
421  return
422  del guard
423  return
424 
425 
426 
443  def notify(self, portname, profile):
444  guard = Lock(self._mutex)
445  for listener in self._listeners:
446  listener.listener(portname, profile)
447  del guard
448  return
449 
450 
451 
467  """
468  """
469 
470 
477  def __init__(self):
478  self._listeners = []
479  self._mutex = threading.RLock()
480  return
481 
482 
483 
489  def __del__(self):
490  pass
491 
492 
493 
494 
515  def addListener(self, listener, autoclean):
516  guard = Lock(self._mutex)
517  self._listeners.append(Entry(listener, autoclean))
518  del guard
519  return
520 
521 
522 
539  def removeListener(self, listener):
540  guard = Lock(self._mutex)
541  len_ = len(self._listeners)
542  for i in range(len_):
543  if (self._listeners[i].listener == listener) and self._listeners[i].autoclean:
544  self._listeners[i].listener = None
545  del self._listeners[i]
546  del guard
547  return
548  del guard
549  return
550 
551 
552 
572  def notify(self, portname, profile, ret):
573  guard = Lock(self._mutex)
574  for listener in self._listeners:
575  listener.listener(portname, profile, ret)
576  del guard
577  return
578 
579 
580 
581 
594  """
595  """
596 
597  def __init__(self):
598  pass
599 
600 
601 
609  portconnect_num = PortConnectListenerType.PORT_CONNECT_LISTENER_NUM
610  portconnect_ = [PortConnectListenerHolder() for i in range(portconnect_num)]
611 
612 
620  portconnret_num = PortConnectRetListenerType.PORT_CONNECT_RET_LISTENER_NUM
621  portconnret_ = [PortConnectRetListenerHolder() for i in range(portconnret_num)]
def __call__(self, portname, profile, ret)
Virtual Callback function.
def addListener(self, listener, autoclean)
Add the listener.
def __init__(self)
Constructor PortConnectRetListenerHolder();.
def __call__(self, portname, profile)
Virtual Callback function.
def notify(self, portname, profile)
Notify listeners.
def removeListener(self, listener)
Remove the listener.
def addListener(self, listener, autoclean)
Add the listener.
def __init__(self, listener, autoclean)
def notify(self, portname, profile, ret)
Notify listeners.


openrtm_aist_python
Author(s): Shinji Kurihara
autogenerated on Thu Jun 6 2019 19:11:34