14 #ifndef INTERROGATE_INTERFACE_H    15 #define INTERROGATE_INTERFACE_H    58 typedef int ManifestIndex;
    59 typedef int ElementIndex;
    60 typedef int TypeIndex;
    61 typedef int FunctionIndex;
    62 typedef int FunctionWrapperIndex;
    63 typedef int MakeSeqIndex;
    92 EXPCL_INTERROGATEDB 
void interrogate_add_search_directory(
const char *dirname);
    93 EXPCL_INTERROGATEDB 
void interrogate_add_search_path(
const char *pathstring);
    94 EXPCL_INTERROGATEDB 
bool interrogate_error_flag();
   109 EXPCL_INTERROGATEDB 
int interrogate_number_of_manifests();
   110 EXPCL_INTERROGATEDB ManifestIndex interrogate_get_manifest(
int n);
   111 EXPCL_INTERROGATEDB ManifestIndex interrogate_get_manifest_by_name(
const char *manifest_name);
   112 EXPCL_INTERROGATEDB 
const char *interrogate_manifest_name(ManifestIndex manifest);
   113 EXPCL_INTERROGATEDB 
const char *interrogate_manifest_definition(ManifestIndex manifest);
   114 EXPCL_INTERROGATEDB 
bool interrogate_manifest_has_type(ManifestIndex manifest);
   115 EXPCL_INTERROGATEDB TypeIndex interrogate_manifest_get_type(ManifestIndex manifest);
   116 EXPCL_INTERROGATEDB 
bool interrogate_manifest_has_getter(ManifestIndex manifest);
   117 EXPCL_INTERROGATEDB FunctionIndex interrogate_manifest_getter(ManifestIndex manifest);
   124 EXPCL_INTERROGATEDB 
bool interrogate_manifest_has_int_value(ManifestIndex manifest);
   125 EXPCL_INTERROGATEDB 
int interrogate_manifest_get_int_value(ManifestIndex manifest);
   134 EXPCL_INTERROGATEDB 
const char *interrogate_element_name(ElementIndex element);
   135 EXPCL_INTERROGATEDB 
const char *interrogate_element_scoped_name(ElementIndex element);
   136 EXPCL_INTERROGATEDB 
bool interrogate_element_has_comment(ElementIndex element);
   137 EXPCL_INTERROGATEDB 
const char *interrogate_element_comment(ElementIndex element);
   138 EXPCL_INTERROGATEDB ElementIndex interrogate_get_element_by_name(
const char *element_name);
   139 EXPCL_INTERROGATEDB ElementIndex interrogate_get_element_by_scoped_name(
const char *element_name);
   149 EXPCL_INTERROGATEDB TypeIndex interrogate_element_type(ElementIndex element);
   151 EXPCL_INTERROGATEDB 
bool interrogate_element_has_getter(ElementIndex element);
   152 EXPCL_INTERROGATEDB FunctionIndex interrogate_element_getter(ElementIndex element);
   153 EXPCL_INTERROGATEDB 
bool interrogate_element_has_setter(ElementIndex element);
   154 EXPCL_INTERROGATEDB FunctionIndex interrogate_element_setter(ElementIndex element);
   156 EXPCL_INTERROGATEDB 
bool interrogate_element_is_sequence(ElementIndex element);
   157 EXPCL_INTERROGATEDB 
bool interrogate_element_is_mapping(ElementIndex element);
   163 EXPCL_INTERROGATEDB 
int interrogate_number_of_globals();
   164 EXPCL_INTERROGATEDB ElementIndex interrogate_get_global(
int n);
   175 EXPCL_INTERROGATEDB 
int interrogate_number_of_global_functions();
   176 EXPCL_INTERROGATEDB FunctionIndex interrogate_get_global_function(
int n);
   183 EXPCL_INTERROGATEDB 
int interrogate_number_of_functions();
   184 EXPCL_INTERROGATEDB FunctionIndex interrogate_get_function(
int n);
   191 EXPCL_INTERROGATEDB 
const char *interrogate_function_name(FunctionIndex 
function);
   198 EXPCL_INTERROGATEDB 
