diff --git a/camera/sequenceable/map_data/map_data_sequenceable.cpp b/camera/sequenceable/map_data/map_data_sequenceable.cpp index 72ca98480a3bbcb4bdba19e1fc0e3f88d13a6bd8..16b387136c9b0ff94b7ba6e057a46675af5daf7a 100644 --- a/camera/sequenceable/map_data/map_data_sequenceable.cpp +++ b/camera/sequenceable/map_data/map_data_sequenceable.cpp @@ -73,6 +73,10 @@ sptr MapDataSequenceable::Unmarshalling(Parcel &parcel) ret = sequenceData->Set(key, type, parcel.ReadString()); break; } + case MapDataType::U32: { + ret = sequenceData->Set(key, type, parcel.ReadUint32()); + break; + } default: break; } @@ -122,6 +126,13 @@ bool MapDataSequenceable::Marshalling(Parcel &parcel) const dataParcel.WriteString(string); break; } + case MapDataType::U32: { + uint32_t u32 = 0; + auto pVal = std::any_cast(&data.val); + SET_DATA_FROM_POINTER(u32, pVal); + dataParcel.WriteUint32(u32); + break; + } default: break; } @@ -134,6 +145,11 @@ int32_t MapDataSequenceable::Get(const std::string &key, int32_t &value) const return Get(key, MapDataType::I32, value); } +int32_t MapDataSequenceable::Get(const std::string &key, uint32_t &value) const +{ + return Get(key, MapDataType::U32, value); +} + int32_t MapDataSequenceable::Get(const std::string &key, int64_t &value) const { return Get(key, MapDataType::I64, value); @@ -154,6 +170,11 @@ int32_t MapDataSequenceable::Set(const std::string &key, int32_t value) return Set(key, MapDataType::I32, value); } +int32_t MapDataSequenceable::Set(const std::string &key, uint32_t value) +{ + return Set(key, MapDataType::U32, value); +} + int32_t MapDataSequenceable::Set(const std::string &key, int64_t value) { return Set(key, MapDataType::I64, value); diff --git a/camera/sequenceable/map_data/map_data_sequenceable.h b/camera/sequenceable/map_data/map_data_sequenceable.h index 1f6296782e8819d3fb46156ca1955a402dc0d2b3..2a4998a47bce2fde219beb123f0d374f1a0826d5 100644 --- a/camera/sequenceable/map_data/map_data_sequenceable.h +++ b/camera/sequenceable/map_data/map_data_sequenceable.h @@ -36,10 +36,12 @@ public: virtual ~MapDataSequenceable() = default; int32_t Get(const std::string &key, int32_t &value) const; + int32_t Get(const std::string &key, uint32_t &value) const; int32_t Get(const std::string &key, int64_t &value) const; int32_t Get(const std::string &key, double &value) const; int32_t Get(const std::string &key, std::string &value) const; int32_t Set(const std::string &key, int32_t value); + int32_t Set(const std::string &key, uint32_t value); int32_t Set(const std::string &key, int64_t value); int32_t Set(const std::string &key, double value); int32_t Set(const std::string &key, const std::string& value); @@ -54,6 +56,7 @@ private: I64, F64, STRING, + U32, }; template int32_t Get(const std::string &key, MapDataType type, T &value) const;