-TReturn tcore_object_set_dispatcher(CoreObject *co, tcore_object_dispatcher func);
-TReturn tcore_object_dispatch_request(CoreObject *co, UserRequest *ur);
-
-TReturn tcore_object_add_callback(CoreObject *co, const char *event, tcore_object_callback callback, void *user_data);
-TReturn tcore_object_del_callback(CoreObject *co, const char *event, tcore_object_callback callback);
-TReturn tcore_object_override_callback(CoreObject *co, const char *event, tcore_object_callback callback, void *user_data);
-TReturn tcore_object_emit_callback(CoreObject *co, const char *event, const void *event_info);
+TelReturn tcore_object_set_dispatcher(CoreObject *co, TcoreObjectDispatcher func);
+TelReturn tcore_object_dispatch_request(CoreObject *co,
+ gboolean exec_hooks, TcoreCommand command,
+ const void *request, guint request_len,
+ TcorePluginResponseCallback cb, const void *user_data);
+
+TelReturn tcore_object_add_callback(CoreObject *co, const gchar *event,
+ TcoreObjectCallback callback, void *user_data);
+TelReturn tcore_object_del_callback(CoreObject *co, const gchar *event,
+ TcoreObjectCallback callback);
+TelReturn tcore_object_override_callback(CoreObject *co, const gchar *event,
+ TcoreObjectCallback callback, void *user_data);
+TelReturn tcore_object_emit_callback(CoreObject *co, const gchar *event,
+ const void *event_info);
+
+TelReturn tcore_object_add_request_hook(CoreObject *co,
+ TcoreCommand command, TcoreRequestHook func, void *user_data);
+void tcore_object_remove_request_hook(CoreObject *co,
+ TcoreCommand command, TcoreRequestHook func);
+
+TelReturn tcore_object_add_response_hook(CoreObject *co,
+ TcoreCommand command, const void *request,
+ TcoreResponseHook func, void *user_data);
+void tcore_object_remove_response_hook(CoreObject *co,
+ TcoreCommand command, TcoreResponseHook func);
+
+TelReturn tcore_object_add_notification_hook(CoreObject *co,
+ TcoreNotification command, TcoreNotificationHook func, void *user_data);
+void tcore_object_remove_notification_hook(CoreObject *co,
+ TcoreNotification command, TcoreNotificationHook func);
+TelReturn tcore_object_send_notification(CoreObject *co,
+ TcoreNotification command, guint data_len, void *data);