gdb/python/py-continueevent.c - gdb

Functions defined

Source code

  1. /* Python interface to inferior continue events.

  2.    Copyright (C) 2009-2015 Free Software Foundation, Inc.

  3.    This file is part of GDB.

  4.    This program is free software; you can redistribute it and/or modify
  5.    it under the terms of the GNU General Public License as published by
  6.    the Free Software Foundation; either version 3 of the License, or
  7.    (at your option) any later version.

  8.    This program is distributed in the hope that it will be useful,
  9.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11.    GNU General Public License for more details.

  12.    You should have received a copy of the GNU General Public License
  13.    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */

  14. #include "defs.h"
  15. #include "py-event.h"

  16. static PyTypeObject continue_event_object_type
  17.     CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("event_object");

  18. static PyObject *
  19. create_continue_event_object (void)
  20. {
  21.   return create_thread_event_object (&continue_event_object_type);
  22. }

  23. /* Callback function which notifies observers when a continue event occurs.
  24.    This function will create a new Python continue event object.
  25.    Return -1 if emit fails.  */

  26. int
  27. emit_continue_event (ptid_t ptid)
  28. {
  29.   PyObject *event;

  30.   if (evregpy_no_listeners_p (gdb_py_events.cont))
  31.     return 0;

  32.   event = create_continue_event_object ();
  33.   if (event)
  34.     return evpy_emit_event (event, gdb_py_events.cont);
  35.   return -1;
  36. }

  37. GDBPY_NEW_EVENT_TYPE (continue,
  38.                       "gdb.ContinueEvent",
  39.                       "ContinueEvent",
  40.                       "GDB continue event object",
  41.                       thread_event_object_type,
  42.                       static);