summaryrefslogtreecommitdiff
path: root/src/cbor_wrapper/cbor_encoder.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2022-12-02 17:25:53 +1100
committerjacqueline <me@jacqueline.id.au>2022-12-02 17:25:53 +1100
commitc36208016eefcdfdeff045f675f74fdb69dddb52 (patch)
tree817bd458ca14a6dd0d200390a0b11cb2120aa33f /src/cbor_wrapper/cbor_encoder.cpp
parent222c810b07ffc635fc7908d121e97e4d65ccc5c8 (diff)
downloadtangara-fw-c36208016eefcdfdeff045f675f74fdb69dddb52.tar.gz
better cbor handling
Diffstat (limited to 'src/cbor_wrapper/cbor_encoder.cpp')
-rw-r--r--src/cbor_wrapper/cbor_encoder.cpp63
1 files changed, 0 insertions, 63 deletions
diff --git a/src/cbor_wrapper/cbor_encoder.cpp b/src/cbor_wrapper/cbor_encoder.cpp
deleted file mode 100644
index e4e8ee84..00000000
--- a/src/cbor_wrapper/cbor_encoder.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-#include "cbor_encoder.hpp"
-
-#include <cstdint>
-#include <string>
-
-#include "cbor.h"
-#include "cbor_decoder.hpp"
-#include "result.hpp"
-
-namespace cbor {
-
-static const int kEncoderFlags = 0;
-
-Encoder::Encoder(ContainerType type,
- uint32_t container_len,
- uint8_t* buffer,
- size_t buffer_len) {
- cbor_encoder_init(&root_encoder_, buffer, buffer_len, kEncoderFlags);
- switch (type) {
- case CONTAINER_ARRAY:
- error_ = cbor_encoder_create_array(&root_encoder_, &container_encoder_,
- container_len);
- break;
- case CONTAINER_MAP:
- error_ = cbor_encoder_create_map(&root_encoder_, &container_encoder_,
- container_len);
- break;
- }
-}
-
-auto Encoder::WriteValue(const std::string& val) -> void {
- if (error_ != CborNoError) {
- return;
- }
- error_ =
- cbor_encode_text_string(&container_encoder_, val.c_str(), val.size());
-}
-
-auto Encoder::WriteValue(uint32_t val) -> void {
- if (error_ != CborNoError) {
- return;
- }
- error_ = cbor_encode_uint(&container_encoder_, val);
-}
-
-auto Encoder::WriteValue(int32_t val) -> void {
- if (error_ != CborNoError) {
- return;
- }
- error_ = cbor_encode_int(&container_encoder_, val);
-}
-
-auto Encoder::Finish() -> cpp::result<size_t, CborError> {
- if (error_ == CborNoError) {
- error_ = cbor_encoder_close_container(&root_encoder_, &container_encoder_);
- }
- if (error_ != CborNoError) {
- return cpp::fail(error_);
- }
- return cbor_encoder_get_buffer_size(&root_encoder_, buffer_);
-}
-
-} // namespace cbor