const char *interrogate_function_scoped_name(FunctionIndex 
function);
   202 EXPCL_INTERROGATEDB 
bool interrogate_function_has_comment(FunctionIndex 
function);
   203 EXPCL_INTERROGATEDB 
const char *interrogate_function_comment(FunctionIndex 
function);
   207 EXPCL_INTERROGATEDB 
const char *interrogate_function_prototype(FunctionIndex 
function);
   211 EXPCL_INTERROGATEDB 
bool interrogate_function_is_method(FunctionIndex 
function);
   212 EXPCL_INTERROGATEDB TypeIndex interrogate_function_class(FunctionIndex 
function);
   215 EXPCL_INTERROGATEDB 
bool interrogate_function_has_module_name(FunctionIndex 
function);
   216 EXPCL_INTERROGATEDB 
const char *interrogate_function_module_name(FunctionIndex 
function);
   219 EXPCL_INTERROGATEDB 
bool interrogate_function_has_library_name(FunctionIndex 
function);
   220 EXPCL_INTERROGATEDB 
const char *interrogate_function_library_name(FunctionIndex 
function);
   224 EXPCL_INTERROGATEDB 
bool interrogate_function_is_virtual(FunctionIndex 
function);
   235 EXPCL_INTERROGATEDB 
int interrogate_function_number_of_c_wrappers(FunctionIndex 
function);
   236 EXPCL_INTERROGATEDB FunctionWrapperIndex interrogate_function_c_wrapper(FunctionIndex 
function, 
int n);
   238 EXPCL_INTERROGATEDB 
int interrogate_function_number_of_python_wrappers(FunctionIndex 
function);
   239 EXPCL_INTERROGATEDB FunctionWrapperIndex interrogate_function_python_wrapper(FunctionIndex 
function, 
int n);
   258 EXPCL_INTERROGATEDB 
const char *interrogate_wrapper_name(FunctionWrapperIndex wrapper);
   262 EXPCL_INTERROGATEDB 
bool interrogate_wrapper_is_callable_by_name(FunctionWrapperIndex wrapper);
   267 EXPCL_INTERROGATEDB 
bool interrogate_wrapper_has_comment(FunctionWrapperIndex wrapper);
   268 EXPCL_INTERROGATEDB 
const char *interrogate_wrapper_comment(FunctionWrapperIndex wrapper);
   277 EXPCL_INTERROGATEDB 
bool interrogate_wrapper_has_return_value(FunctionWrapperIndex wrapper);
   278 EXPCL_INTERROGATEDB TypeIndex interrogate_wrapper_return_type(FunctionWrapperIndex wrapper);
   293 EXPCL_INTERROGATEDB 
bool interrogate_wrapper_caller_manages_return_value(FunctionWrapperIndex wrapper);
   294 EXPCL_INTERROGATEDB FunctionIndex interrogate_wrapper_return_value_destructor(FunctionWrapperIndex wrapper);
   297 EXPCL_INTERROGATEDB 
int interrogate_wrapper_number_of_parameters(FunctionWrapperIndex wrapper);
   298 EXPCL_INTERROGATEDB TypeIndex interrogate_wrapper_parameter_type(FunctionWrapperIndex wrapper, 
int n);
   299 EXPCL_INTERROGATEDB 
bool interrogate_wrapper_parameter_has_name(FunctionWrapperIndex wrapper, 
int n);
   300 EXPCL_INTERROGATEDB 
const char *interrogate_wrapper_parameter_name(FunctionWrapperIndex wrapper, 
int n);
   301 EXPCL_INTERROGATEDB 
bool interrogate_wrapper_parameter_is_this(FunctionWrapperIndex wrapper, 
int n);
   310 EXPCL_INTERROGATEDB 
bool interrogate_wrapper_has_pointer(FunctionWrapperIndex wrapper);
   311 EXPCL_INTERROGATEDB 
void *interrogate_wrapper_pointer(FunctionWrapperIndex wrapper);
   322 EXPCL_INTERROGATEDB 
