Skip to content
/ cborg Public
forked from PelionIoT/cborg

Fork of PelionIoT/cborg because it doesn't support everything we need.

License

Notifications You must be signed in to change notification settings

TRUEPIC/cborg

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cborg

Resistance is voltage divided by current.

A simple CBOR encoder/decoder with a fluent API.

Example

Encode:

uint8_t buffer[200];
char str[] = "hello";
Cbore encoder(buffer, sizeof(buffer));

encoder.tag(1234)
  .array()
    .item("Attention, the Universe!")
    .item("Hello World!")
    .map()
      .key("key1").value("value1")
      .key("key2")
        .array()
          .item("one")
          .item("two")
          .item("three")
        .end()
      .key(3).value("value3")
      .key("key4")
        .map(4)
          .key("key5").value(Cbor::TypeNull)
          .key(6).value(Cbor::TypeFalse)
          .key(7)
            .array(3)
              .item(1)
              .item(str, sizeof(str) - 1)
              .item(3)
          .key("something").value(str, sizeof(str) - 1)
          .key(str, sizeof(str) - 1).value(str, sizeof(str) - 1)
    .end()
  .item(-10)
  .item(10)
  .item(Cbor::TypeTrue)
.end();

encoder.print();

Decode:

Cborg top(somebuffer, sizeof(somebuffer));
// find 'intents' array entry 2
Cborg intent = top.find("body").find("intents").at(2);

License

This project is licensed under Apache-2.0

Contributions / Pull Requests

All contributions are Apache 2.0. Only submit contributions where you have authored all of the code. If you do this on work time make sure your employer is cool with this.

About

Fork of PelionIoT/cborg because it doesn't support everything we need.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 99.2%
  • C 0.8%