- void register_function(const std::string& name, int (*code)(int, char**));
- void register_function(const std::string& name, void (*code)(std::vector<std::string>));
- void register_default(int (*code)(int, char**));
+#ifndef DOXYGEN
+ XBT_ATTRIB_DEPRECATED_v330("Please change the return code of your actors to void") void register_function(
+ const std::string& name, int (*code)(int, char**));
+ XBT_ATTRIB_DEPRECATED_v330("Please change the return code of your actors to void") void register_default(
+ int (*code)(int, char**));
+#endif
+
+ void register_function(const std::string& name, const std::function<void(int, char**)>& code);
+ void register_function(const std::string& name, const std::function<void(std::vector<std::string>)>& code);
+ void register_function(const std::string& name, const kernel::actor::ActorCodeFactory& factory);
+
+ void register_default(const std::function<void(int, char**)>& code);
+ void register_default(const kernel::actor::ActorCodeFactory& factory);