TeBkUm.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /*
  2. * TeBkUm.h
  3. *
  4. * Created on: 03-Feb-2020
  5. * Author: sumeetc
  6. */
  7. #ifndef WEB_TE_BENCHMARK_UM_INCLUDE_TeBkUm_H_
  8. #define WEB_TE_BENCHMARK_UM_INCLUDE_TeBkUm_H_
  9. #include "TemplateHandler.h"
  10. #include "vector"
  11. #include "DataSourceManager.h"
  12. #include <stdlib.h>
  13. #include <algorithm>
  14. #include "CryptoHandler.h"
  15. #include "vector"
  16. #include "CastUtil.h"
  17. #include <stdlib.h>
  18. #include "CacheManager.h"
  19. #include "HttpRequest.h"
  20. #include "HttpResponse.h"
  21. #include "JSONSerialize.h"
  22. #include "string"
  23. #include "TeBkUmWorld.h"
  24. #include "yuarel.h"
  25. #include "Router.h"
  26. typedef std::string (*TeBkUmTemplatePtr) (Context*);
  27. #pragma @Entity
  28. #pragma @Table name="fortune"
  29. class TeBkUmFortune {
  30. #pragma @Id dbf="id"
  31. int id;
  32. #pragma @Column dbf="message"
  33. std::string message;
  34. public:
  35. TeBkUmFortune();
  36. virtual ~TeBkUmFortune();
  37. int getId() const;
  38. void setId(int id);
  39. const std::string& getMessage() const;
  40. void setMessage(const std::string& message);
  41. bool operator < (const TeBkUmFortune& other) const;
  42. };
  43. class TeBkUmMessage {
  44. std::string message;
  45. public:
  46. virtual ~TeBkUmMessage();
  47. const std::string& getMessage() const;
  48. void setMessage(const std::string& message);
  49. };
  50. #pragma @Router
  51. class TeBkUmRouter : public Router {
  52. static const std::string HELLO_WORLD;
  53. static std::string WORLD;
  54. bool strToNum(const char* str, int len, int& ret);
  55. void db(TeBkUmWorld&);
  56. void queries(const char*, int, std::vector<TeBkUmWorld>&);
  57. void updates(const char*, int, std::vector<TeBkUmWorld>&);
  58. void cachedWorlds(const char*, int, std::vector<TeBkUmWorld>&);
  59. void getContext(HttpRequest* request, Context* context);
  60. public:
  61. void updateCache();
  62. void route(HttpRequest* req, HttpResponse* res, void* dlib, void* ddlib);
  63. };
  64. #endif /* WEB_TE_BENCHMARK_UM_INCLUDE_TeBkUm_H_ */