#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "amxd_priv.h"
#include <amxd/amxd_common.h>
#include <amxd/amxd_object.h>
#include <amxd/amxd_action.h>
#include <amxd/amxd_function.h>
#include "amxd_dm_priv.h"
#include "amxd_object_priv.h"
#include "amxd_assert.h"
Go to the source code of this file.
|
static int | is_brace (int c) |
|
static bool | amxd_object_can_invoke_function (const amxd_object_t *const object, const amxd_function_t *const func) |
|
static void | amxd_function_remove_in_args (amxd_function_t *func, amxc_var_t *args) |
|
static amxd_status_t | amxd_object_invoke_check (amxd_object_t *const object, amxd_function_t **func, const char *func_name, amxc_var_t *const args) |
|
amxd_status_t | amxd_object_add_function (amxd_object_t *const object, amxd_function_t *const func) |
| Adds an RPC method definition to the object definition. More...
|
|
amxd_status_t | amxd_object_change_function (amxd_object_t *const object, const char *name, amxd_object_fn_t impl) |
| Changes the implementation of an object's RPC method. More...
|
|
amxd_function_t * | amxd_object_get_function (const amxd_object_t *const object, const char *name) |
| Get the definition of a RPC method from an object. More...
|
|
amxd_status_t | amxd_object_invoke_function (amxd_object_t *const object, const char *func_name, amxc_var_t *const args, amxc_var_t *const ret) |
| Calls an object RPC method. More...
|
|
uint32_t | amxd_object_get_function_count (amxd_object_t *const object, amxd_dm_access_t access) |
| Retruns the number of RPC methods available in an object. More...
|
|
◆ _GNU_SOURCE
◆ amxd_function_remove_in_args()
static void amxd_function_remove_in_args |
( |
amxd_function_t * |
func, |
|
|
amxc_var_t * |
args |
|
) |
| |
|
static |
Definition at line 95 of file amxd_object_function.c.
97 amxc_var_t*
call_id = GET_ARG(args,
"_call_id");
99 amxc_llist_for_each(it, (&func->
args)) {
101 amxc_var_t* in_arg = amxc_var_get_key(args,
103 AMXC_VAR_FLAG_DEFAULT);
105 amxc_var_delete(&in_arg);
◆ amxd_object_can_invoke_function()
Definition at line 78 of file amxd_object_function.c.
static amxd_object_type_t amxd_object_get_type(const amxd_object_t *const object)
Returns the object type.
◆ amxd_object_invoke_check()
Definition at line 110 of file amxd_object_function.c.
116 when_null(
object, exit);
119 when_true_status(amxc_var_type_of(args) != AMXC_VAR_ID_HTABLE,
130 when_null_status((*func)->impl,
static bool amxd_object_can_invoke_function(const amxd_object_t *const object, const amxd_function_t *const func)
enum _amxd_status amxd_status_t
@ amxd_status_invalid_name
@ amxd_status_function_not_implemented
@ amxd_status_invalid_function
@ amxd_status_invalid_function_argument
@ amxd_status_unknown_error
@ amxd_status_function_not_found
amxd_function_t * amxd_object_get_function(const amxd_object_t *const object, const char *name)
Get the definition of a RPC method from an object.
bool amxd_function_are_args_valid(amxd_function_t *func, amxc_var_t *args)
Validates that the input arguments are valid.
◆ is_brace()
static int is_brace |
( |
int |
c | ) |
|
|
static |