1 // leaving this undefined ensures we will get a linker error if we try to use SBTypeToSWIGWrapper() 2 // for a type for which we did not specialze this function 3 template <typename SBClass> 4 PyObject* 5 SBTypeToSWIGWrapper (SBClass* sb_object); 6 7 template <typename SBClass> 8 PyObject* 9 SBTypeToSWIGWrapper (SBClass& sb_object) 10 { 11 return SBTypeToSWIGWrapper(&sb_object); 12 } 13 14 template <typename SBClass> 15 PyObject* 16 SBTypeToSWIGWrapper (const SBClass& sb_object) 17 { 18 return SBTypeToSWIGWrapper(&sb_object); 19 } 20 21 template <> 22 PyObject* 23 SBTypeToSWIGWrapper (PyObject* py_object) 24 { 25 return py_object; 26 } 27 28 template <> 29 PyObject* 30 SBTypeToSWIGWrapper (const char* c_str) 31 { 32 if (c_str) 33 return PyString_FromString(c_str); 34 return NULL; 35 } 36 37 template <> 38 PyObject* 39 SBTypeToSWIGWrapper (unsigned int* c_int) 40 { 41 if (!c_int) 42 return NULL; 43 return PyInt_FromLong(*c_int); 44 } 45 46 template <> 47 PyObject* 48 SBTypeToSWIGWrapper (lldb::SBProcess* process_sb) 49 { 50 return SWIG_NewPointerObj((void *) process_sb, SWIGTYPE_p_lldb__SBProcess, 0); 51 } 52 53 template <> 54 PyObject* 55 SBTypeToSWIGWrapper (lldb::SBThread* thread_sb) 56 { 57 return SWIG_NewPointerObj((void *) thread_sb, SWIGTYPE_p_lldb__SBThread, 0); 58 } 59 60 template <> 61 PyObject* 62 SBTypeToSWIGWrapper (lldb::SBTarget* target_sb) 63 { 64 return SWIG_NewPointerObj((void *) target_sb, SWIGTYPE_p_lldb__SBTarget, 0); 65 } 66 67 template <> 68 PyObject* 69 SBTypeToSWIGWrapper (lldb::SBFrame* frame_sb) 70 { 71 return SWIG_NewPointerObj((void *) frame_sb, SWIGTYPE_p_lldb__SBFrame, 0); 72 } 73 74 template <> 75 PyObject* 76 SBTypeToSWIGWrapper (lldb::SBDebugger* debugger_sb) 77 { 78 return SWIG_NewPointerObj((void *) debugger_sb, SWIGTYPE_p_lldb__SBDebugger, 0); 79 } 80 81 template <> 82 PyObject* 83 SBTypeToSWIGWrapper (lldb::SBBreakpoint* breakpoint_sb) 84 { 85 return SWIG_NewPointerObj((void *) breakpoint_sb, SWIGTYPE_p_lldb__SBBreakpoint, 0); 86 } 87 88 template <> 89 PyObject* 90 SBTypeToSWIGWrapper (lldb::SBWatchpoint* watchpoint_sb) 91 { 92 return SWIG_NewPointerObj((void *) watchpoint_sb, SWIGTYPE_p_lldb__SBWatchpoint, 0); 93 } 94 95 template <> 96 PyObject* 97 SBTypeToSWIGWrapper (lldb::SBBreakpointLocation* breakpoint_location_sb) 98 { 99 return SWIG_NewPointerObj((void *) breakpoint_location_sb, SWIGTYPE_p_lldb__SBBreakpointLocation, 0); 100 } 101 102 template <> 103 PyObject* 104 SBTypeToSWIGWrapper (lldb::SBValue* value_sb) 105 { 106 return SWIG_NewPointerObj((void *) value_sb, SWIGTYPE_p_lldb__SBValue, 0); 107 } 108 109 template <> 110 PyObject* 111 SBTypeToSWIGWrapper (lldb::SBCommandReturnObject* cmd_ret_obj_sb) 112 { 113 return SWIG_NewPointerObj((void *) cmd_ret_obj_sb, SWIGTYPE_p_lldb__SBCommandReturnObject, 0); 114 } 115 116 template <> 117 PyObject* 118 SBTypeToSWIGWrapper (lldb::SBInputReader* input_reader_sb) 119 { 120 return SWIG_NewPointerObj((void *) input_reader_sb, SWIGTYPE_p_lldb__SBInputReader, 0); 121 } 122