wf.hrl 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. -ifndef(N2O_HRL).
  2. -define(N2O_HRL, true).
  3. -record(handler, { name, module, class, group, config, state}).
  4. -record(cx, { handlers, actions, req, module, lang, path, session, formatter=false, params, form, state=[] }).
  5. -define(CTX, (get(context))).
  6. -define(REQ, (get(context))#cx.req).
  7. % API
  8. -define(HANDLER_API, [init/2, finish/2]).
  9. -define(FAULTER_API, [error_page/2]).
  10. -define(ROUTING_API, [init/2, finish/2]).
  11. -define(QUERING_API, [init/2, finish/2]).
  12. -define(SESSION_API, [init/2, finish/2, get_value/2, set_value/2, clear/0]).
  13. -define(PICKLES_API, [pickle/1, depickle/1]).
  14. -define(MESSAGE_API, [send/2, reg/1, reg/2, unreg/1]).
  15. % IO protocol
  16. -record(io, { eval, data }).
  17. -record(bin, { data }).
  18. % Client/Server protocol
  19. -record(client, { data }).
  20. -record(server, { data }).
  21. % Nitrogen Protocol
  22. -record(pickle, { source, pickled, args }).
  23. -record(flush, { data }).
  24. -record(direct, { data }).
  25. -record(ev, { module, msg, trigger, name }).
  26. % File Transfer Protocol
  27. -record(ftp, { id, sid, filename, meta, other1 = <<"">>, other2 = <<"">>, other3 = <<"">>, size, offset, block, data, status }).
  28. % HTTP
  29. -record(http, { url, method, body, headers = [] }).
  30. -endif.