Coder Social home page Coder Social logo

sir-branch / simpledbus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openbluetoothtoolbox/simpledbus

0.0 0.0 0.0 188 KB

A simple C++ wrapper around DBus with a commercial-friendly licence, plus some abstraction code and examples around Bluez as well.

Home Page: https://github.com/kdewald/SimpleDBus

License: MIT License

CMake 2.16% C++ 96.68% C 0.22% Shell 0.94%

simpledbus's Introduction

SimpleDBus

A simple C++ wrapper around DBus with a commercially-friendly licence, plus some abstraction code and examples around Bluez as well.

Overview

SimpleDBus is a C++ low-level binding around DBus designed to be easy to integrate and use with commercial projects. On top of it, there is a partial implementation of BlueZ bindings to enable the control of Bluetooth peripherals.

I've also coded a (partial) implementation of the Bluez DBus bindings in order to control the Bluetooth peripherals.

If you want to use the library and need help. Please reach out! You can find me at: kevin at dewald dot me

Build

SimpleDBus should work on any Linux environment using DBus. To install the necessary dependencies on Debian-based systems, use the following command: sudo apt install libdbus-1-dev

You can find scripts for all these

Standalone build from source

cd <source-root>
mkdir build && cd build
cmake ..
make -j
sudo make install # Not available yet.

Build as part of another project

If you want to add SimpleDBus to your project without any external dependencies, just clone the repository and link to it on your CMakeLists.txt file.

add_subdirectory(<path-to-simpledbus> ${CMAKE_BINARY_DIR}/simpledbus)
include_directories(${SIMPLEDBUS_INCLUDES})

Build examples

cd <source-root>
mkdir build && cd build
cmake ../examples
make -j

More information

  • You can find the official documentation for BlueZ in this link.

Known issues

  • The handling of all externally exposed components with std::shared_ptr is not particularly safe in case the underlying object gets deleted by BlueZ, as the end user still has the capability to send requests to that deleted object. This will be addressed in a future release, but it's important for users of SimpleDBus to keep in mind.

Contributing

If you want to help, here is what's needed:

  • The remaining functionality of the existing components.
  • Errors are currently not being caught and surfaced up.
  • More documentation.
  • More examples.
  • Logging

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.