/* core/func.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_CORE_FUNC_H__ #define __INCLUDED_CORE_FUNC_H__ #include "sys/sys.h" #include namespace core { /// function pointer type typedef void (* Func)(std::stringstream &args); /// the function registry namespace func { /// add a function to the registry void add(const char *functionname, Func functionptr); /// remove a function from the registry void remove(const char *functionname); void remove(const std::string &functionname); /// find a fuction pointer /** Returns 0 if the function pointer could not be found */ Func find(const std::string &functionname); /// list the function registry void list(); } // namespace func } // namespace core #endif // __INCLUDED_CORE_FUNC_H__