def send_custom(): """Print out notice information when different senders are sent.""" notice = Tf.Notice() some_stage = Usd.Stage.CreateInMemory() sender = Sender(some_stage) callback = Callback(Tf.Notice, notice, sender) listener = Tf.Notice.Register(Tf.Notice, callback.callback, sender) sender2 = Sender(some_stage) listener2 = Tf.Notice.Register(Tf.Notice, callback.callback, sender2) print("Custom count", callback.counter) # Note, the sender actually matters here. It has to be whatever was # provided to `Tf.Notice.Register`. Otherwise, the `callback` method # will never be run. # notice.Send(sender) notice.Send(sender2) del listener # You can also run `listener.Revoke()` notice.Send(sender) print("Custom count", callback.counter)
if (sender): l = Tf.Notice.Register(regNoticeType, cb.callback, sender) if (sender): sendNotice.Send(sender) else: sendNotice.SendGlobally() return cb.received class testPySender(object): pass args = [ # Global notices (1, "TfNotice", Tf.Notice()), (1, Tf.Notice, Tf.Notice()), (1, Tf.Notice, PyNoticeBase()), (1, PyNoticeBase, PyNoticeBase()), (1, PyNoticeBase, PyNoticeDerived()), (0, PyNoticeDerived, PyNoticeBase()), # Notices from C++ sender. # disabled for now, since Tf_TestBase is now Ctf_TestBase. # (1, "TfNotice", Tf.Notice(), Tf.Tf_TestBase()), # (1, Tf.Notice, Tf.Notice(), Tf.Tf_TestBase()), # (1, Tf.Notice, PyNoticeBase(), Tf.Tf_TestBase()), # (1, PyNoticeBase, PyNoticeBase(), Tf.Tf_TestBase()), # (1, PyNoticeBase, PyNoticeDerived(), Tf.Tf_TestBase()), # (0, PyNoticeDerived, PyNoticeBase(), Tf.Tf_TestBase()),