Merge Request #5 - January¶
Small Changes¶
- OS: define SIGKILL constant on windows
- Logs: add a CSV log handler
- Translator: add a context
- Object registration: new macros to advertise methods and overloads
- Path: add conversions from/to boost::filesystem and wstring
- qicli trace: add JSON output
- strand: property get/set from outside are now stranded
- signal: add asyncDisconnect (not meant to be widely used...)
- Session: add authentication API (still not enforced by default, more on this in a later merge)
- Actor: make it copyable (no operation)
- Object registration: when advertising free functions, a pointer to the object is given as first argument
- PeriodicTask: add qiClock API and deprecate old API
- Future: add then continuation which return a future
- Future: add unwrap to transform Future<Future<T>> into Future<T>
- Asynchronous calls: make it return cancellable futures (does not work for remote calls yet)
- Future: add aliases waitFor and waitUntil
- Object registration: rework template object registration (now works)
- Python: make async return a cancellable future (does not work for remote objects yet)
Bind Session in the type-system¶
Session is now bound in the type system. This means that there is now almost no difference between the Session class in C++ and in Python. You can now call loadService from Python and pass Python Session objects to C++.
qi::File¶
qi::File
provides a way to open a file in read-only mode on the local file system and share the content of this file with potentially remote services.
We provide algorithms to copy a remote file’s content to make a local copy of it, using the qi::copyToLocal
or qi::prepareCopyToLocal
functions.
Examples for each use case are provided in the documentation.
A complete working example of a service and a service user application
is also provided with qi::File
sources and documentation.
Bugfixes¶
- Session: fix deadlock in server when a connection is received
- RemoteObject: fix deadlock when disconnecting a signal multiple times in parallel
- Stats: fix crash in pushStats, stats and clearStats
- Session: fix connection to localhost to a server in a different writable path
- Session: fix crash when accessing a local service directory of a destroyed session
- Eventloop: fix error about promise being set multiple times
- fix compilation on Mac OS Yocemite
- Python: fix python dict to c++ struct conversion
- PeriodicTask: fix deadlock when using trigger()
- Session: don’t make waitForService hold a reference on Session preventing it from destruction
- Python: hide strand getter on objects (qi_strand won’t appear anymore)
- Python: fix deadlock on property destruction
- Python: fix deadlock on object destruction