blob: 57ae00c067d737a69dde095c1e924fa4eaddd08d [file] [log] [blame]
Enrico Granatac972c702013-06-21 18:57:30 +00001// 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
Enrico Granataeff81a42013-07-09 20:14:26 +000014template <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
Enrico Granatac972c702013-06-21 18:57:30 +000046template <>
47PyObject*
Jim Ingham2bdbfd52014-09-29 23:17:18 +000048SBTypeToSWIGWrapper (lldb::SBEvent* event_sb)
49{
50 return SWIG_NewPointerObj((void *) event_sb, SWIGTYPE_p_lldb__SBEvent, 0);
51}
52
53template <>
54PyObject*
Enrico Granatac972c702013-06-21 18:57:30 +000055SBTypeToSWIGWrapper (lldb::SBProcess* process_sb)
56{
57 return SWIG_NewPointerObj((void *) process_sb, SWIGTYPE_p_lldb__SBProcess, 0);
58}
59
60template <>
61PyObject*
62SBTypeToSWIGWrapper (lldb::SBThread* thread_sb)
63{
64 return SWIG_NewPointerObj((void *) thread_sb, SWIGTYPE_p_lldb__SBThread, 0);
65}
66
67template <>
68PyObject*
Jim Ingham2bdbfd52014-09-29 23:17:18 +000069SBTypeToSWIGWrapper (lldb::SBThreadPlan* thread_plan_sb)
70{
71 return SWIG_NewPointerObj((void *) thread_plan_sb, SWIGTYPE_p_lldb__SBThreadPlan, 0);
72}
73
74template <>
75PyObject*
Enrico Granatac972c702013-06-21 18:57:30 +000076SBTypeToSWIGWrapper (lldb::SBTarget* target_sb)
77{
78 return SWIG_NewPointerObj((void *) target_sb, SWIGTYPE_p_lldb__SBTarget, 0);
79}
80
81template <>
82PyObject*
83SBTypeToSWIGWrapper (lldb::SBFrame* frame_sb)
84{
85 return SWIG_NewPointerObj((void *) frame_sb, SWIGTYPE_p_lldb__SBFrame, 0);
86}
87
88template <>
89PyObject*
90SBTypeToSWIGWrapper (lldb::SBDebugger* debugger_sb)
91{
92 return SWIG_NewPointerObj((void *) debugger_sb, SWIGTYPE_p_lldb__SBDebugger, 0);
93}
94
95template <>
96PyObject*
97SBTypeToSWIGWrapper (lldb::SBBreakpoint* breakpoint_sb)
98{
99 return SWIG_NewPointerObj((void *) breakpoint_sb, SWIGTYPE_p_lldb__SBBreakpoint, 0);
100}
101
102template <>
103PyObject*
104SBTypeToSWIGWrapper (lldb::SBWatchpoint* watchpoint_sb)
105{
106 return SWIG_NewPointerObj((void *) watchpoint_sb, SWIGTYPE_p_lldb__SBWatchpoint, 0);
107}
108
109template <>
110PyObject*
111SBTypeToSWIGWrapper (lldb::SBBreakpointLocation* breakpoint_location_sb)
112{
113 return SWIG_NewPointerObj((void *) breakpoint_location_sb, SWIGTYPE_p_lldb__SBBreakpointLocation, 0);
114}
115
116template <>
117PyObject*
Jim Inghamb842f2e2017-09-14 20:22:49 +0000118SBTypeToSWIGWrapper (lldb::SBBreakpointName* breakpoint_name_sb)
119{
120 return SWIG_NewPointerObj((void *) breakpoint_name_sb, SWIGTYPE_p_lldb__SBBreakpointName, 0);
121}
122
123template <>
124PyObject*
Enrico Granatac972c702013-06-21 18:57:30 +0000125SBTypeToSWIGWrapper (lldb::SBValue* value_sb)
126{
127 return SWIG_NewPointerObj((void *) value_sb, SWIGTYPE_p_lldb__SBValue, 0);
128}
129
130template <>
131PyObject*
132SBTypeToSWIGWrapper (lldb::SBCommandReturnObject* cmd_ret_obj_sb)
133{
134 return SWIG_NewPointerObj((void *) cmd_ret_obj_sb, SWIGTYPE_p_lldb__SBCommandReturnObject, 0);
135}
Enrico Granata06be0592014-10-01 21:47:29 +0000136
137template <>
138PyObject*
139SBTypeToSWIGWrapper (lldb::SBExecutionContext* ctx_sb)
140{
141 return SWIG_NewPointerObj((void *) ctx_sb, SWIGTYPE_p_lldb__SBExecutionContext, 0);
142}
Enrico Granata7e4df562014-11-22 00:02:47 +0000143
144template <>
145PyObject*
146SBTypeToSWIGWrapper (lldb::SBTypeSummaryOptions* summary_options_sb)
147{
148 return SWIG_NewPointerObj((void *) summary_options_sb, SWIGTYPE_p_lldb__SBTypeSummaryOptions, 0);
149}
Jim Ingham3815e702018-09-13 21:35:32 +0000150
151template <>
152PyObject*
153SBTypeToSWIGWrapper (lldb::SBStructuredData* structured_data_sb)
154{
155 return SWIG_NewPointerObj((void *) structured_data_sb, SWIGTYPE_p_lldb__SBStructuredData, 0);
156}
157
158template <>
159PyObject*
160SBTypeToSWIGWrapper (lldb::SBSymbolContext* sym_ctx_sb)
161{
162 return SWIG_NewPointerObj((void *) sym_ctx_sb, SWIGTYPE_p_lldb__SBSymbolContext, 0);
163}