summaryrefslogtreecommitdiff
path: root/src/object.c
diff options
context:
space:
mode:
authorGabriel Wang <[email protected]>2022-01-07 23:35:44 +0000
committerGabriel Wang <[email protected]>2022-01-07 23:35:44 +0000
commitd7b8cf81e6285f3cbb0817cbe79c527f10ff56b7 (patch)
tree3e47ead2e339c0f1181c9ca2f4ffbfec9536d7eb /src/object.c
parent495e209f379338b2bbc4ba086e457d0fb6d22a8d (diff)
move some __on_rt_xxxxx_hook from rtdef.h to dedicated c soure files
Diffstat (limited to 'src/object.c')
-rw-r--r--src/object.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/object.c b/src/object.c
index 76534f4566..46e53a7f99 100644
--- a/src/object.c
+++ b/src/object.c
@@ -13,6 +13,7 @@
* 2010-10-26 yi.qiu add module support in rt_object_allocate and rt_object_free
* 2017-12-10 Bernard Add object_info enum.
* 2018-01-25 Bernard Fix the object find issue when enable MODULE.
+ * 2022-01-07 Gabriel Moving __on_rt_xxxxx_hook to object.c
*/
#include <rtthread.h>
@@ -113,7 +114,25 @@ static struct rt_object_information _object_container[RT_Object_Info_Unknown] =
#endif
};
-#ifdef RT_USING_HOOK
+
+#ifndef __on_rt_object_attach_hook
+ #define __on_rt_object_attach_hook(obj) __ON_HOOK_ARGS(rt_object_attach_hook, (obj))
+#endif
+#ifndef __on_rt_object_detach_hook
+ #define __on_rt_object_detach_hook(obj) __ON_HOOK_ARGS(rt_object_detach_hook, (obj))
+#endif
+#ifndef __on_rt_object_trytake_hook
+ #define __on_rt_object_trytake_hook(parent) __ON_HOOK_ARGS(rt_object_trytake_hook, (parent))
+#endif
+#ifndef __on_rt_object_take_hook
+ #define __on_rt_object_take_hook(parent) __ON_HOOK_ARGS(rt_object_take_hook, (parent))
+#endif
+#ifndef __on_rt_object_put_hook
+ #define __on_rt_object_put_hook(parent) __ON_HOOK_ARGS(rt_object_put_hook, (parent))
+#endif
+
+
+#if defined(RT_USING_HOOK) && defined(RT_HOOK_USING_FUNC_PTR)
static void (*rt_object_attach_hook)(struct rt_object *object);
static void (*rt_object_detach_hook)(struct rt_object *object);
void (*rt_object_trytake_hook)(struct rt_object *object);