![]() |
MySQL 9.5.0
Source Code Documentation
|
Namespaces | |
| namespace | anonymous_namespace{jit_executor_type_conversion.cc} |
| namespace | anonymous_namespace{polyglot_array_wrapper.cc} |
| namespace | anonymous_namespace{polyglot_column.cc} |
| namespace | anonymous_namespace{polyglot_common_context.cc} |
| namespace | anonymous_namespace{polyglot_date.cc} |
| namespace | anonymous_namespace{polyglot_error.cc} |
| namespace | anonymous_namespace{polyglot_file_system_wrapper.cc} |
| namespace | anonymous_namespace{polyglot_function_wrapper.cc} |
| namespace | anonymous_namespace{polyglot_iterator_wrapper.cc} |
| namespace | anonymous_namespace{polyglot_map_wrapper.cc} |
| namespace | anonymous_namespace{polyglot_object_wrapper.cc} |
| namespace | anonymous_namespace{polyglot_result.cc} |
| namespace | anonymous_namespace{polyglot_row.cc} |
| namespace | anonymous_namespace{polyglot_seekable_channel_wrapper.cc} |
| namespace | anonymous_namespace{polyglot_session.cc} |
| namespace | anonymous_namespace{polyglot_utils.cc} |
| namespace | database |
Classes | |
| class | Closed_channel_exception |
| class | Collectable |
| Represents a data object to be associated to a Polyglot wrapper for C++ elements. More... | |
| class | Collectable_registry |
| When a Polyglot wrapper for a C++ object is created, a collectable instance is created to be passed to the Polyglot object (Java). More... | |
| class | Column |
| class | Date |
| class | Directory_not_empty_exception |
| class | File_already_exists_exception |
| class | File_system_exception |
| class | Garbage_collector |
| The Garbage Collection logic is determined by the occurrence of events such as: More... | |
| class | ICollectable |
| Base collectable interface to be able to determine the type of a collectable object without with no need to cast it. More... | |
| class | IDirectory_stream |
| class | IFile_system |
| class | Illegal_argument_exception |
| class | IO_exception |
| class | IPolyglot_iterator |
| class | ISeekable_channel |
| struct | IsolateArgs |
| class | Java_script_interface |
| class | Jit_executor_exception |
| class | No_such_file_exception |
| class | Not_directory_exception |
| class | Object_bridge |
| class | Object_method |
| class | Polyglot_array_wrapper |
| class | Polyglot_common_context |
| Common context for GraalVM Languages. More... | |
| class | Polyglot_error |
| Represents polyglot errors that will be created from information available in the polyglot library state, it handles cases like: More... | |
| class | Polyglot_file_system_wrapper |
| class | Polyglot_function |
| Utility class to allow wrapping a Polyglot function to be used from C++. More... | |
| class | Polyglot_function_wrapper |
| class | Polyglot_generic_error |
| This class is used to represent errors occurred in the polyglot library while executing one of the functions in the API. More... | |
| class | Polyglot_iterator_wrapper |
| class | Polyglot_language |
| The polyglot library may support several languages (guest languages), and provides out of the box C++ interfaces to handle common language elements, such as Objects, Maps, Arrays, Functions and primitive data types. More... | |
| class | Polyglot_map_wrapper |
| class | Polyglot_method_wrapper |
| class | Polyglot_native_wrapper |
| Exposure of C++ objects to the polyglot library is done through the usage of Proxy objects provided by the polyglot library. More... | |
| class | Polyglot_object |
| Utility class to allow wrapping a Polyglot object to be used from the C++. More... | |
| class | Polyglot_object_wrapper |
| class | Polyglot_scope |
| Utility class to create a polyglot handle scope which is wiped out as soon as the instance goes out of scope in C++, this is used to avoid polluting the main scope with references preventing garbage collection from cleaning no longer needed objects. More... | |
| class | Polyglot_seekable_channel_wrapper |
| class | Polyglot_storage |
| A container for stored values. More... | |
| struct | Polyglot_type_bridger |
| class | PolyResult |
| class | Row |
| class | Scoped_global |
| Allows creating a temporary global variable with a random name which will only live until the execution context of the instance of this class ends. More... | |
| class | Security_exception |
| class | Session |
| class | Store |
| Helper class to handle polyglot values made permanent. More... | |
| class | Unsupported_operation_exception |
Typedefs | |
| typedef std::shared_ptr< Object_bridge > | Object_bridge_t |
Enumerations | |
| enum class | Collectable_type { OBJECT , FUNCTION , METHOD , ARRAY , MAP , ITERATOR } |
| enum class | Language { JAVASCRIPT } |
Functions | |
| template<typename F , typename... Args> | |
| void | throw_if_error (F f, poly_thread thread, Args &&...args) |
| size_t | parse_callback_args (poly_thread thread, poly_callback_info args, std::vector< poly_value > *argv, void **data) |
| Parses the callback information sent by polyglot, returning if requested a vector with the arguments as well as the collectable associated to the call. More... | |
| bool | get_data (poly_thread thread, poly_callback_info args, std::string_view name, void **data) |
| Returns the collectable sent by Polyglot on a call to a C++ function. More... | |
| bool | get_args_and_data (poly_thread thread, poly_callback_info args, std::string_view name, void **data, size_t expected_argc, std::vector< poly_value > *argv) |
| Returns the collectable and arguments sent by Polyglot on a call to a C++ function. More... | |
| bool | is_native_type (poly_thread thread, poly_value value, Collectable_type type, void **native_data=nullptr) |
| Identifies if a given poly_value corresponds to a wrapped C++ element. More... | |
| std::string | to_string (poly_thread thread, poly_value obj) |
| Converts a polyglot string into a C++ string. More... | |
| int64_t | to_int (poly_thread thread, poly_value obj) |
| Converts a polyglot string into a C++ int64_t. More... | |
| double | to_double (poly_thread thread, poly_value obj) |
| Converts a polyglot string into a C++ double. More... | |
| double | to_boolean (poly_thread thread, poly_value obj) |
| Converts a polyglot string into a C++ double. More... | |
| poly_value | poly_string (poly_thread thread, poly_context context, std::string_view data) |
| Converts a string into a polyglot string. More... | |
| poly_value | poly_bool (poly_thread thread, poly_context context, bool value) |
| Converts a bool into a polyglot boolean. More... | |
| poly_value | poly_int (poly_thread thread, poly_context context, int64_t value) |
| Converts a bool into a polyglot boolean. More... | |
| poly_value | poly_uint (poly_thread thread, poly_context context, uint64_t value) |
| Converts a bool into a polyglot boolean. More... | |
| poly_value | poly_double (poly_thread thread, poly_context context, double value) |
| Converts a double into a polyglot double. More... | |
| poly_value | poly_null (poly_thread thread, poly_context context) |
| Returns a polyglot null value. More... | |
| poly_value | poly_array (poly_thread thread, poly_context context, const std::vector< poly_value > &values) |
| Converts an array of poly_values into a polyglot array. More... | |
| std::vector< std::string > | get_member_keys (poly_thread thread, poly_context context, poly_value object) |
| Retrieves the names of the members of the given poly_value. More... | |
| void | throw_callback_exception (poly_thread thread, const char *error) |
| The integration of the PolyglotAPI is mostly centered in the registration of C++ callbacks to implement the functionality for the different proxy objects. More... | |
| poly_value | get_member (poly_thread thread, poly_value object, const std::string &name) |
| Retrieves a member identified with name from the given object. More... | |
| bool | is_executable (poly_thread thread, poly_value object) |
| Returns true if the given value is executable. More... | |
| bool | get_member (poly_thread thread, poly_value object, const char *name, poly_value *member) |
| bool | is_object (poly_thread thread, poly_value object, std::string *class_name) |
| template<typename Target , typename Config > | |
| static poly_value | polyglot_handler_fixed_args (poly_thread thread, poly_callback_info args) |
| Generic handler to be used with functions that interact with the polyglot library, this is: More... | |
| template<typename Target , typename Config > | |
| static poly_value | native_handler_fixed_args (poly_thread thread, poly_callback_info args) |
| Generic handler to be used with pure native functions, no interaction with the polyglot library is done: More... | |
| template<typename Target , typename Config > | |
| static poly_value | polyglot_handler_no_args (poly_thread thread, poly_callback_info args) |
| Generic handler to be used with functions that interact with the polyglot library: More... | |
| template<typename Target , typename Config > | |
| static poly_value | native_handler_no_args (poly_thread thread, poly_callback_info args) |
| Generic handler to be used with pure native functions, no interaction with the polyglot library is done: More... | |
| template<typename Target , typename Config > | |
| static poly_value | native_handler_variable_args (poly_thread thread, poly_callback_info args) |
| Generic handler to be used with pure native functions, no interaction with the polyglot library is done: More... | |
Variables | |
| const char * | k_key_message {"message"} |
| const char * | k_origin_shell {"(shell)"} |
| const char * | k_syntax_error {"SyntaxError"} |
| const char * | k_interrupted_error {"InterruptedError"} |
| typedef std::shared_ptr<Object_bridge> shcore::polyglot::Object_bridge_t |
|
strong |
|
strong |
| bool shcore::polyglot::get_args_and_data | ( | poly_thread | thread, |
| poly_callback_info | args, | ||
| std::string_view | name, | ||
| void ** | data, | ||
| size_t | expected_argc, | ||
| std::vector< poly_value > * | argv | ||
| ) |
Returns the collectable and arguments sent by Polyglot on a call to a C++ function.
This function is meant to be used in C++ functions that expect a specific number of arguments since it centralizes a validation to ensure the expected arguments were received.
| bool shcore::polyglot::get_data | ( | poly_thread | thread, |
| poly_callback_info | args, | ||
| std::string_view | name, | ||
| void ** | data | ||
| ) |
Returns the collectable sent by Polyglot on a call to a C++ function.
This function is meant to be used in C++ functions that have no arguments.
It also centralizes a validation to ensure no arguments are sent by Polyglot.
| bool shcore::polyglot::get_member | ( | poly_thread | thread, |
| poly_value | object, | ||
| const char * | name, | ||
| poly_value * | member | ||
| ) |
| poly_value shcore::polyglot::get_member | ( | poly_thread | thread, |
| poly_value | object, | ||
| const std::string & | name | ||
| ) |
Retrieves a member identified with name from the given object.
| std::vector< std::string > shcore::polyglot::get_member_keys | ( | poly_thread | thread, |
| poly_context | context, | ||
| poly_value | object | ||
| ) |
Retrieves the names of the members of the given poly_value.
| bool shcore::polyglot::is_executable | ( | poly_thread | thread, |
| poly_value | object | ||
| ) |
Returns true if the given value is executable.
| bool shcore::polyglot::is_native_type | ( | poly_thread | thread, |
| poly_value | value, | ||
| Collectable_type | type, | ||
| void ** | native_data | ||
| ) |
Identifies if a given poly_value corresponds to a wrapped C++ element.
| bool shcore::polyglot::is_object | ( | poly_thread | thread, |
| poly_value | object, | ||
| std::string * | class_name | ||
| ) |
|
static |
Generic handler to be used with pure native functions, no interaction with the polyglot library is done:
|
static |
Generic handler to be used with pure native functions, no interaction with the polyglot library is done:
|
static |
Generic handler to be used with pure native functions, no interaction with the polyglot library is done:
| size_t shcore::polyglot::parse_callback_args | ( | poly_thread | thread, |
| poly_callback_info | args, | ||
| std::vector< poly_value > * | argv, | ||
| void ** | data | ||
| ) |
Parses the callback information sent by polyglot, returning if requested a vector with the arguments as well as the collectable associated to the call.
Returns the collectable and arguments sent by Polyglot on a call to a C++ function.
This function is meant to be used by a C++ function that does not require to validate the argument count.
| poly_value shcore::polyglot::poly_array | ( | poly_thread | thread, |
| poly_context | context, | ||
| const std::vector< poly_value > & | values | ||
| ) |
Converts an array of poly_values into a polyglot array.
| poly_value shcore::polyglot::poly_bool | ( | poly_thread | thread, |
| poly_context | context, | ||
| bool | value | ||
| ) |
Converts a bool into a polyglot boolean.
| poly_value shcore::polyglot::poly_double | ( | poly_thread | thread, |
| poly_context | context, | ||
| double | value | ||
| ) |
Converts a double into a polyglot double.
| poly_value shcore::polyglot::poly_int | ( | poly_thread | thread, |
| poly_context | context, | ||
| int64_t | value | ||
| ) |
Converts a bool into a polyglot boolean.
| poly_value shcore::polyglot::poly_null | ( | poly_thread | thread, |
| poly_context | context | ||
| ) |
Returns a polyglot null value.
| poly_value shcore::polyglot::poly_string | ( | poly_thread | thread, |
| poly_context | context, | ||
| std::string_view | data | ||
| ) |
Converts a string into a polyglot string.
| poly_value shcore::polyglot::poly_uint | ( | poly_thread | thread, |
| poly_context | context, | ||
| uint64_t | value | ||
| ) |
Converts a bool into a polyglot boolean.
|
static |
Generic handler to be used with functions that interact with the polyglot library, this is:
|
static |
Generic handler to be used with functions that interact with the polyglot library:
| void shcore::polyglot::throw_callback_exception | ( | poly_thread | thread, |
| const char * | error | ||
| ) |
The integration of the PolyglotAPI is mostly centered in the registration of C++ callbacks to implement the functionality for the different proxy objects.
Whenever an exception is reported from any of these callbacks, a CallbackException object is created in the PolyglotAPI.
This function is to report a callback exception from C++.
|
inline |
| double shcore::polyglot::to_boolean | ( | poly_thread | thread, |
| poly_value | obj | ||
| ) |
Converts a polyglot string into a C++ double.
| double shcore::polyglot::to_double | ( | poly_thread | thread, |
| poly_value | obj | ||
| ) |
Converts a polyglot string into a C++ double.
| int64_t shcore::polyglot::to_int | ( | poly_thread | thread, |
| poly_value | obj | ||
| ) |
Converts a polyglot string into a C++ int64_t.
| std::string shcore::polyglot::to_string | ( | poly_thread | thread, |
| poly_value | obj | ||
| ) |
Converts a polyglot string into a C++ string.
|
inline |
|
inline |
|
inline |
|
inline |