const char *interrogate_wrapper_unique_name(FunctionWrapperIndex wrapper);
   331 EXPCL_INTERROGATEDB FunctionWrapperIndex interrogate_get_wrapper_by_unique_name(
const char *unique_name);
   340 EXPCL_INTERROGATEDB 
const char *interrogate_make_seq_seq_name(MakeSeqIndex make_seq);
   341 EXPCL_INTERROGATEDB 
const char *interrogate_make_seq_scoped_name(MakeSeqIndex make_seq);
   342 EXPCL_INTERROGATEDB 
bool interrogate_make_seq_has_comment(ElementIndex element);
   343 EXPCL_INTERROGATEDB 
const char *interrogate_make_seq_comment(ElementIndex element);
   345 EXPCL_INTERROGATEDB 
const char *interrogate_make_seq_num_name(MakeSeqIndex make_seq);
   347 EXPCL_INTERROGATEDB 
const char *interrogate_make_seq_element_name(MakeSeqIndex make_seq);
   366 EXPCL_INTERROGATEDB 
int interrogate_number_of_global_types();
   367 EXPCL_INTERROGATEDB TypeIndex interrogate_get_global_type(
int n);
   368 EXPCL_INTERROGATEDB 
int interrogate_number_of_types();
   369 EXPCL_INTERROGATEDB TypeIndex interrogate_get_type(
int n);
   370 EXPCL_INTERROGATEDB TypeIndex interrogate_get_type_by_name(
const char *type_name);
   371 EXPCL_INTERROGATEDB TypeIndex interrogate_get_type_by_scoped_name(
const char *type_name);
   372 EXPCL_INTERROGATEDB TypeIndex interrogate_get_type_by_true_name(
const char *type_name);
   373 EXPCL_INTERROGATEDB 
bool interrogate_type_is_global(TypeIndex type);
   374 EXPCL_INTERROGATEDB 
const char *interrogate_type_name(TypeIndex type);
   375 EXPCL_INTERROGATEDB 
const char *interrogate_type_scoped_name(TypeIndex type);
   376 EXPCL_INTERROGATEDB 
const char *interrogate_type_true_name(TypeIndex type);
   384 EXPCL_INTERROGATEDB 
bool interrogate_type_is_nested(TypeIndex type);
   385 EXPCL_INTERROGATEDB TypeIndex interrogate_type_outer_class(TypeIndex type);
   387 EXPCL_INTERROGATEDB 
bool interrogate_type_has_comment(TypeIndex type);
   388 EXPCL_INTERROGATEDB 
const char *interrogate_type_comment(TypeIndex type);
   391 EXPCL_INTERROGATEDB 
bool interrogate_type_has_module_name(TypeIndex type);
   392 EXPCL_INTERROGATEDB 
const char *interrogate_type_module_name(TypeIndex type);
   395 EXPCL_INTERROGATEDB 
bool interrogate_type_has_library_name(TypeIndex type);
   396 EXPCL_INTERROGATEDB 
const char *interrogate_type_library_name(TypeIndex type);
   403 EXPCL_INTERROGATEDB 
bool interrogate_type_is_atomic(TypeIndex type);
   404 EXPCL_INTERROGATEDB AtomicToken interrogate_type_atomic_token(TypeIndex type);
   405 EXPCL_INTERROGATEDB 
bool interrogate_type_is_unsigned(TypeIndex type);
   406 EXPCL_INTERROGATEDB 
bool interrogate_type_is_signed(TypeIndex type);
   407 EXPCL_INTERROGATEDB 
bool interrogate_type_is_long(TypeIndex type);
   408 EXPCL_INTERROGATEDB 
bool interrogate_type_is_longlong(TypeIndex type);
   409 EXPCL_INTERROGATEDB 
bool interrogate_type_is_short(TypeIndex type);
   417 EXPCL_INTERROGATEDB 
bool interrogate_type_is_wrapped(TypeIndex type);
   418 EXPCL_INTERROGATEDB 
bool interrogate_type_is_pointer(TypeIndex type);
   419 EXPCL_INTERROGATEDB 
bool interrogate_type_is_const(TypeIndex type);
   420 EXPCL_INTERROGATEDB 
