env.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef AFUN__ENV_H_PUBLIC
  2. #define AFUN__ENV_H_PUBLIC
  3. #include "macro.h"
  4. #include "tool.h"
  5. typedef struct af_Environment af_Environment;
  6. typedef struct af_Message af_Message;
  7. DEFINE_DLC_SYMBOL(TopMsgProcessFunc, TopMsgProcessFunc);
  8. #include "code.h"
  9. #include "object.h"
  10. #include "var.h"
  11. af_Object *getBaseObject(char *name, af_Environment *env);
  12. af_Environment *makeEnvironment(void);
  13. bool addTopActivity(af_Code *code, af_Environment *env);
  14. bool enableEnvironment(af_Environment *env);
  15. void freeEnvironment(af_Environment *env);
  16. bool addVarToProtectVarSpace(af_Var *var, af_Environment *env);
  17. af_Message *makeMessage(char *type, size_t size);
  18. af_Message *freeMessage(af_Message *msg);
  19. void freeAllMessage(af_Message *msg);
  20. void pushMessageUp(af_Message *msg, af_Environment *env);
  21. void pushMessageDown(af_Message *msg, af_Environment *env);
  22. void *popMessageUpData(char *type, af_Environment *env);
  23. af_Message *popMessageUp(af_Environment *env);
  24. void *getMessageData(af_Message *msg);
  25. af_Message *popMessageDown(char *type, af_Environment *env);
  26. af_Message *getFirstMessage(af_Environment *env);
  27. void connectMessage(af_Message **base, af_Message *msg);
  28. void setEnvVar(char *name, char *data, af_Environment *env);
  29. char *findEnvVar(char *name, af_Environment *env);
  30. void addTopMsgProcess(char *type, DLC_SYMBOL(TopMsgProcessFunc) func,
  31. af_Environment *env);
  32. bool changeTopMsgProcess(char *type, DLC_SYMBOL(TopMsgProcessFunc) func,
  33. af_Environment *env);
  34. #endif //AFUN__ENV_H_PUBLIC