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