bool interrogate_type_is_typedef(TypeIndex type);
   421 EXPCL_INTERROGATEDB TypeIndex interrogate_type_wrapped_type(TypeIndex type);
   425 EXPCL_INTERROGATEDB 
bool interrogate_type_is_enum(TypeIndex type);
   426 EXPCL_INTERROGATEDB 
int interrogate_type_number_of_enum_values(TypeIndex type);
   427 EXPCL_INTERROGATEDB 
const char *interrogate_type_enum_value_name(TypeIndex type, 
int n);
   428 EXPCL_INTERROGATEDB 
const char *interrogate_type_enum_value_scoped_name(TypeIndex type, 
int n);
   429 EXPCL_INTERROGATEDB 
const char *interrogate_type_enum_value_comment(TypeIndex type, 
int n);
   430 EXPCL_INTERROGATEDB 
int interrogate_type_enum_value(TypeIndex type, 
int n);
   438 EXPCL_INTERROGATEDB 
bool interrogate_type_is_struct(TypeIndex type);
   439 EXPCL_INTERROGATEDB 
bool interrogate_type_is_class(TypeIndex type);
   440 EXPCL_INTERROGATEDB 
bool interrogate_type_is_union(TypeIndex type);
   445 EXPCL_INTERROGATEDB 
bool interrogate_type_is_fully_defined(TypeIndex type);
   450 EXPCL_INTERROGATEDB 
bool interrogate_type_is_unpublished(TypeIndex type);
   473 EXPCL_INTERROGATEDB 
int interrogate_type_number_of_constructors(TypeIndex type);
   474 EXPCL_INTERROGATEDB FunctionIndex interrogate_type_get_constructor(TypeIndex type, 
int n);
   475 EXPCL_INTERROGATEDB 
bool interrogate_type_has_destructor(TypeIndex type);
   476 EXPCL_INTERROGATEDB 
bool interrogate_type_destructor_is_inherited(TypeIndex type);
   477 EXPCL_INTERROGATEDB FunctionIndex interrogate_type_get_destructor(TypeIndex type);
   480 EXPCL_INTERROGATEDB 
int interrogate_type_number_of_elements(TypeIndex type);
   481 EXPCL_INTERROGATEDB ElementIndex interrogate_type_get_element(TypeIndex type, 
int n);
   484 EXPCL_INTERROGATEDB 
int interrogate_type_number_of_methods(TypeIndex type);
   485 EXPCL_INTERROGATEDB FunctionIndex interrogate_type_get_method(TypeIndex type, 
int n);
   488 EXPCL_INTERROGATEDB 
int interrogate_type_number_of_make_seqs(TypeIndex type);
   489 EXPCL_INTERROGATEDB MakeSeqIndex interrogate_type_get_make_seq(TypeIndex type, 
int n);
   495 EXPCL_INTERROGATEDB 
int interrogate_type_number_of_casts(TypeIndex type);
   496 EXPCL_INTERROGATEDB FunctionIndex interrogate_type_get_cast(TypeIndex type, 
int n);
   500 EXPCL_INTERROGATEDB 
int interrogate_type_number_of_derivations(TypeIndex type);
   501 EXPCL_INTERROGATEDB TypeIndex interrogate_type_get_derivation(TypeIndex type, 
int n);
   516 EXPCL_INTERROGATEDB 
bool interrogate_type_derivation_has_upcast(TypeIndex type, 
int n);
   517 EXPCL_INTERROGATEDB FunctionIndex interrogate_type_get_upcast(TypeIndex type, 
int n);
   528 EXPCL_INTERROGATEDB 
bool interrogate_type_derivation_downcast_is_impossible(TypeIndex type, 
int n);
   529 EXPCL_INTERROGATEDB 
bool interrogate_type_derivation_has_downcast(TypeIndex type, 
int n);
   530 EXPCL_INTERROGATEDB FunctionIndex interrogate_type_get_downcast(TypeIndex type, 
int n);
   534 EXPCL_INTERROGATEDB 
int interrogate_type_number_of_nested_types(TypeIndex type);
   535 EXPCL_INTERROGATEDB TypeIndex interrogate_type_get_nested_type(TypeIndex type, 
int n);