command.h 739 B

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include <rpcdb.h>
  3. #include <string>
  4. #include <vector>
  5. using std::string;
  6. using std::vector;
  7. class command {
  8. protected:
  9. response res;
  10. protected:
  11. command();
  12. /* NOTE: Server checkers begin. */
  13. bool user_exists(string username);
  14. bool session_key_exists(unsigned long key);
  15. void insert_new_user(string username, unsigned long key);
  16. void remove_user(string username, unsigned long key);
  17. unsigned long get_user_key(string username);
  18. vector<sensor_data>* get_user_db(unsigned long key);
  19. /* NOTE: Server checkers end. */
  20. virtual command_type get_command() = 0;
  21. virtual response perform(request* req) = 0;
  22. public:
  23. virtual ~command();
  24. response execute(request* req);
  25. };