mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-20 23:45:05 +00:00
Add i64 support for Bundle
This commit is contained in:
parent
2e5f6cc0e8
commit
7e308a5ccc
@ -20,6 +20,7 @@ class Bundle final {
|
|||||||
enum class Type {
|
enum class Type {
|
||||||
Bool,
|
Bool,
|
||||||
Int32,
|
Int32,
|
||||||
|
Int64,
|
||||||
String,
|
String,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -28,6 +29,7 @@ class Bundle final {
|
|||||||
union {
|
union {
|
||||||
bool value_bool;
|
bool value_bool;
|
||||||
int32_t value_int32;
|
int32_t value_int32;
|
||||||
|
int64_t value_int64;
|
||||||
};
|
};
|
||||||
std::string value_string;
|
std::string value_string;
|
||||||
} Value;
|
} Value;
|
||||||
@ -44,18 +46,22 @@ public:
|
|||||||
|
|
||||||
bool getBool(const std::string& key) const;
|
bool getBool(const std::string& key) const;
|
||||||
int32_t getInt32(const std::string& key) const;
|
int32_t getInt32(const std::string& key) const;
|
||||||
|
int64_t getInt64(const std::string& key) const;
|
||||||
std::string getString(const std::string& key) const;
|
std::string getString(const std::string& key) const;
|
||||||
|
|
||||||
bool hasBool(const std::string& key) const;
|
bool hasBool(const std::string& key) const;
|
||||||
bool hasInt32(const std::string& key) const;
|
bool hasInt32(const std::string& key) const;
|
||||||
|
bool hasInt64(const std::string& key) const;
|
||||||
bool hasString(const std::string& key) const;
|
bool hasString(const std::string& key) const;
|
||||||
|
|
||||||
bool optBool(const std::string& key, bool& out) const;
|
bool optBool(const std::string& key, bool& out) const;
|
||||||
bool optInt32(const std::string& key, int32_t& out) const;
|
bool optInt32(const std::string& key, int32_t& out) const;
|
||||||
|
bool optInt64(const std::string& key, int64_t& out) const;
|
||||||
bool optString(const std::string& key, std::string& out) const;
|
bool optString(const std::string& key, std::string& out) const;
|
||||||
|
|
||||||
void putBool(const std::string& key, bool value);
|
void putBool(const std::string& key, bool value);
|
||||||
void putInt32(const std::string& key, int32_t value);
|
void putInt32(const std::string& key, int32_t value);
|
||||||
|
void putInt64(const std::string& key, int64_t value);
|
||||||
void putString(const std::string& key, const std::string& value);
|
void putString(const std::string& key, const std::string& value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -10,6 +10,10 @@ int32_t Bundle::getInt32(const std::string& key) const {
|
|||||||
return this->entries.find(key)->second.value_int32;
|
return this->entries.find(key)->second.value_int32;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int64_t Bundle::getInt64(const std::string& key) const {
|
||||||
|
return this->entries.find(key)->second.value_int64;
|
||||||
|
}
|
||||||
|
|
||||||
std::string Bundle::getString(const std::string& key) const {
|
std::string Bundle::getString(const std::string& key) const {
|
||||||
return this->entries.find(key)->second.value_string;
|
return this->entries.find(key)->second.value_string;
|
||||||
}
|
}
|
||||||
@ -24,6 +28,11 @@ bool Bundle::hasInt32(const std::string& key) const {
|
|||||||
return entry != std::end(this->entries) && entry->second.type == Type::Int32;
|
return entry != std::end(this->entries) && entry->second.type == Type::Int32;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Bundle::hasInt64(const std::string& key) const {
|
||||||
|
auto entry = this->entries.find(key);
|
||||||
|
return entry != std::end(this->entries) && entry->second.type == Type::Int64;
|
||||||
|
}
|
||||||
|
|
||||||
bool Bundle::hasString(const std::string& key) const {
|
bool Bundle::hasString(const std::string& key) const {
|
||||||
auto entry = this->entries.find(key);
|
auto entry = this->entries.find(key);
|
||||||
return entry != std::end(this->entries) && entry->second.type == Type::String;
|
return entry != std::end(this->entries) && entry->second.type == Type::String;
|
||||||
@ -49,6 +58,16 @@ bool Bundle::optInt32(const std::string& key, int32_t& out) const {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Bundle::optInt64(const std::string& key, int64_t& out) const {
|
||||||
|
auto entry = this->entries.find(key);
|
||||||
|
if (entry != std::end(this->entries) && entry->second.type == Type::Int64) {
|
||||||
|
out = entry->second.value_int32;
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool Bundle::optString(const std::string& key, std::string& out) const {
|
bool Bundle::optString(const std::string& key, std::string& out) const {
|
||||||
auto entry = this->entries.find(key);
|
auto entry = this->entries.find(key);
|
||||||
if (entry != std::end(this->entries) && entry->second.type == Type::String) {
|
if (entry != std::end(this->entries) && entry->second.type == Type::String) {
|
||||||
@ -75,6 +94,14 @@ void Bundle::putInt32(const std::string& key, int32_t value) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Bundle::putInt64(const std::string& key, int64_t value) {
|
||||||
|
this->entries[key] = {
|
||||||
|
.type = Type::Int64,
|
||||||
|
.value_int64 = value,
|
||||||
|
.value_string = ""
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
void Bundle::putString(const std::string& key, const std::string& value) {
|
void Bundle::putString(const std::string& key, const std::string& value) {
|
||||||
this->entries[key] = {
|
this->entries[key] = {
|
||||||
.type = Type::String,
|
.type = Type::String,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user