Added a typemap and wrappers for SBInputReader callbacks

Now it's possible to use SBInputReader callbacks in Python.

We leak the callback object, unfortunately. A __del__ method can be added
to SBInputReader, but we have no way to check the callback function that
is on the reader. So we can't call Py_DECREF on it when we have our
PythonCallback function. One way to do it is to assume that reified
SBInputReaders always have a Python callback (and always call Py_DECREF).
Another one is to add methods or properties to SBInputReader (or make the
m_callback_function property public).



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162356 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/scripts/Python/python-extensions.swig b/scripts/Python/python-extensions.swig
index cd8f1cf..24f06a1 100644
--- a/scripts/Python/python-extensions.swig
+++ b/scripts/Python/python-extensions.swig
@@ -25,7 +25,6 @@
                     return PyString_FromStringAndSize (desc, desc_len);
                 else
                     return PyString_FromString("");
-
         }
 }
 %extend lldb::SBBreakpoint {
@@ -485,6 +484,16 @@
         }
 }
 
+// %extend lldb::SBInputReader {
+//         // FIXME: m_callback_function is private and we have no other
+//         // way to access it.
+//         PyObject *lldb::SBInputReader::__del__ (){
+//             // Only call Py_XDECREF if we have a Python object (or NULL)
+//             if (LLDBSwigPythonCallSBInputReaderCallback == $self->m_callback_function)
+//                 Py_XDECREF($self->m_callback_baton);
+//         }
+// }
+
 %pythoncode %{
 
 class declaration(object):