Update of /cvsroot/freevo/kaa/base/src/notifier
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8599/notifier

Modified Files:
        __init__.py callback.py 
Log Message:
Implement WeakOneShotTimer; don't weakref functions (only instance methods)
so we can use closures for the Weak* family.


Index: __init__.py
===================================================================
RCS file: /cvsroot/freevo/kaa/base/src/notifier/__init__.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** __init__.py 13 Jul 2005 17:31:37 -0000      1.6
--- __init__.py 13 Jul 2005 17:56:04 -0000      1.7
***************
*** 42,46 ****
  from thread import Thread, call_from_main
  from callback import Callback, WeakCallback, Timer, WeakTimer, OneShotTimer, \
!                      SocketDispatcher, WeakSocketDispatcher
  
  # get logging object
--- 42,46 ----
  from thread import Thread, call_from_main
  from callback import Callback, WeakCallback, Timer, WeakTimer, OneShotTimer, \
!                      WeakOneShotTimer, SocketDispatcher, WeakSocketDispatcher
  
  # get logging object

Index: callback.py
===================================================================
RCS file: /cvsroot/freevo/kaa/base/src/notifier/callback.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** callback.py 13 Jul 2005 17:31:37 -0000      1.2
--- callback.py 13 Jul 2005 17:56:04 -0000      1.3
***************
*** 31,35 ****
  
  __all__ = [ 'Callback', 'WeakCallback', 'Timer', 'WeakTimer', 'OneShotTimer',
!             'SocketDispatcher', 'WeakSocketDispatcher' ]
  
  import weakref
--- 31,35 ----
  
  __all__ = [ 'Callback', 'WeakCallback', 'Timer', 'WeakTimer', 'OneShotTimer',
!             'WeakOneShotTimer', 'SocketDispatcher', 'WeakSocketDispatcher' ]
  
  import weakref
***************
*** 213,219 ****
              self._callback = callback.im_func.func_name
          else:
!             # For functions
              self._instance = None
-             self._callback = weakref.ref(callback, self._weakref_destroyed)
  
          # TODO: make weak refs of args/kwargs too.
--- 213,218 ----
              self._callback = callback.im_func.func_name
          else:
!             # No need to weakref functions.  (If we do, we can't use 
closures.)
              self._instance = None
  
          # TODO: make weak refs of args/kwargs too.
***************
*** 225,229 ****
                  return getattr(self._instance(), self._callback)
          else:
!             return self._callback()
  
  
--- 224,228 ----
                  return getattr(self._instance(), self._callback)
          else:
!             return self._callback
  
  
***************
*** 242,245 ****
--- 241,246 ----
      pass
  
+ class WeakOneShotTimer(WeakNotifierCallback, OneShotTimer):
+     pass
  
  class WeakSocketDispatcher(WeakNotifierCallback, SocketDispatcher):



-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP, 
AMD, and NVIDIA.  To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to