* Refactor ByteArray from string alias to class implementation
- Converted ByteArray from an alias of std::string to a class implementation.
- Added multiple constructors to support initialization from various sources:
- std::vector<uint8_t>
- uint8_t pointer with size
- std::string
- C-string with and without null termination
- Implemented static methods fromHex() to construct from hex strings.
- Implemented c_str() method to return a C-string representation.
- Overloaded the stream operator to support pretty printing ByteArrays.
* Use an internal std::vector instead of inheriting from it
* Access directly to internal bytes of ByteArray
* Remove c_str methods
* Add slicing methods to ByteArray
* Fix data slicing in Windows backend
* Simplify ByteArray::fromHex
* Rename ByteArray::toHexString to toHex
so as to be consistent with fromHex
* Share ByteArray with simplebluez using common directory
* Remove unnecessary cast from ByteArray to string
* Extend use of ByteArray in simplebluez
* Revert changes in build script
* Remove subdirectory and rename namespace
* Allow hex prefix in 'fromHex' and clarify documentation
* Explicitly build ByteArray from py::bytes in python wrapper
* Add ByteArray to documentation
* Rename common dir to external
And rename kvn::ByteArray to kvn::bytearray
* Fix include path and format
* Use preprocessor guards instead of pragma
* [docs] Change CMake source flag in build documentation
From deprecated -H /path/to/source to -S /path/to/source
* [docs] Add class diagram to Simpleble 'API reference' page
Showing relationship between main frontend classes
* [docs] Add missing Cmake link
* Update api.rst
Removed class diagram. Doesn't seem necessary.
---------
Co-authored-by: Kevin Dewald <5274600+kdewald@users.noreply.github.com>
* add option for using session dbus
* Implemented required changes
* Removed extra character
* Updated documentation
---------
Co-authored-by: Minos Park <minos@neuralink.com>
Co-authored-by: Kevin Dewald <kdewald@itba.edu.ar>
* Prep work for advertised services.
* Added support for advertised services on Windows
* Test with an older version of Windows SDK
* Reorganized internals a bit
* Added support for characteristic properties on Windows
* Scan report no longer deletes the identifier if it's empty
* Added stubs for MTU and wrote implementation on Windows
* Added support for characteristic properties on MacOS too
* Added support for advertised services on MacOS
* Minor docs changes
* MTU support for MacOS
* More explicit exception messages on MacOS
* GATT characteristic properties on Linux
* Retrieve MTU for Linux
* Added scanned services for Linux
* Linting
* Cppcheck
* Fixed plain backend
* Fixed plain backend, now for real
* Add better instructions for Windows
* [Windows] Update device identifier if a new one is available.
* Added all the missing code. Damn autosave.
* Added logging for WinRT init
* More docs!
* Made version handling a bit simpler. Unified versions across subpackages.
* Fixed previous documentation bugs. First pass at Python docs
* Separated python binding code by class.
* Some progress with new docs
* See of we can get RTD to work
* See if the YAML file is correctly executed
* Move config file to root.
* Forgot the file
* Tweaking yaml
* Tweaking yaml
* Use apt packages
* Add breathe
* Try an older Python version.
* Try an older Python version.
* Pin Python packages
* Try another theme
* See if we can get RTD working
* Pin version post installation
* Raw pass at documentation of all functions.
* Add docs dependencies
* Pin requirement versions
* Fix linting exclude
* Add support to run Doxygen on SimpleBLE source code.
* Merged changelogs and dropped old messages.
* Added tutorial page
* Add tutorial to index
* Minor tweaks in changelog
* Initial tutorial
* Minor fixes
* Clean lint job, add docs build job
* Fix indentation error
* Fix indentation error, again...
* Doxygen now works fine
* Added a lot of documentation
* Fixed issue in CMakeLists which forced incorrect OSX deployment target
* Add logs
* See if deployment target really needs to be defined
* Only set the target if none is set
* Remove unnecessary deployment target configuration. It should be passed in by the user.
* Fixed minor docs issues.