python-efl/efl/eolian/__init__.pxd

321 lines
16 KiB
Cython

from efl.eina cimport Eina_Iterator, Eina_Bool, Eina_Stringshare
cdef extern from "Eolian.h":
ctypedef enum Eolian_Function_Type:
EOLIAN_UNRESOLVED
EOLIAN_PROPERTY
EOLIAN_PROP_SET
EOLIAN_PROP_GET
EOLIAN_METHOD
ctypedef enum Eolian_Parameter_Dir:
EOLIAN_IN_PARAM
EOLIAN_OUT_PARAM
EOLIAN_INOUT_PARAM
ctypedef enum Eolian_Class_Type:
EOLIAN_CLASS_UNKNOWN_TYPE
EOLIAN_CLASS_REGULAR
EOLIAN_CLASS_ABSTRACT
EOLIAN_CLASS_MIXIN
EOLIAN_CLASS_INTERFACE
ctypedef enum Eolian_Object_Scope:
EOLIAN_SCOPE_PUBLIC
EOLIAN_SCOPE_PRIVATE
EOLIAN_SCOPE_PROTECTED
ctypedef enum Eolian_Type_Type:
EOLIAN_TYPE_UNKNOWN_TYPE
EOLIAN_TYPE_VOID
EOLIAN_TYPE_REGULAR
EOLIAN_TYPE_REGULAR_STRUCT
EOLIAN_TYPE_REGULAR_ENUM
EOLIAN_TYPE_COMPLEX
EOLIAN_TYPE_POINTER
EOLIAN_TYPE_FUNCTION
EOLIAN_TYPE_STRUCT
EOLIAN_TYPE_STRUCT_OPAQUE
EOLIAN_TYPE_ENUM
EOLIAN_TYPE_ALIAS
EOLIAN_TYPE_CLASS
ctypedef enum Eolian_Expression_Type:
EOLIAN_EXPR_UNKNOWN = 0
EOLIAN_EXPR_INT
EOLIAN_EXPR_UINT
EOLIAN_EXPR_LONG
EOLIAN_EXPR_ULONG
EOLIAN_EXPR_LLONG
EOLIAN_EXPR_ULLONG
EOLIAN_EXPR_FLOAT
EOLIAN_EXPR_DOUBLE
EOLIAN_EXPR_STRING
EOLIAN_EXPR_CHAR
EOLIAN_EXPR_NULL
EOLIAN_EXPR_BOOL
EOLIAN_EXPR_NAME
EOLIAN_EXPR_ENUM
EOLIAN_EXPR_UNARY
EOLIAN_EXPR_BINARY
ctypedef enum Eolian_Expression_Mask:
EOLIAN_MASK_SINT
EOLIAN_MASK_UINT
EOLIAN_MASK_INT
EOLIAN_MASK_FLOAT
EOLIAN_MASK_BOOL
EOLIAN_MASK_STRING
EOLIAN_MASK_CHAR
EOLIAN_MASK_NULL
EOLIAN_MASK_NUMBER
EOLIAN_MASK_ALL
ctypedef enum Eolian_Variable_Type:
EOLIAN_VAR_UNKNOWN = 0
EOLIAN_VAR_CONSTANT
EOLIAN_VAR_GLOBAL
ctypedef enum Eolian_Binary_Operator:
EOLIAN_BINOP_INVALID = -1
EOLIAN_BINOP_ADD # + int float
EOLIAN_BINOP_SUB # - int float
EOLIAN_BINOP_MUL # * int float
EOLIAN_BINOP_DIV # / int float
EOLIAN_BINOP_MOD # % int
EOLIAN_BINOP_EQ # == all types
EOLIAN_BINOP_NQ # != all types
EOLIAN_BINOP_GT # > int float
EOLIAN_BINOP_LT # < int float
EOLIAN_BINOP_GE # >= int float
EOLIAN_BINOP_LE # <= int float
EOLIAN_BINOP_AND # && all types
EOLIAN_BINOP_OR # || all types
EOLIAN_BINOP_BAND # & int
EOLIAN_BINOP_BOR # | int
EOLIAN_BINOP_BXOR # ^ int
EOLIAN_BINOP_LSH # << int
EOLIAN_BINOP_RSH # >> int
ctypedef enum Eolian_Unary_Operator:
EOLIAN_UNOP_INVALID = -1
EOLIAN_UNOP_UNM # - sint
EOLIAN_UNOP_UNP # + sint
EOLIAN_UNOP_NOT # ! int, float bool
EOLIAN_UNOP_BNOT # ~ int
#Class type used to extract information on classes
ctypedef struct _Eolian_Class
ctypedef _Eolian_Class Eolian_Class
# Function Id used to extract information on class functions
ctypedef struct _Eolian_Function
ctypedef _Eolian_Function Eolian_Function
# Parameter/return type.
ctypedef struct _Eolian_Type
ctypedef _Eolian_Type Eolian_Type
# Class function parameter information
ctypedef struct _Eolian_Function_Parameter
ctypedef _Eolian_Function_Parameter Eolian_Function_Parameter
# Class implement information
ctypedef struct _Eolian_Implement
ctypedef _Eolian_Implement Eolian_Implement
# Class constructor information
ctypedef struct _Eolian_Constructor
ctypedef _Eolian_Constructor Eolian_Constructor
# Event information
ctypedef struct _Eolian_Event
ctypedef _Eolian_Event Eolian_Event
# Expression information
ctypedef struct _Eolian_Expression
ctypedef _Eolian_Expression Eolian_Expression
# Variable information
ctypedef struct _Eolian_Variable
ctypedef _Eolian_Variable Eolian_Variable
# Struct field information
ctypedef struct _Eolian_Struct_Type_Field
ctypedef _Eolian_Struct_Type_Field Eolian_Struct_Type_Field
# Enum field information
ctypedef struct _Eolian_Enum_Type_Field
ctypedef _Eolian_Enum_Type_Field Eolian_Enum_Type_Field
ctypedef union Eolian_Value_Union:
char c
Eina_Bool b
const char *s
signed int i
unsigned int u
signed long l
unsigned long ul
signed long long ll
unsigned long long ull
float f
double d
cdef struct _Eolian_Value:
Eolian_Expression_Type type
Eolian_Value_Union value
ctypedef _Eolian_Value Eolian_Value
#define EOLIAN_LEGACY "legacy"
#define EOLIAN_LEGACY_GET "legacy_get"
#define EOLIAN_LEGACY_SET "legacy_set"
#define EOLIAN_COMMENT "comment"
#define EOLIAN_COMMENT_SET "comment_set"
#define EOLIAN_COMMENT_GET "comment_get"
Eina_Bool eolian_eo_file_parse(const char *filename)
Eina_Bool eolian_eot_file_parse(const char *filepath)
int eolian_init()
int eolian_shutdown()
Eina_Bool eolian_directory_scan(const char *dir)
Eina_Bool eolian_system_directory_scan()
Eina_Bool eolian_all_eo_files_parse()
Eina_Bool eolian_all_eot_files_parse()
Eina_Bool eolian_database_validate()
Eina_Bool eolian_show_class(const Eolian_Class *klass)
Eina_Bool eolian_show_typedef(const char *alias)
Eina_Bool eolian_show_struct(const char *name)
Eina_Bool eolian_show_enum(const char *name)
Eina_Bool eolian_show_global(const char *name)
Eina_Bool eolian_show_constant(const char *name)
void eolian_show_all()
const Eolian_Class *eolian_class_get_by_name(const char *class_name)
const Eolian_Class *eolian_class_get_by_file(const char *file_name)
Eina_Stringshare *eolian_class_file_get(const Eolian_Class *klass)
Eina_Stringshare *eolian_class_full_name_get(const Eolian_Class *klass)
Eina_Stringshare *eolian_class_name_get(const Eolian_Class *klass)
Eina_Iterator *eolian_class_namespaces_get(const Eolian_Class *klass)
Eolian_Class_Type eolian_class_type_get(const Eolian_Class *klass)
Eina_Iterator *eolian_all_classes_get()
Eina_Stringshare *eolian_class_description_get(const Eolian_Class *klass)
Eina_Stringshare *eolian_class_legacy_prefix_get(const Eolian_Class *klass)
Eina_Stringshare* eolian_class_eo_prefix_get(const Eolian_Class *klass)
Eina_Stringshare *eolian_class_data_type_get(const Eolian_Class *klass)
Eina_Iterator *eolian_class_inherits_get(const Eolian_Class *klass)
Eina_Iterator *eolian_class_functions_get(const Eolian_Class *klass, Eolian_Function_Type func_type)
Eolian_Function_Type eolian_function_type_get(const Eolian_Function *function_id)
Eolian_Object_Scope eolian_function_scope_get(const Eolian_Function *function_id)
Eina_Stringshare *eolian_function_name_get(const Eolian_Function *function_id)
Eina_Stringshare *eolian_function_full_c_name_get(const Eolian_Function *function_id, const char *prefix)
const Eolian_Function *eolian_class_function_get_by_name(const Eolian_Class *klass, const char *func_name, Eolian_Function_Type f_type)
Eina_Stringshare *eolian_function_legacy_get(const Eolian_Function *function_id, Eolian_Function_Type f_type)
Eina_Stringshare *eolian_function_description_get(const Eolian_Function *function_id, Eolian_Function_Type f_type)
Eina_Bool eolian_function_is_virtual_pure(const Eolian_Function *function_id, Eolian_Function_Type f_type)
Eina_Bool eolian_function_is_auto(const Eolian_Function *function_id, Eolian_Function_Type f_type)
Eina_Bool eolian_function_is_empty(const Eolian_Function *function_id, Eolian_Function_Type f_type)
Eina_Bool eolian_function_is_legacy_only(const Eolian_Function *function_id, Eolian_Function_Type ftype)
Eina_Bool eolian_function_is_class(const Eolian_Function *function_id)
const Eolian_Function_Parameter *eolian_function_parameter_get_by_name(const Eolian_Function *function_id, const char *param_name)
Eina_Iterator *eolian_function_parameters_get(const Eolian_Function *function_id)
Eina_Iterator *eolian_property_keys_get(const Eolian_Function *foo_id)
Eina_Iterator *eolian_property_values_get(const Eolian_Function *foo_id)
Eolian_Parameter_Dir eolian_parameter_direction_get(const Eolian_Function_Parameter *param)
const Eolian_Type *eolian_parameter_type_get(const Eolian_Function_Parameter *param)
const Eolian_Expression *eolian_parameter_default_value_get(const Eolian_Function_Parameter *param)
Eina_Stringshare *eolian_parameter_name_get(const Eolian_Function_Parameter *param)
Eina_Stringshare *eolian_parameter_description_get(const Eolian_Function_Parameter *param)
Eina_Bool eolian_parameter_const_attribute_get(const Eolian_Function_Parameter *param_desc, Eina_Bool is_get)
Eina_Bool eolian_parameter_is_nonull(const Eolian_Function_Parameter *param_desc)
const Eolian_Type *eolian_function_return_type_get(const Eolian_Function *function_id, Eolian_Function_Type ftype)
const Eolian_Expression *eolian_function_return_default_value_get(const Eolian_Function *foo_id, Eolian_Function_Type ftype)
Eina_Stringshare *eolian_function_return_comment_get(const Eolian_Function *foo_id, Eolian_Function_Type ftype)
Eina_Bool eolian_function_return_is_warn_unused(const Eolian_Function *foo_id, Eolian_Function_Type ftype)
Eina_Bool eolian_function_object_is_const(const Eolian_Function *function_id)
Eina_Stringshare *eolian_implement_full_name_get(const Eolian_Implement *impl)
const Eolian_Class *eolian_implement_class_get(const Eolian_Implement *impl)
const Eolian_Function *eolian_implement_function_get(const Eolian_Implement *impl, Eolian_Function_Type *func_type)
Eina_Bool eolian_implement_is_auto(const Eolian_Implement *impl)
Eina_Bool eolian_implement_is_empty(const Eolian_Implement *impl)
Eina_Bool eolian_implement_is_virtual(const Eolian_Implement *impl)
Eina_Bool eolian_implement_is_prop_get(const Eolian_Implement *impl)
Eina_Bool eolian_implement_is_prop_set(const Eolian_Implement *impl)
Eina_Iterator *eolian_class_implements_get(const Eolian_Class *klass)
Eina_Stringshare *eolian_constructor_full_name_get(const Eolian_Constructor *ctor)
const Eolian_Class *eolian_constructor_class_get(const Eolian_Constructor *ctor)
const Eolian_Function *eolian_constructor_function_get(const Eolian_Constructor *ctor)
Eina_Iterator *eolian_class_constructors_get(const Eolian_Class *klass)
Eina_Iterator *eolian_class_events_get(const Eolian_Class *klass)
Eina_Stringshare *eolian_event_name_get(const Eolian_Event *event)
const Eolian_Type *eolian_event_type_get(const Eolian_Event *event)
Eina_Stringshare *eolian_event_description_get(const Eolian_Event *event)
Eolian_Object_Scope eolian_event_scope_get(const Eolian_Event *event)
Eina_Bool eolian_class_ctor_enable_get(const Eolian_Class *klass)
Eina_Bool eolian_class_dtor_enable_get(const Eolian_Class *klass)
const Eolian_Type *eolian_type_alias_get_by_name(const char *name)
const Eolian_Type *eolian_type_struct_get_by_name(const char *name)
const Eolian_Type *eolian_type_enum_get_by_name(const char *name)
Eina_Iterator *eolian_type_aliases_get_by_file(const char *fname)
Eina_Iterator *eolian_type_structs_get_by_file(const char *fname)
Eina_Iterator *eolian_type_enums_get_by_file(const char *fname)
Eolian_Type_Type eolian_type_type_get(const Eolian_Type *tp)
Eina_Iterator *eolian_type_arguments_get(const Eolian_Type *tp)
Eina_Iterator *eolian_type_subtypes_get(const Eolian_Type *tp)
Eina_Iterator *eolian_type_struct_fields_get(const Eolian_Type *tp)
const Eolian_Struct_Type_Field *eolian_type_struct_field_get(const Eolian_Type *tp, const char *field)
Eina_Stringshare *eolian_type_struct_field_name_get(const Eolian_Struct_Type_Field *fl)
Eina_Stringshare *eolian_type_struct_field_description_get(const Eolian_Struct_Type_Field *fl)
const Eolian_Type *eolian_type_struct_field_type_get(const Eolian_Struct_Type_Field *fl)
Eina_Iterator *eolian_type_enum_fields_get(const Eolian_Type *tp)
const Eolian_Enum_Type_Field *eolian_type_enum_field_get(const Eolian_Type *tp, const char *field)
Eina_Stringshare *eolian_type_enum_field_name_get(const Eolian_Enum_Type_Field *fl)
Eina_Stringshare *eolian_type_enum_field_description_get(const Eolian_Enum_Type_Field *fl)
const Eolian_Expression *eolian_type_enum_field_value_get(const Eolian_Enum_Type_Field *fl)
Eina_Stringshare *eolian_type_enum_legacy_prefix_get(const Eolian_Type *tp)
Eina_Stringshare *eolian_type_description_get(const Eolian_Type *tp)
Eina_Stringshare *eolian_type_file_get(const Eolian_Type *tp)
const Eolian_Type *eolian_type_return_type_get(const Eolian_Type *tp)
const Eolian_Type *eolian_type_base_type_get(const Eolian_Type *tp)
const Eolian_Class *eolian_type_class_get(const Eolian_Type *tp)
Eina_Bool eolian_type_is_own(const Eolian_Type *tp)
Eina_Bool eolian_type_is_const(const Eolian_Type *tp)
Eina_Bool eolian_type_is_extern(const Eolian_Type *tp)
Eina_Stringshare *eolian_type_c_type_named_get(const Eolian_Type *tp, const char *name)
Eina_Stringshare *eolian_type_c_type_get(const Eolian_Type *tp)
Eina_Stringshare *eolian_type_name_get(const Eolian_Type *tp)
Eina_Stringshare *eolian_type_full_name_get(const Eolian_Type *tp)
Eina_Iterator *eolian_type_namespaces_get(const Eolian_Type *tp)
Eina_Stringshare *eolian_type_free_func_get(const Eolian_Type *tp)
Eolian_Value eolian_expression_eval(const Eolian_Expression *expr, Eolian_Expression_Mask m)
Eolian_Value eolian_expression_eval_type(const Eolian_Expression *expr, const Eolian_Type *type)
Eina_Stringshare *eolian_expression_value_to_literal(const Eolian_Value *v)
Eina_Stringshare *eolian_expression_serialize(const Eolian_Expression *expr)
Eolian_Expression_Type eolian_expression_type_get(const Eolian_Expression *expr)
Eolian_Binary_Operator eolian_expression_binary_operator_get(const Eolian_Expression *expr)
const Eolian_Expression *eolian_expression_binary_lhs_get(const Eolian_Expression *expr)
const Eolian_Expression *eolian_expression_binary_rhs_get(const Eolian_Expression *expr)
Eolian_Unary_Operator eolian_expression_unary_operator_get(const Eolian_Expression *expr)
const Eolian_Expression *eolian_expression_unary_expression_get(const Eolian_Expression *expr)
Eolian_Value eolian_expression_value_get(const Eolian_Expression *expr)
const Eolian_Variable *eolian_variable_global_get_by_name(const char *name)
const Eolian_Variable *eolian_variable_constant_get_by_name(const char *name)
Eina_Iterator *eolian_variable_globals_get_by_file(const char *fname)
Eina_Iterator *eolian_variable_constants_get_by_file(const char *fname)
Eolian_Variable_Type eolian_variable_type_get(const Eolian_Variable *var)
Eina_Stringshare *eolian_variable_description_get(const Eolian_Variable *var)
Eina_Stringshare *eolian_variable_file_get(const Eolian_Variable *var)
const Eolian_Type *eolian_variable_base_type_get(const Eolian_Variable *var)
const Eolian_Expression *eolian_variable_value_get(const Eolian_Variable *var)
Eina_Stringshare *eolian_variable_name_get(const Eolian_Variable *var)
Eina_Stringshare *eolian_variable_full_name_get(const Eolian_Variable *var)
Eina_Iterator *eolian_variable_namespaces_get(const Eolian_Variable *var)
Eina_Bool eolian_variable_is_extern(const Eolian_Variable *var)