From 20c168b5194d56e3f0f6a19db5905737463eadeb Mon Sep 17 00:00:00 2001 From: Kevin Pouget Date: Fri, 7 Oct 2011 07:38:30 +0000 Subject: Allow Python notification of new object-file loadings. * Makefile.in (SUBDIR_PYTHON_SRCS): Add py-newobjfilevent.c. (SUBDIR_PYTHON_OBS): Add py-newobjfileevent.o. Add build rule for this file. * python/py-event.h (emit_new_objfile_event): New prototype. (newobjfile): New Python event emitter. * python/py-evts.c (gdbpy_initialize_py_events): Add new_objfile to Python event registry. * python/py-inferior.c: Include objfiles.h (python_new_objfile): New function. (gdbpy_initialize_inferior): Add python_new_objfile to the new objfile observers. * python/py-newobjfileevent.c: New file. * python-internal.h (gdbpy_initialize_new_objfile_event): New prototype. * python/python.c (_initialize_python): Add gdbpy_initialize_new_objfile_event call. * NEWS: Add item for new Python event "gdb.newobjfile" 2011-10-06 Kevin Pouget Allow Python notification of new object-file loadings. * gdb.texinfo (Events In Python): Document `gdb.NewObjFileEvent' event type. 2011-10-06 Kevin Pouget Allow Python notification of new object-file loadings. * gdb.python/py-events.exp: Test newobjfile event. * gdb.python/py-events.py: Register newobjfile callback. * gdb.python/py-events.c: Add call to shared library * gdb.python/py-events-shlib.c: New file. --- gdb/testsuite/gdb.python/py-events.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gdb/testsuite/gdb.python/py-events.py') diff --git a/gdb/testsuite/gdb.python/py-events.py b/gdb/testsuite/gdb.python/py-events.py index 6bdd935..ab549c4 100644 --- a/gdb/testsuite/gdb.python/py-events.py +++ b/gdb/testsuite/gdb.python/py-events.py @@ -51,6 +51,14 @@ def continue_handler (event): if ( event.inferior_thread is not None) : print "thread num: %s" % (event.inferior_thread.num); +def new_objfile_handler (event): + if (isinstance (event, gdb.NewObjFileEvent)): + print "event type: new_objfile" + if (event.new_objfile is not None): + print "new objfile name: %s" % (event.new_objfile.filename) + else: + print "new objfile is None" + class test_events (gdb.Command): """Test events.""" @@ -65,3 +73,15 @@ class test_events (gdb.Command): print "Event testers registered." test_events () + +class test_newobj_events (gdb.Command): + """NewObj events.""" + + def __init__ (self): + gdb.Command.__init__ (self, "test_newobj_events", gdb.COMMAND_STACK) + + def invoke (self, arg, from_tty): + gdb.events.new_objfile.connect (new_objfile_handler) + print "New ObjectFile Event tester registered." + +test_newobj_events () -- cgit v1.1