Eolian: Update bindings

This commit is contained in:
Kai Huuhko 2014-09-15 15:25:55 +03:00
parent 9b70139a7f
commit 71371c00e0
3 changed files with 1168 additions and 110 deletions

View File

@ -11,7 +11,6 @@
.. attribute:: PROP_SET
.. attribute:: PROP_GET
.. attribute:: METHOD
.. attribute:: CTOR
.. autoclass:: ParameterDir
@ -27,7 +26,94 @@
.. attribute:: MIXIN
.. attribute:: INTERFACE
.. autoclass:: FunctionScope
.. autoclass:: ObjectScope
.. attribute:: PUBLIC
.. attribute:: PRIVATE
.. attribute:: PROTECTED
.. autoclass:: TypeType
.. attribute:: UNKNOWN
.. attribute:: VOID
.. attribute:: REGULAR
.. attribute:: REGULAR_STRUCT
.. attribute:: REGULAR_ENUM
.. attribute:: COMPLEX
.. attribute:: POINTER
.. attribute:: FUNCTION
.. attribute:: STRUCT
.. attribute:: STRUCT_OPAQUE
.. attribute:: ENUM
.. attribute:: ALIAS
.. attribute:: CLASS
.. autoclass:: ExpressionType
.. attribute:: UNKNOWN
.. attribute:: INT
.. attribute:: UINT
.. attribute:: LONG
.. attribute:: ULONG
.. attribute:: LLONG
.. attribute:: ULLONG
.. attribute:: FLOAT
.. attribute:: DOUBLE
.. attribute:: STRING
.. attribute:: CHAR
.. attribute:: NULL_
.. attribute:: BOOL
.. attribute:: NAME
.. attribute:: ENUM
.. attribute:: UNARY
.. attribute:: BINARY
.. autoclass:: ExpressionMask
.. attribute:: SINT
.. attribute:: UINT
.. attribute:: INT
.. attribute:: FLOAT
.. attribute:: BOOL
.. attribute:: STRING
.. attribute:: CHAR
.. attribute:: NULL_
.. attribute:: NUMBER
.. attribute:: ALL
.. autoclass:: VariableType
.. attribute:: UNKNOWN
.. attribute:: CONSTANT
.. attribute:: GLOBAL
.. autoclass:: BinaryOperator
.. attribute:: INVALID
.. attribute:: ADD
.. attribute:: SUB
.. attribute:: MUL
.. attribute:: DIV
.. attribute:: MOD
.. attribute:: EQ
.. attribute:: NQ
.. attribute:: GT
.. attribute:: LT
.. attribute:: GE
.. attribute:: LE
.. attribute:: AND
.. attribute:: OR
.. attribute:: BAND
.. attribute:: BOR
.. attribute:: BXOR
.. attribute:: LSH
.. attribute:: RSH
.. autoclass:: UnaryOperator
.. attribute:: INVALID
.. attribute:: UNM
.. attribute:: UNP
.. attribute:: NOT
.. attribute:: BNOT

View File

@ -7,7 +7,6 @@ cdef extern from "Eolian.h":
EOLIAN_PROP_SET
EOLIAN_PROP_GET
EOLIAN_METHOD
EOLIAN_CTOR
ctypedef enum Eolian_Parameter_Dir:
EOLIAN_IN_PARAM
@ -21,8 +20,9 @@ cdef extern from "Eolian.h":
EOLIAN_CLASS_MIXIN
EOLIAN_CLASS_INTERFACE
ctypedef enum Eolian_Function_Scope:
ctypedef enum Eolian_Object_Scope:
EOLIAN_SCOPE_PUBLIC
EOLIAN_SCOPE_PRIVATE
EOLIAN_SCOPE_PROTECTED
ctypedef enum Eolian_Type_Type:
@ -30,10 +30,86 @@ cdef extern from "Eolian.h":
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
@ -55,10 +131,49 @@ cdef extern from "Eolian.h":
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"
@ -75,9 +190,13 @@ cdef extern from "Eolian.h":
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)
@ -94,48 +213,78 @@ cdef extern from "Eolian.h":
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_Function_Scope eolian_function_scope_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_data_get(const Eolian_Function *function_id, const char *key)
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)
void eolian_parameter_information_get(const Eolian_Function_Parameter *param_desc, Eolian_Parameter_Dir *param_dir, const Eolian_Type **type, const char **name, const char **description)
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)
Eina_Stringshare *eolian_function_return_default_value_get(const Eolian_Function *foo_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)
Eina_Bool eolian_implement_information_get(const Eolian_Implement *impl, const Eolian_Class **klass, const Eolian_Function **function, Eolian_Function_Type *type)
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_Bool eolian_class_event_information_get(const Eolian_Event *event, const char **event_name, const Eolian_Type **event_type, const char **event_desc)
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_field_names_get(const Eolian_Type *tp)
const Eolian_Type *eolian_type_struct_field_get(const Eolian_Type *tp, const char *field)
Eina_Stringshare *eolian_type_struct_field_description_get(const Eolian_Type *tp, const char *field)
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)
@ -144,3 +293,28 @@ cdef extern from "Eolian.h":
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)

File diff suppressed because it is too large Load Diff