I'm still pursuing my objective of communicating with 3 Arduino 101's via BLE. I can do everything I want via command line tools (note: not commands, but interactive tools), and a recent discovery: tinyb, a library and associated examples in C++ and Java, which I can also make do the things I want (at least the C++ version, I didn't try Java). With this I was initially hopeful that I could make the necessary tinyb libray calls with soft declare (tinyb is shared so this could work).
However, it's getting terrifically complicated. tinyb uses lots and lots of classes, some nested, and pretty well all methods (functions) are part of a class in which parameters and other items are part of the same class. Often there are no parameters because they are local to the class.
A typical, and fundamental, example is connect(). There is no parameter because the thing to be connected to is defined in the class, and the class instance is generated in response to another class, with the same type of logic.
I think I can eventually replicate all of this in Xojo, with a lot of effort, and probably a rather inefficient execution.
I have even thought about writing a C++ app to do what I want and have it communicate with a Xojo app via UDP, or something like that (if you wonder why I need the Xojo app in this case, it's because it's going to be part of a much bigger app, which also talks to other equipment via I2C, SPI and USB->Serial (with an extensive protocol at 115200 baud, which I can't change, otherwise I would use the mini-UART), plus an LCD display, as well as a host via TCP -- those bits are already running, except the TCP which I haven't started yet.
I would certainly welcome any hints or tips.
Even better would be somebody who's been down this path before. BLE on a Raspberry Pi is such a selling point I can't believe I'm the first one doing this.