Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/func.h')
-rw-r--r--src/core/func.h36
1 files changed, 22 insertions, 14 deletions
diff --git a/src/core/func.h b/src/core/func.h
index eacd47e..f42eff7 100644
--- a/src/core/func.h
+++ b/src/core/func.h
@@ -27,49 +27,55 @@ typedef void(* GameFuncPtr)(Player *player, std::string const &args);
typedef void(* TargetFuncPtr)(Player *player, Entity *entity);
/// a function pointer encapsulation class
-class Func
+class Func
{
public:
/// function flags
- enum Flags {Game=1, Shared=2, Target=4};
-
+ enum Flags {Game = 1, Shared = 2, Target = 4};
+
/// create a new function
Func(char const * name, void *ptr, unsigned int flags = 0);
-
+
~Func();
-/*----- inspectors ------------------------------------------------ */
+ /*----- inspectors ------------------------------------------------ */
/// returns the fucuntion flags
- inline unsigned int flags() const { return func_flags; }
+ inline unsigned int flags() const {
+ return func_flags;
+ }
/// returns the name of the function
- inline std::string const &name() const { return func_name; }
+ inline std::string const &name() const {
+ return func_name;
+ }
/// returns the info of the function
- inline std::string const &info() { return func_info; }
+ inline std::string const &info() {
+ return func_info;
+ }
+
+ /*----- mutators -------------------------------------------------- */
-/*----- mutators -------------------------------------------------- */
-
/// set the info string
void set_info(const char *);
/// execute the function if the Game flag is not set
void exec(std::string const &args);
-
+
/// execute the function if the Game flag is set
void exec(Player *player, std::string const &args);
/// execute the function if the Target flag is set
void exec(Player *player, Entity *entity);
-/* ---- Static functions for the Func registry -------------------- */
+ /* ---- Static functions for the Func registry -------------------- */
/// type definition
typedef std::map<std::string, Func*> Registry;
/// add a function to the registry
- static Func *add(const char *name, FuncPtr functionptr, bool shared=false);
+ static Func *add(const char *name, FuncPtr functionptr, bool shared = false);
/// add a game function to the registry and set the Game flag
static Func *add(const char *name, GameFuncPtr functionptr);
@@ -90,7 +96,9 @@ public:
static void list();
/// the function registry
- static inline Registry & registry() { return func_registry; }
+ static inline Registry & registry() {
+ return func_registry;
+ }
private:
std::string func_name;