Skip to content

franc0is/simperium-c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

simperium-c

A C-library for syncing data via Simperium.

Status

This is very WIP, with APIs implemented within a test app. Currently, I've verified that we can:

  • Authenticate the app with Simperium
  • Add items to buckets
  • Remove items from buckets
  • Get items from buckets
  • Get all items in a bucket
  • Poll bucket for changes

Most of those things can be done either over HTTP or WebSockets

Much remains TODO, including (but not limited to):

  • diff resolving (see jsondiff-c)
  • network condition handling
  • a clean header files
  • API comments
  • cross-platform support

Build instructions

simperium-c users conan for dependency management and cmake as build system.

  $ mkdir build
  # we install dependencies from source because bintray
  # doesn't have all os/compilers combos
  $ conan install -b ..
  $ conan build ..

Examples

Three examples are currently provided. They are all based on simperium's "todo" example.

  • todo_add_remove: a simple client which lists the todo items, adds one, and removes it
  • todo_changes: a client which polls the todo bucket for changes
  • todo_ws: a very-wip client which polls the todo bucket over websocket

Dependencies

All dependencies are managed through conan

  • libcurl
  • jansson
  • argtable3
  • libwebsockets
  • jsondiff-c

Releases

No releases published

Packages

No packages published