Lines Matching defs:data

33 template <typename T> bool API_EXPORT ReadTlv(T &output, TLVObject &data, TAG tag);

35 template <typename T> size_t API_EXPORT CountBufferSize(const T &input, TLVObject &data);
36 template <typename T> bool API_EXPORT Writing(const T &input, TLVObject &data, TAG tag);
37 template <typename T> bool API_EXPORT Reading(T &output, TLVObject &data, const TLVHead &head);
39 template <typename... _Types> size_t API_EXPORT CountBufferSize(const std::variant<_Types...> &input, TLVObject &data);
40 template <typename... _Types> bool API_EXPORT Writing(const std::variant<_Types...> &input, TLVObject &data, TAG tag);
42 bool API_EXPORT Reading(std::variant<_Types...> &output, TLVObject &data, const TLVHead &head);
44 template <typename T> size_t API_EXPORT CountBufferSize(const std::shared_ptr<T> &input, TLVObject &data);
45 template <typename T> bool API_EXPORT Writing(const std::shared_ptr<T> &input, TLVObject &data, TAG tag);
46 template <typename T> bool API_EXPORT Reading(std::shared_ptr<T> &output, TLVObject &data, const TLVHead &head);
48 template <typename T> size_t API_EXPORT CountBufferSize(const std::vector<T> &input, TLVObject &data);
49 template <typename T> bool API_EXPORT Writing(const std::vector<T> &input, TLVObject &data, TAG tag);
50 template <typename T> bool API_EXPORT Reading(std::vector<T> &output, TLVObject &data, const TLVHead &head);
52 template <typename T, typename R> size_t API_EXPORT CountBufferSize(const std::map<T, R> &input, TLVObject &data);
53 template <typename T, typename R> bool API_EXPORT Writing(const std::map<T, R> &input, TLVObject &data, TAG tag);
54 template <typename T, typename R> bool API_EXPORT Reading(std::map<T, R> &output, TLVObject &data, const TLVHead &head);
56 template <> size_t API_EXPORT CountBufferSize(const std::nullptr_t &input, TLVObject &data);
57 template <> bool API_EXPORT Writing(const std::nullptr_t &input, TLVObject &data, TAG tag);
58 template <> bool API_EXPORT Reading(std::nullptr_t &output, TLVObject &data, const TLVHead &head);
60 template <> size_t API_EXPORT CountBufferSize(const std::monostate &input, TLVObject &data);
61 template <> bool API_EXPORT Writing(const std::monostate &input, TLVObject &data, TAG tag);
62 template <> bool API_EXPORT Reading(std::monostate &output, TLVObject &data, const TLVHead &head);
64 template <> size_t API_EXPORT CountBufferSize(const std::string &input, TLVObject &data);
65 template <> bool API_EXPORT Writing(const std::string &input, TLVObject &data, TAG tag);
66 template <> bool API_EXPORT Reading(std::string &output, TLVObject &data, const TLVHead &head);
68 template <> size_t API_EXPORT CountBufferSize(const std::vector<uint8_t> &input, TLVObject &data);
69 template <> bool API_EXPORT Writing(const std::vector<uint8_t> &input, TLVObject &data, TAG tag);
70 template <> bool API_EXPORT Reading(std::vector<uint8_t> &output, TLVObject &data, const TLVHead &head);
72 template <> size_t API_EXPORT CountBufferSize(const UDType &input, TLVObject &data);
73 template <> bool API_EXPORT Writing(const UDType &input, TLVObject &data, TAG tag);
74 template <> bool API_EXPORT Reading(UDType &output, TLVObject &data, const TLVHead &head);
76 template <> size_t API_EXPORT CountBufferSize(const DataStatus &input, TLVObject &data);
77 template <> bool API_EXPORT Writing(const DataStatus &input, TLVObject &data, TAG tag);
78 template <> bool API_EXPORT Reading(DataStatus &output, TLVObject &data, const TLVHead &head);
80 template <> size_t API_EXPORT CountBufferSize(const Object &input, TLVObject &data);
81 template <> bool API_EXPORT Writing(const Object &input, TLVObject &data, TAG tag);
82 template <> bool API_EXPORT Reading(Object &output, TLVObject &data, const TLVHead &head);
84 template <> size_t API_EXPORT CountBufferSize(const UnifiedKey &input, TLVObject &data);
85 template <> bool API_EXPORT Writing(const UnifiedKey &input, TLVObject &data, TAG tag);
86 template <> bool API_EXPORT Reading(UnifiedKey &output, TLVObject &data, const TLVHead &head);
88 template <> size_t API_EXPORT CountBufferSize(const UnifiedData &input, TLVObject &data);
89 template <> bool API_EXPORT Writing(const UnifiedData &input, TLVObject &data, TAG tag);
90 template <> bool API_EXPORT Reading(UnifiedData &output, TLVObject &data, const TLVHead &head);
92 template <> size_t API_EXPORT CountBufferSize(const UnifiedRecord &input, TLVObject &data);
93 template <> bool API_EXPORT Writing(const UnifiedRecord &input, TLVObject &data, TAG tag);
94 template <> bool API_EXPORT Reading(UnifiedRecord &output, TLVObject &data, const TLVHead &head);
96 template <> size_t API_EXPORT CountBufferSize(const Runtime &input, TLVObject &data);
97 template <> bool API_EXPORT Writing(const Runtime &input, TLVObject &data, TAG tag);
98 template <> bool API_EXPORT Reading(Runtime &output, TLVObject &data, const TLVHead &head);
100 template <> size_t API_EXPORT CountBufferSize(const Privilege &input, TLVObject &data);
101 template <> bool API_EXPORT Writing(const Privilege &input, TLVObject &data, TAG tag);
102 template <> bool API_EXPORT Reading(Privilege &output, TLVObject &data, const TLVHead &head);
104 template <> size_t API_EXPORT CountBufferSize(const std::shared_ptr<OHOS::Media::PixelMap> &input, TLVObject &data);
105 template <> bool API_EXPORT Writing(const std::shared_ptr<OHOS::Media::PixelMap> &input, TLVObject &data, TAG tag);
107 bool API_EXPORT Reading(std::shared_ptr<OHOS::Media::PixelMap> &output, TLVObject &data, const TLVHead &head);
109 template <> size_t API_EXPORT CountBufferSize(const std::shared_ptr<OHOS::AAFwk::Want> &input, TLVObject &data);
110 template <> bool API_EXPORT Writing(const std::shared_ptr<OHOS::AAFwk::Want> &input, TLVObject &data, TAG tag);
111 template <> bool API_EXPORT Reading(std::shared_ptr<OHOS::AAFwk::Want> &output, TLVObject &data, const TLVHead &head);
113 template <typename T> bool ReadTlv(T &output, TLVObject &data, TAG tag)
115 while (data.GetCursor() < data.GetTotal()) {
117 if (!data.ReadHead(head)) {
121 data.Skip(head);
124 if (!Reading(output, data, head)) {
131 template <typename T> void InitWhenFirst(T input, TLVObject &data)
133 if (data.GetCursor() == data.GetTotal()) {
134 CountBufferSize(input, data);
135 data.UpdateSize();
139 template <typename T> size_t CountBufferSize(const T &input, TLVObject &data)
141 return data.CountBasic(input);
144 template <typename T> bool Writing(const T &input, TLVObject &data, TAG tag)
146 InitWhenFirst(input, data);
147 return data.WriteBasic(tag, input);
150 template <typename T> bool Reading(T &output, TLVObject &data, const TLVHead &head)
152 return data.ReadBasic(output, head);
155 template <typename T> size_t CountBufferSize(const std::shared_ptr<T> &input, TLVObject &data)
158 return data.CountHead();
160 return CountBufferSize(*input, data);
163 template <typename T> bool Writing(const std::shared_ptr<T> &input, TLVObject &data, TAG tag)
168 InitWhenFirst(input, data);
169 return Writing(*input, data, tag);
172 template <typename T> bool Reading(std::shared_ptr<T> &output, TLVObject &data, const TLVHead &head)
177 return Reading(*output, data, head);
180 template <typename T> size_t CountBufferSize(const std::vector<T> &input, TLVObject &data)
182 auto size = data.CountHead() + data.CountBasic(input.size());
184 size += CountBufferSize(item, data);
189 template <typename T> bool Writing(const std::vector<T> &input, TLVObject &data, TAG tag)
191 InitWhenFirst(input, data);
192 auto tagCursor = data.GetCursor();
193 data.OffsetHead();
194 if (!data.WriteBasic(TAG::TAG_VECTOR_SIZE, input.size())) {
199 if (!Writing(item, data, TAG::TAG_VECTOR_ITEM)) {
204 return data.WriteBackHead(static_cast<uint16_t>(tag), tagCursor, data.GetCursor() - tagCursor - sizeof(TLVHead));
207 template <typename T> bool Reading(std::vector<T> &output, TLVObject &data, const TLVHead &head)
209 auto endCursor = data.GetCursor() + head.len;
210 while (data.GetCursor() < endCursor) {
212 if (!data.ReadHead(itemHead)) {
217 if (!Reading(item, data, itemHead)) {
223 if (!data.Skip(itemHead)) {
230 template <typename T, typename R> size_t CountBufferSize(const std::map<T, R> &input, TLVObject &data)
232 auto size = data.CountHead();
234 size += data.CountHead() + CountBufferSize(item.first, data) + CountBufferSize(item.second, data);
239 template <typename T, typename R> bool Writing(const std::map<T, R> &input, TLVObject &data, TAG tag)
241 InitWhenFirst(input, data);
242 auto tagCursor = data.GetCursor();
243 data.OffsetHead();
246 auto pairCursor = data.GetCursor();
247 data.OffsetHead();
248 if (!TLVUtil::Writing(item.first, data, TAG::TAG_MAP_KEY)) {
251 if (!TLVUtil::Writing(item.second, data, TAG::TAG_MAP_VALUE)) {
254 if (!data.WriteBackHead(static_cast<uint16_t>(TAG::TAG_MAP_PAIR), pairCursor,
255 data.GetCursor() - pairCursor - sizeof(TLVHead))) {
260 return data.WriteBackHead(static_cast<uint16_t>(tag), tagCursor, data.GetCursor() - tagCursor - sizeof(TLVHead));
263 template <typename T, typename R> bool Reading(std::map<T, R> &output, TLVObject &data, const TLVHead &head)
265 auto endCursor = data.GetCursor() + head.len;
266 while (data.GetCursor() < endCursor) {
268 if (!data.ReadHead(headPair)) {
275 if (!data.ReadHead(headKey) || headKey.tag != static_cast<uint16_t>(TAG::TAG_MAP_KEY)) {
279 if (!Reading(itemKey, data, headKey)) {
283 if (!data.ReadHead(headValue) || headValue.tag != static_cast<uint16_t>(TAG::TAG_MAP_VALUE)) {
287 if (!Reading(itemValue, data, headValue)) {
295 template <typename _InTp> size_t CountVariant(TLVObject &data, uint32_t step, const _InTp &intput)
301 size_t CountVariant(TLVObject &data, uint32_t step, const _InTp &input)
304 return CountBufferSize(std::get<_First>(input), data);
306 return CountVariant<_InTp, _Rest...>(data, step + 1, input);
309 template <typename... _Types> size_t CountBufferSize(const std::variant<_Types...> &input, TLVObject &data)
315 return data.CountHead() + data.CountBasic(index) + CountVariant<decltype(input), _Types...>(data, 0, input);
318 template <typename _InTp> bool WriteVariant(TLVObject &data, uint32_t step, const _InTp &input, TAG tag)
324 bool WriteVariant(TLVObject &data, uint32_t step, const _InTp &input, TAG tag)
328 return Writing(val, data, tag);
330 return WriteVariant<_InTp, _Rest...>(data, step + 1, input, tag);
333 template <typename... _Types> bool Writing(const std::variant<_Types...> &input, TLVObject &data, TAG tag)
335 InitWhenFirst(input, data);
336 auto tagCursor = data.GetCursor();
337 data.OffsetHead();
339 if (!data.WriteBasic(TAG::TAG_VARIANT_INDEX, index)) {
342 if (!WriteVariant<decltype(input), _Types...>(data, 0, input, TAG::TAG_VARIANT_ITEM)) {
345 return data.WriteBackHead(static_cast<uint16_t>(tag), tagCursor, data.GetCursor() - tagCursor - sizeof(TLVHead));
348 template <typename _OutTp> bool ReadVariant(TLVObject &data, uint32_t step, uint32_t index, _OutTp &value, TLVHead head)
354 bool ReadVariant(TLVObject &data, uint32_t step, uint32_t index, _OutTp &value, TLVHead head)
358 auto success = Reading(output, data, head);
362 return ReadVariant<_OutTp, _Rest...>(data, step + 1, index, value, head);
365 template <typename... _Types> bool Reading(std::variant<_Types...> &output, TLVObject &data, const TLVHead &head)
368 auto endCursor = data.GetCursor() + head.len;
369 while (data.GetCursor() < endCursor) {
371 if (!data.ReadHead(headItem)) {
375 if (!Reading(index, data, headItem)) {
379 return ReadVariant<decltype(output), _Types...>(data, 0, index, output, headItem);