Refactor NuggetClient a bit

The NuggetClientInterface class should provide all we need for
both Android and Linux desktop tools. Instead it's sort of an
idealized view with ugly details left to two separate child
classes to figure out.

This cleans things up (some) to make building tests for both
enviroments a little simpler.

Bug: None
Test: build everything, test everything
Change-Id: I38d5af2de47625d1e8d3d2b929f9157b12bbd09d
Signed-off-by: Bill Richardson <wfrichar@google.com>
Reviewed-on: https://nugget-os-review.googlesource.com/c/host/generic/+/40224
Reviewed-by: Randall Spangler <rspangler@google.com>
Presubmit-Verified: TreeHugger Robot
6 files changed
tree: 3badf8ce83652dfdd0168f33558aa3fce2f7c3dc
  1. libnos/
  2. libnos_datagram/
  3. libnos_transport/
  4. nugget/
  5. .checkpatch.conf
  6. .clang-format
  7. Android.bp
  8. BUILD
  9. LICENSE
  10. METADATA
  11. MODULE_LICENSE_APACHE2
  12. NOTICE
  13. OWNERS
  14. README.md
README.md

Generic host components for Nugget

Nugget will be used in different contexts and with different hosts. This repo contains the components that can be shared between those hosts.

nugget

The nugget directory contains items that are shared between the host and the firmware. Those include:

  • shared headers
  • service protos

libnos

libnos is a C++ library for communication with a Nugget device. It offers an interface to manage a connection and exchange data and a generator for RPC stubs based on service protos.

libnos_datagram

libnos_datagram is a C library for exchanging datagrams with a Nugget device. This directory only contains the API of the library as the different platforms will need to implement it differently.

libnos_transport

libnos_transport is a C library for communicating with a Nugget device via the transport API. This is built on top of the libnos_datagram library for exchanging datagrams.