00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "interrogate_interface.h"
00020 #include "interrogateDatabase.h"
00021 #include "interrogateType.h"
00022 #include "interrogateFunction.h"
00023
00024 int
00025 interrogate_number_of_manifests() {
00026 return InterrogateDatabase::get_ptr()->get_num_global_manifests();
00027 }
00028
00029 ManifestIndex
00030 interrogate_get_manifest(int n) {
00031 return InterrogateDatabase::get_ptr()->get_global_manifest(n);
00032 }
00033
00034 ManifestIndex
00035 interrogate_get_manifest_by_name(const char *manifest_name) {
00036 return InterrogateDatabase::get_ptr()->lookup_manifest_by_name(manifest_name);
00037 }
00038
00039 const char *
00040 interrogate_manifest_name(ManifestIndex manifest) {
00041 return InterrogateDatabase::get_ptr()->get_manifest(manifest).get_name().c_str();
00042 }
00043
00044 const char *
00045 interrogate_manifest_definition(ManifestIndex manifest) {
00046 return InterrogateDatabase::get_ptr()->get_manifest(manifest).get_definition().c_str();
00047 }
00048
00049 bool
00050 interrogate_manifest_has_type(ManifestIndex manifest) {
00051 return InterrogateDatabase::get_ptr()->get_manifest(manifest).has_type();
00052 }
00053
00054 TypeIndex
00055 interrogate_manifest_get_type(ManifestIndex manifest) {
00056 return InterrogateDatabase::get_ptr()->get_manifest(manifest).get_type();
00057 }
00058
00059 bool
00060 interrogate_manifest_has_getter(ManifestIndex manifest) {
00061 return InterrogateDatabase::get_ptr()->get_manifest(manifest).has_getter();
00062 }
00063
00064 FunctionIndex
00065 interrogate_manifest_getter(ManifestIndex manifest) {
00066 return InterrogateDatabase::get_ptr()->get_manifest(manifest).get_getter();
00067 }
00068
00069 bool
00070 interrogate_manifest_has_int_value(ManifestIndex manifest) {
00071 return InterrogateDatabase::get_ptr()->get_manifest(manifest).has_int_value();
00072 }
00073
00074 int
00075 interrogate_manifest_get_int_value(ManifestIndex manifest) {
00076 return InterrogateDatabase::get_ptr()->get_manifest(manifest).get_int_value();
00077 }
00078
00079 const char *
00080 interrogate_element_name(ElementIndex element) {
00081 return InterrogateDatabase::get_ptr()->get_element(element).get_name().c_str();
00082 }
00083
00084 const char *
00085 interrogate_element_scoped_name(ElementIndex element) {
00086 return InterrogateDatabase::get_ptr()->get_element(element).get_scoped_name().c_str();
00087 }
00088
00089 ElementIndex
00090 interrogate_get_element_by_name(const char *element_name) {
00091 return InterrogateDatabase::get_ptr()->lookup_element_by_name(element_name);
00092 }
00093
00094 ElementIndex
00095 interrogate_get_element_by_scoped_name(const char *element_name) {
00096 return InterrogateDatabase::get_ptr()->lookup_element_by_scoped_name(element_name);
00097 }
00098
00099 TypeIndex
00100 interrogate_element_type(ElementIndex element) {
00101 return InterrogateDatabase::get_ptr()->get_element(element).get_type();
00102 }
00103
00104 bool
00105 interrogate_element_has_getter(ElementIndex element) {
00106 return InterrogateDatabase::get_ptr()->get_element(element).has_getter();
00107 }
00108
00109 FunctionIndex
00110 interrogate_element_getter(ElementIndex element) {
00111 return InterrogateDatabase::get_ptr()->get_element(element).get_getter();
00112 }
00113
00114 bool
00115 interrogate_element_has_setter(ElementIndex element) {
00116 return InterrogateDatabase::get_ptr()->get_element(element).has_setter();
00117 }
00118
00119 FunctionIndex
00120 interrogate_element_setter(ElementIndex element) {
00121 return InterrogateDatabase::get_ptr()->get_element(element).get_setter();
00122 }
00123
00124 int
00125 interrogate_number_of_globals() {
00126 return InterrogateDatabase::get_ptr()->get_num_global_elements();
00127 }
00128
00129 ElementIndex
00130 interrogate_get_global(int n) {
00131 return InterrogateDatabase::get_ptr()->get_global_element(n);
00132 }
00133
00134 int
00135 interrogate_number_of_global_functions() {
00136 return InterrogateDatabase::get_ptr()->get_num_global_functions();
00137 }
00138
00139 FunctionIndex
00140 interrogate_get_global_function(int n) {
00141 return InterrogateDatabase::get_ptr()->get_global_function(n);
00142 }
00143
00144 int
00145 interrogate_number_of_functions() {
00146 return InterrogateDatabase::get_ptr()->get_num_all_functions();
00147 }
00148
00149 FunctionIndex
00150 interrogate_get_function(int n) {
00151 return InterrogateDatabase::get_ptr()->get_all_function(n);
00152 }
00153
00154 const char *
00155 interrogate_function_name(FunctionIndex function) {
00156 return InterrogateDatabase::get_ptr()->get_function(function).get_name().c_str();
00157 }
00158
00159 const char *
00160 interrogate_function_scoped_name(FunctionIndex function) {
00161 return InterrogateDatabase::get_ptr()->get_function(function).get_scoped_name().c_str();
00162 }
00163
00164 bool
00165 interrogate_function_has_comment(FunctionIndex function) {
00166 return InterrogateDatabase::get_ptr()->get_function(function).has_comment();
00167 }
00168
00169 const char *
00170 interrogate_function_comment(FunctionIndex function) {
00171 return InterrogateDatabase::get_ptr()->get_function(function).get_comment().c_str();
00172 }
00173
00174 const char *
00175 interrogate_function_prototype(FunctionIndex function) {
00176 return InterrogateDatabase::get_ptr()->get_function(function).get_prototype().c_str();
00177 }
00178
00179 bool
00180 interrogate_function_is_method(FunctionIndex function) {
00181 return InterrogateDatabase::get_ptr()->get_function(function).is_method();
00182 }
00183
00184 TypeIndex
00185 interrogate_function_class(FunctionIndex function) {
00186 return InterrogateDatabase::get_ptr()->get_function(function).get_class();
00187 }
00188
00189 bool
00190 interrogate_function_has_module_name(FunctionIndex function) {
00191 return InterrogateDatabase::get_ptr()->get_function(function).has_module_name();
00192 }
00193
00194 const char *
00195 interrogate_function_module_name(FunctionIndex function) {
00196 return InterrogateDatabase::get_ptr()->get_function(function).get_module_name();
00197 }
00198
00199 bool
00200 interrogate_function_is_virtual(FunctionIndex function) {
00201 return InterrogateDatabase::get_ptr()->get_function(function).is_virtual();
00202 }
00203
00204 int
00205 interrogate_function_number_of_c_wrappers(FunctionIndex function) {
00206 return InterrogateDatabase::get_ptr()->get_function(function).number_of_c_wrappers();
00207 }
00208
00209 FunctionWrapperIndex
00210 interrogate_function_c_wrapper(FunctionIndex function, int n) {
00211 return InterrogateDatabase::get_ptr()->get_function(function).get_c_wrapper(n);
00212 }
00213
00214 int
00215 interrogate_function_number_of_python_wrappers(FunctionIndex function) {
00216 return InterrogateDatabase::get_ptr()->get_function(function).number_of_python_wrappers();
00217 }
00218
00219 FunctionWrapperIndex
00220 interrogate_function_python_wrapper(FunctionIndex function, int n) {
00221 return InterrogateDatabase::get_ptr()->get_function(function).get_python_wrapper(n);
00222 }
00223
00224 const char *
00225 interrogate_wrapper_name(FunctionWrapperIndex wrapper) {
00226 static string result;
00227 result = InterrogateDatabase::get_ptr()->get_wrapper(wrapper).get_name();
00228 return result.c_str();
00229 }
00230
00231 bool
00232 interrogate_wrapper_is_callable_by_name(FunctionWrapperIndex wrapper) {
00233 return InterrogateDatabase::get_ptr()->get_wrapper(wrapper).is_callable_by_name();
00234 }
00235
00236 bool
00237 interrogate_wrapper_has_return_value(FunctionWrapperIndex wrapper) {
00238 return InterrogateDatabase::get_ptr()->get_wrapper(wrapper).has_return_value();
00239 }
00240
00241 TypeIndex
00242 interrogate_wrapper_return_type(FunctionWrapperIndex wrapper) {
00243 return InterrogateDatabase::get_ptr()->get_wrapper(wrapper).get_return_type();
00244 }
00245
00246 bool
00247 interrogate_wrapper_caller_manages_return_value(FunctionWrapperIndex wrapper) {
00248 return InterrogateDatabase::get_ptr()->get_wrapper(wrapper).caller_manages_return_value();
00249 }
00250
00251 FunctionIndex
00252 interrogate_wrapper_return_value_destructor(FunctionWrapperIndex wrapper) {
00253 return InterrogateDatabase::get_ptr()->get_wrapper(wrapper).get_return_value_destructor();
00254 }
00255
00256 int
00257 interrogate_wrapper_number_of_parameters(FunctionWrapperIndex wrapper) {
00258 return InterrogateDatabase::get_ptr()->get_wrapper(wrapper).number_of_parameters();
00259 }
00260
00261 TypeIndex
00262 interrogate_wrapper_parameter_type(FunctionWrapperIndex wrapper, int n) {
00263 return InterrogateDatabase::get_ptr()->get_wrapper(wrapper).parameter_get_type(n);
00264 }
00265
00266 bool
00267 interrogate_wrapper_parameter_has_name(FunctionWrapperIndex wrapper, int n) {
00268 return InterrogateDatabase::get_ptr()->get_wrapper(wrapper).parameter_has_name(n);
00269 }
00270
00271 const char *
00272 interrogate_wrapper_parameter_name(FunctionWrapperIndex wrapper, int n) {
00273 return InterrogateDatabase::get_ptr()->get_wrapper(wrapper).parameter_get_name(n).c_str();
00274 }
00275
00276 bool
00277 interrogate_wrapper_parameter_is_this(FunctionWrapperIndex wrapper, int n) {
00278 return InterrogateDatabase::get_ptr()->get_wrapper(wrapper).parameter_is_this(n);
00279 }
00280
00281 bool
00282 interrogate_wrapper_has_pointer(FunctionWrapperIndex wrapper) {
00283 return (InterrogateDatabase::get_ptr()->get_fptr(wrapper) != (void *)NULL);
00284 }
00285
00286 void *
00287 interrogate_wrapper_pointer(FunctionWrapperIndex wrapper) {
00288 return InterrogateDatabase::get_ptr()->get_fptr(wrapper);
00289 }
00290
00291 const char *
00292 interrogate_wrapper_unique_name(FunctionWrapperIndex wrapper) {
00293 static string result;
00294 result = InterrogateDatabase::get_ptr()->get_wrapper(wrapper).get_unique_name();
00295 return result.c_str();
00296 }
00297
00298 FunctionWrapperIndex
00299 interrogate_get_wrapper_by_unique_name(const char *unique_name) {
00300 return InterrogateDatabase::get_ptr()->get_wrapper_by_unique_name(unique_name);
00301 }
00302
00303 int
00304 interrogate_number_of_global_types() {
00305 return InterrogateDatabase::get_ptr()->get_num_global_types();
00306 }
00307
00308 TypeIndex
00309 interrogate_get_global_type(int n) {
00310 return InterrogateDatabase::get_ptr()->get_global_type(n);
00311 }
00312
00313 int
00314 interrogate_number_of_types() {
00315 return InterrogateDatabase::get_ptr()->get_num_all_types();
00316 }
00317
00318 TypeIndex
00319 interrogate_get_type(int n) {
00320 return InterrogateDatabase::get_ptr()->get_all_type(n);
00321 }
00322
00323 TypeIndex
00324 interrogate_get_type_by_name(const char *type_name) {
00325 return InterrogateDatabase::get_ptr()->lookup_type_by_name(type_name);
00326 }
00327
00328 TypeIndex
00329 interrogate_get_type_by_scoped_name(const char *type_name) {
00330 return InterrogateDatabase::get_ptr()->lookup_type_by_scoped_name(type_name);
00331 }
00332
00333 TypeIndex
00334 interrogate_get_type_by_true_name(const char *type_name) {
00335 return InterrogateDatabase::get_ptr()->lookup_type_by_true_name(type_name);
00336 }
00337
00338 const char *
00339 interrogate_type_name(TypeIndex type) {
00340 return InterrogateDatabase::get_ptr()->get_type(type).get_name().c_str();
00341 }
00342
00343 const char *
00344 interrogate_type_scoped_name(TypeIndex type) {
00345 return InterrogateDatabase::get_ptr()->get_type(type).get_scoped_name().c_str();
00346 }
00347
00348 const char *
00349 interrogate_type_true_name(TypeIndex type) {
00350 return InterrogateDatabase::get_ptr()->get_type(type).get_true_name().c_str();
00351 }
00352
00353 bool
00354 interrogate_type_is_nested(TypeIndex type) {
00355 return InterrogateDatabase::get_ptr()->get_type(type).is_nested();
00356 }
00357
00358 TypeIndex
00359 interrogate_type_outer_class(TypeIndex type) {
00360 return InterrogateDatabase::get_ptr()->get_type(type).get_outer_class();
00361 }
00362
00363 bool
00364 interrogate_type_has_comment(TypeIndex type) {
00365 return InterrogateDatabase::get_ptr()->get_type(type).has_comment();
00366 }
00367
00368 const char *
00369 interrogate_type_comment(TypeIndex type) {
00370 return InterrogateDatabase::get_ptr()->get_type(type).get_comment().c_str();
00371 }
00372
00373 bool
00374 interrogate_type_has_module_name(TypeIndex type) {
00375 return InterrogateDatabase::get_ptr()->get_type(type).has_module_name();
00376 }
00377
00378 const char *
00379 interrogate_type_module_name(TypeIndex type) {
00380 return InterrogateDatabase::get_ptr()->get_type(type).get_module_name();
00381 }
00382
00383 bool
00384 interrogate_type_is_atomic(TypeIndex type) {
00385 return InterrogateDatabase::get_ptr()->get_type(type).is_atomic();
00386 }
00387
00388 AtomicToken
00389 interrogate_type_atomic_token(TypeIndex type) {
00390 return InterrogateDatabase::get_ptr()->get_type(type).get_atomic_token();
00391 }
00392
00393 bool
00394 interrogate_type_is_unsigned(TypeIndex type) {
00395 return InterrogateDatabase::get_ptr()->get_type(type).is_unsigned();
00396 }
00397
00398 bool
00399 interrogate_type_is_signed(TypeIndex type) {
00400 return InterrogateDatabase::get_ptr()->get_type(type).is_signed();
00401 }
00402
00403 bool
00404 interrogate_type_is_long(TypeIndex type) {
00405 return InterrogateDatabase::get_ptr()->get_type(type).is_long();
00406 }
00407
00408 bool
00409 interrogate_type_is_longlong(TypeIndex type) {
00410 return InterrogateDatabase::get_ptr()->get_type(type).is_longlong();
00411 }
00412
00413 bool
00414 interrogate_type_is_short(TypeIndex type) {
00415 return InterrogateDatabase::get_ptr()->get_type(type).is_short();
00416 }
00417
00418 bool
00419 interrogate_type_is_wrapped(TypeIndex type) {
00420 return InterrogateDatabase::get_ptr()->get_type(type).is_wrapped();
00421 }
00422
00423 bool
00424 interrogate_type_is_pointer(TypeIndex type) {
00425 return InterrogateDatabase::get_ptr()->get_type(type).is_pointer();
00426 }
00427
00428 bool
00429 interrogate_type_is_const(TypeIndex type) {
00430 return InterrogateDatabase::get_ptr()->get_type(type).is_const();
00431 }
00432
00433 TypeIndex
00434 interrogate_type_wrapped_type(TypeIndex type) {
00435 return InterrogateDatabase::get_ptr()->get_type(type).get_wrapped_type();
00436 }
00437
00438 bool
00439 interrogate_type_is_enum(TypeIndex type) {
00440 return InterrogateDatabase::get_ptr()->get_type(type).is_enum();
00441 }
00442
00443 int
00444 interrogate_type_number_of_enum_values(TypeIndex type) {
00445 return InterrogateDatabase::get_ptr()->get_type(type).number_of_enum_values();
00446 }
00447
00448 const char *
00449 interrogate_type_enum_value_name(TypeIndex type, int n) {
00450 return InterrogateDatabase::get_ptr()->get_type(type).get_enum_value_name(n).c_str();
00451 }
00452
00453 const char *
00454 interrogate_type_enum_value_scoped_name(TypeIndex type, int n) {
00455 return InterrogateDatabase::get_ptr()->get_type(type).get_enum_value_scoped_name(n).c_str();
00456 }
00457
00458 int
00459 interrogate_type_enum_value(TypeIndex type, int n) {
00460 return InterrogateDatabase::get_ptr()->get_type(type).get_enum_value(n);
00461 }
00462
00463 bool
00464 interrogate_type_is_struct(TypeIndex type) {
00465 return InterrogateDatabase::get_ptr()->get_type(type).is_struct();
00466 }
00467
00468 bool
00469 interrogate_type_is_class(TypeIndex type) {
00470 return InterrogateDatabase::get_ptr()->get_type(type).is_class();
00471 }
00472
00473 bool
00474 interrogate_type_is_union(TypeIndex type) {
00475 return InterrogateDatabase::get_ptr()->get_type(type).is_union();
00476 }
00477
00478 bool
00479 interrogate_type_is_fully_defined(TypeIndex type) {
00480 return InterrogateDatabase::get_ptr()->get_type(type).is_fully_defined();
00481 }
00482
00483 bool
00484 interrogate_type_is_unpublished(TypeIndex type) {
00485 return InterrogateDatabase::get_ptr()->get_type(type).is_unpublished();
00486 }
00487
00488 int
00489 interrogate_type_number_of_constructors(TypeIndex type) {
00490 return InterrogateDatabase::get_ptr()->get_type(type).number_of_constructors();
00491 }
00492
00493 FunctionIndex
00494 interrogate_type_get_constructor(TypeIndex type, int n) {
00495 return InterrogateDatabase::get_ptr()->get_type(type).get_constructor(n);
00496 }
00497
00498 bool
00499 interrogate_type_has_destructor(TypeIndex type) {
00500 return InterrogateDatabase::get_ptr()->get_type(type).has_destructor();
00501 }
00502
00503 bool
00504 interrogate_type_destructor_is_inherited(TypeIndex type) {
00505 return InterrogateDatabase::get_ptr()->get_type(type).destructor_is_inherited();
00506 }
00507
00508 FunctionIndex
00509 interrogate_type_get_destructor(TypeIndex type) {
00510 return InterrogateDatabase::get_ptr()->get_type(type).get_destructor();
00511 }
00512
00513 int
00514 interrogate_type_number_of_elements(TypeIndex type) {
00515 return InterrogateDatabase::get_ptr()->get_type(type).number_of_elements();
00516 }
00517
00518 ElementIndex
00519 interrogate_type_get_element(TypeIndex type, int n) {
00520 return InterrogateDatabase::get_ptr()->get_type(type).get_element(n);
00521 }
00522
00523 int
00524 interrogate_type_number_of_methods(TypeIndex type) {
00525 return InterrogateDatabase::get_ptr()->get_type(type).number_of_methods();
00526 }
00527
00528 FunctionIndex
00529 interrogate_type_get_method(TypeIndex type, int n) {
00530 return InterrogateDatabase::get_ptr()->get_type(type).get_method(n);
00531 }
00532
00533 int
00534 interrogate_type_number_of_casts(TypeIndex type) {
00535 return InterrogateDatabase::get_ptr()->get_type(type).number_of_casts();
00536 }
00537
00538 FunctionIndex
00539 interrogate_type_get_cast(TypeIndex type, int n) {
00540 return InterrogateDatabase::get_ptr()->get_type(type).get_cast(n);
00541 }
00542
00543 int
00544 interrogate_type_number_of_derivations(TypeIndex type) {
00545 return InterrogateDatabase::get_ptr()->get_type(type).number_of_derivations();
00546 }
00547
00548 TypeIndex
00549 interrogate_type_get_derivation(TypeIndex type, int n) {
00550 return InterrogateDatabase::get_ptr()->get_type(type).get_derivation(n);
00551 }
00552
00553 bool
00554 interrogate_type_derivation_has_upcast(TypeIndex type, int n) {
00555 return InterrogateDatabase::get_ptr()->get_type(type).derivation_has_upcast(n);
00556 }
00557
00558 FunctionIndex
00559 interrogate_type_get_upcast(TypeIndex type, int n) {
00560 return InterrogateDatabase::get_ptr()->get_type(type).derivation_get_upcast(n);
00561 }
00562
00563 bool
00564 interrogate_type_derivation_downcast_is_impossible(TypeIndex type, int n) {
00565 return InterrogateDatabase::get_ptr()->get_type(type).derivation_downcast_is_impossible(n);
00566 }
00567
00568 bool
00569 interrogate_type_derivation_has_downcast(TypeIndex type, int n) {
00570 return InterrogateDatabase::get_ptr()->get_type(type).derivation_has_downcast(n);
00571 }
00572
00573 FunctionIndex
00574 interrogate_type_get_downcast(TypeIndex type, int n) {
00575 return InterrogateDatabase::get_ptr()->get_type(type).derivation_get_downcast(n);
00576 }
00577
00578 int
00579 interrogate_type_number_of_nested_types(TypeIndex type) {
00580 return InterrogateDatabase::get_ptr()->get_type(type).number_of_nested_types();
00581 }
00582
00583 TypeIndex
00584 interrogate_type_get_nested_type(TypeIndex type, int n) {
00585 return InterrogateDatabase::get_ptr()->get_type(type).get_nested_type(n);
00586 }