Twitch SDK (Internal)
corejsonutil.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 namespace ttv
7 {
8  struct UserInfo;
9 
13  bool ParseString(const ttv::json::Value& root, const char* key, std::string& result);
14 
19  bool ParseString(const ttv::json::Value& root, const std::string& key, std::string& result, const char* defaultValue);
20 
24  bool ParseBool(const ttv::json::Value& root, const char* key, bool& result);
25 
30  bool ParseBool(const ttv::json::Value& root, const char* key, bool& result, bool defaultValue);
31 
35  bool ParseUInt(const ttv::json::Value& root, const char* key, uint64_t& result);
36 
40  bool ParseUInt(const ttv::json::Value& root, const char* key, uint32_t& result);
41 
46  bool ParseUInt(const ttv::json::Value& root, const char* key, uint64_t& result, uint64_t defaultValue);
47 
51  bool ParseInt(const ttv::json::Value& root, const char* key, int64_t& result);
52 
57  bool ParseInt(const ttv::json::Value& root, const char* key, int64_t& result, int64_t defaultValue);
58 
62  bool ParseDouble(const ttv::json::Value& root, const char* key, double& result);
63 
68  bool ParseDouble(const ttv::json::Value& root, const char* key, double& result, double defaultValue);
69 
73  bool ParseDocument(const std::string& body, ttv::json::Value& result);
77  bool ParseDocument(const char* begin, const char* end, ttv::json::Value& result);
81  bool ParseDocument(const uint8_t* begin, const uint8_t* end, ttv::json::Value& result);
85  bool ParseDocument(const std::vector<char>& body, ttv::json::Value& result);
86 
87  bool JsonArrayToVector(const ttv::json::Value& jArray, std::vector<float>& result);
88  bool JsonArrayToVector(const ttv::json::Value& jArray, std::vector<std::string>& result);
89 
90  bool ParseUserId(const json::Value& jId, UserId& result);
91  bool ParseChannelId(const json::Value& jId, ChannelId& result);
92  bool ParseGameId(const json::Value& jId, GameId& result);
93  bool ParseTimestamp(const json::Value& jTimestamp, Timestamp& result);
94  bool ParseTimestamp(const ttv::json::Value& root, const char* key, Timestamp& result);
95  bool ParseColor(const std::string& str, Color& result);
96  bool ParseColor(const ttv::json::Value& root, const char* key, Color& result);
97  bool ParseColor(const ttv::json::Value& root, const char* key, Color& result, Color defaultValue);
98 
99  bool GenerateColorString(Color color, std::string& colorString);
100 
101  bool ParseUInt32(const json::Value& jValue, uint32_t& result);
102  bool ParseFloat(const json::Value& jValue, float& result);
103 
107  bool ParseChannelInfo(const ttv::json::Value& root, ChannelInfo& model);
108  bool ParseStreamInfo(const ttv::json::Value& root, StreamInfo& model);
109 }
uint32_t UserId
Definition: coretypes.h:22
bool ParseTimestamp(const json::Value &jTimestamp, Timestamp &result)
bool ParseBool(const ttv::json::Value &root, const char *key, bool &result)
bool ParseString(const ttv::json::Value &root, const char *key, std::string &result)
bool ParseDouble(const ttv::json::Value &root, const char *key, double &result)
uint32_t GameId
Definition: coretypes.h:24
uint32_t Timestamp
Definition: coretypes.h:27
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
Represents a JSON value.
Definition: value.h:114
bool ParseStreamInfo(const ttv::json::Value &root, StreamInfo &model)
bool ParseUInt32(const json::Value &jValue, uint32_t &result)
bool JsonArrayToVector(const ttv::json::Value &jArray, std::vector< float > &result)
bool GenerateColorString(Color color, std::string &colorString)
bool ParseGameId(const json::Value &jId, GameId &result)
bool ParseFloat(const json::Value &jValue, float &result)
bool ParseChannelId(const json::Value &jId, ChannelId &result)
bool ParseDocument(const std::string &body, ttv::json::Value &result)
bool ParseUserId(const json::Value &jId, UserId &result)
uint32_t ChannelId
Definition: coretypes.h:23
bool ParseColor(const std::string &str, Color &result)
bool ParseInt(const ttv::json::Value &root, const char *key, int64_t &result)
uint32_t Color
Definition: coretypes.h:28
bool ParseChannelInfo(const ttv::json::Value &root, ChannelInfo &model)
bool ParseUInt(const ttv::json::Value &root, const char *key, uint64_t &result)