JsonObjectBase.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * Arduino JSON library
  3. * Benoit Blanchon 2014 - MIT License
  4. */
  5. #pragma once
  6. #include "jsmn.h"
  7. namespace ArduinoJson
  8. {
  9. namespace Parser
  10. {
  11. class JsonObjectBase
  12. {
  13. public:
  14. JsonObjectBase()
  15. {
  16. makeInvalid();
  17. }
  18. bool success()
  19. {
  20. return json != 0 && tokens != 0;
  21. }
  22. protected:
  23. JsonObjectBase(char* json, jsmntok_t* tokens)
  24. {
  25. this->json = json;
  26. this->tokens = tokens;
  27. }
  28. void makeInvalid()
  29. {
  30. json = 0;
  31. tokens = 0;
  32. }
  33. static int getNestedTokenCount(jsmntok_t* token);
  34. bool getBoolFromToken(jsmntok_t* token);
  35. double getDoubleFromToken(jsmntok_t* token);
  36. long getLongFromToken(jsmntok_t* token);
  37. char* getStringFromToken(jsmntok_t* token);
  38. char* json;
  39. jsmntok_t* tokens;
  40. };
  41. }
  42. }