Repository Summary
Checkout URI | https://github.com/ros-naoqi/libqi.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2022-09-10 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
naoqi_libqi | 2.9.7 |
README
naoqi_libqi
This fork is used to define the naoqi_libqi ROS2 package, based on libqi.
libqi is a middle-ware framework that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.
Compilation
To compile naoqi_libqi, clone this repository in a ROS2 workspace and use the colcon build
command.
Please note that you should checkout the branch corresponding to your ROS distro (eg. galactic-devel
for Galactic, foxy-devel
for Foxy, etc...)
Status
The project can currently be successfully built for Galactic (focal)
and Foxy (focal)
from source. Please refer to the build workflow for more information. The package binary status column details wether the package has been released for a specific distro.
ROS Distro | Binary Status | Source Status | Github Build |
---|---|---|---|
Humble | |||
Galactic | |||
Foxy |
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/ros-naoqi/libqi.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2021-09-15 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
README
libqi
libqi is a middle-ware framework that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.
Compilation
To compile libqi you need qibuild which give some cmake functions used in libqi\'s CMakeLists.txt.
pip2 install --user qibuild
git clone git@github.com:aldebaran/libqi.git
cd libqi
mkdir BUILD && cd BUILD
cmake .. -DQI_WITH_TESTS=OFF
make
make install DESTDIR=./output
Example
The following example shows some features of the framework, please refer to the documentation for further details.
#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>
qiLogCategory("myapplication");
class MyService
{
public:
void myFunction(int val) {
qiLogInfo() << "myFunction called with " << val;
}
qi::Signal<int> eventTriggered;
qi::Property<float> angle;
};
// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);
void print()
{
qiLogInfo() << "print was called";
}
int main(int argc, char* argv[])
{
qi::ApplicationSession app(argc, argv);
// connect the session included in the app
app.start();
qi::SessionPtr session = app.session();
// register our service
session->registerService("MyService", boost::make_shared<MyService>());
// get our service through the middleware
qi::AnyObject obj = session->service("MyService");
// call myFunction
obj.call<void>("myFunction", 42);
// call print in 2 seconds
qi::async(&print, qi::Seconds(2));
// block until ctrl-c
app.run();
}
You can then run the program with:
./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions
Links
git repository: http://github.com/aldebaran/libqi
Documentation: http://doc.aldebaran.com/libqi/
IRC Channel: #qi on freenode.
Maintainers:
- Jo
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/ros-naoqi/libqi.git |
VCS Type | git |
VCS Version | v1.11.0-melodic |
Last Updated | 2021-12-12 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
naoqi_libqi | 2.9.7 |
README
libqi
libqi is a middle-ware framework that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.
Compilation
To compile libqi you need qibuild which give some cmake functions used in libqi\'s CMakeLists.txt.
pip2 install --user qibuild
git clone git@github.com:aldebaran/libqi.git
cd libqi
mkdir BUILD && cd BUILD
cmake .. -DQI_WITH_TESTS=OFF
make
make install DESTDIR=./output
Example
The following example shows some features of the framework, please refer to the documentation for further details.
#include <boost/make_shared.hpp>
#include <qi/log.hpp>
#include <qi/applicationsession.hpp>
#include <qi/anyobject.hpp>
qiLogCategory("myapplication");
class MyService
{
public:
void myFunction(int val) {
qiLogInfo() << "myFunction called with " << val;
}
qi::Signal<int> eventTriggered;
qi::Property<float> angle;
};
// register the service to the type-system
QI_REGISTER_OBJECT(MyService, myFunction, eventTriggered, angle);
void print()
{
qiLogInfo() << "print was called";
}
int main(int argc, char* argv[])
{
qi::ApplicationSession app(argc, argv);
// connect the session included in the app
app.start();
qi::SessionPtr session = app.session();
// register our service
session->registerService("MyService", boost::make_shared<MyService>());
// get our service through the middleware
qi::AnyObject obj = session->service("MyService");
// call myFunction
obj.call<void>("myFunction", 42);
// call print in 2 seconds
qi::async(&print, qi::Seconds(2));
// block until ctrl-c
app.run();
}
You can then run the program with:
./myservice --qi-standalone # for a standalone server
./myservice --qi-url tcp://somemachine:9559 # to connect to another galaxy of sessions
Links
git repository: http://github.com/aldebaran/libqi
Documentation: http://doc.aldebaran.com/libqi/
IRC Channel: #qi on freenode.
Maintainers:
- Jo
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/ros-naoqi/libqi.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2022-09-10 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
naoqi_libqi | 2.9.7 |
README
naoqi_libqi
This fork is used to define the naoqi_libqi ROS2 package, based on libqi.
libqi is a middle-ware framework that provides RPC, type-erasure, cross-language interoperability, OS abstractions, logging facilities, asynchronous task management, dynamic module loading.
Compilation
To compile naoqi_libqi, clone this repository in a ROS2 workspace and use the colcon build
command.
Please note that you should checkout the branch corresponding to your ROS distro (eg. galactic-devel
for Galactic, foxy-devel
for Foxy, etc...)
Status
The project can currently be successfully built for Galactic (focal)
and Foxy (focal)
from source. Please refer to the build workflow for more information. The package binary status column details wether the package has been released for a specific distro.
ROS Distro | Binary Status | Source Status | Github Build |
---|---|---|---|
Humble | |||
Galactic | |||
Foxy |