Age | Commit message (Collapse) | Author | Files | Lines |
|
Rework the VehicleSignals class and its use in the Navigation and
Hvac classes to switch from using the original KUKSA.val server
via WebSockets to the KUKSA.val databroker's gRPC "VAL" API.
Notable changes:
- The VehicleSignals API has changed a bit with respect to setting
signals, callers now need to pass the new value as the type that
matches the signal as opposed to always passing a string, and
optionally indicate if an actuator's target or value is being set.
Subscribe operations now also allow subscribing for either
actuator targets or values.
- It is possible that the values returned by get and subscribe
operations will be changed to using QVariant instead of QStrings
in a future follow up, but that has not been done in these changes.
- The connected signal from VehicleSignals still has roughly the
same meaning, but the authorize function and authorized signals
are to some degree redundant now. They have been kept for
compatibility, but may be removed in a follow up set of changes.
- The section header in the .ini files expected by the
VehicleSignalsConfig class has been changed from "vis-client" to
"kuksa-client" since the databroker is not a VIS server, and to
some degree forcing an update on the part of clients is useful
since their authorization tokens also need to change.
- The client key and certificate support has been removed from the
VehicleSignalsConfig class, as they are no longer used in either
the server or databroker as of KUKSA.val 0.4.0. A new optional
parameter, "tls-server-name", has been added to work with the new
TLS support behavior. It can be used to override the expected
host name for connecting to a non-local databroker instance.
- The Navigation constructor now takes an additional parameter to
indicate whether the instance acts as a router or a client.
The underlying need for this stems from an application acting as
a router needing to subscribe to the destination setting actuator
targets.
Bug-AGL: SPEC-4762
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I253480ae2abf068dc6e41a495454960ed5c0feaf
|
|
The states for the Vehicle.Cabin.Infotainment.Navigation.State signal
have been changed to uppercase values with the upgrade to VSS 3.1.1
to match upstream VSS signals. Uppercase the provided state name in
Navigation::broadcastStatus to ensure clients respect this.
Bug-AGL: SPEC-4761
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I2af108655470907c0c04ffafd7cd9375f30fc0fe
|
|
Add meson configuration missed in previous commit.
Bug-AGL: SPEC-4559
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Idbcd961ab91cf48e7dc3b841aee3a79d0b615dcd
|
|
Changes:
- Add applaunchd gRPC API wrapper in applauncher directory, clients
can include AppLauncherClient.h to use it.
- To facilitate generating protobuf and gRPC code with protoc,
switch from CMake to meson for building. While the code
generation can be done in CMake, it is a lot more straightforward
with meson, and if use of this library continues meson will be
easier to maintain.
Known issues:
- The behavior of the client implementation here with respect to the
server side (i.e. applaunchd) going away is currently robust, but
could stand improvement with some further investigation. As the
code stands, starting applications works when applaunchd becomes
available again, but the streaming status RPC that is tied to
window activation in the homescreen does not reconnect, and there
seem to be some things that need to be resolved with respect to
Qt object connection expiry to do so. If the Qt demos continue to
be used in a significant fashion, this may be worth picking up.
Bug-AGL: SPEC-4559
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I5cb480d4ce4d1cb944ebfd4114fb305f09f28ea3
|
|
Reimplement the navigation interface with use of VIS signals.
There is some impedance mismatching done between VIS signal
notifications and the API Qt signals to avoid changing the
clients signficantly for now. If the Qt demo lifetime is
extended, this may be revisited to either switch to directly
using the VehicleSignals interface or doing a more granular
mapping that works better with the VSS schema / VIS.
Bug-AGL: SPEC-4408
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ieab42daddadca60de634f414171a133af53938f5
(cherry picked from commit 4ce04ff30e753556cf9cb371780f2a873f6fedaa)
|
|
Changes:
- Remove "core" code related to WebSocket messaging for the app
framework.
- Stub out hvac, navigation, network, and weather interfaces. This
allows building several of the demo applications without modification
for now. The network interface will definitely be reused to plumb
in a new connman-glib library derived from the previous network
binding. The others may potentially be reused to plumb in other
new backend implementations.
- Update the Network interface object constructor arguments to add a
agent registration flag. This prepares for the connman-glib
switch and means users will not need to be updated twice.
- Update the Bluetooth interface to use a new bluez-glib library that
is derived from the previous Bluetooth binding. This has been
successfully tested with a the Settings application.
- Remove signal-composer and voice API interface code as there are no
direct replacements planned. The signal-composer interface was
effectively exposing the binding events, so has little reuse
potential with a new backend. For the voice interface, if some form
of Alexa support becomes desirable, it can potentially be brought
back for adaptation if required.
- Disable compilation of the remaining interfaces for now. Some like
map, pbap, and mediaplayer are very likely to be used as the basis
for updating their associated applications, so keeping the code for
the planned iterative development seems easier.
- Updated copyright lines in all touched files.
Bug-AGL: SPEC-4182
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ib717ac8ac68ec457eaee74755dcf9d4f36b79d12
|
|
Bug-AGL: SPEC-3390
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: Ib8096c8dd2d59d3728e824ae13ba401da0971dc4
|
|
Share MessageEngine instance among clients in the
same process using a common socket (same url).
- add MessageEngineFactory class;
- extend std::unordered_map<> to use QString as
key;
- use std::shared_ptr<MessageEngine> to share
ownership among MessageEngineFactory and the
engine clients;
- force MessagEngine parent object null to avoid
life cycle dependency on a parent;
- protect insertions & deletions in m_calls map;
Also, not directly related but as part of testing
these changes: cleanup on voice to remove
superflous model sorting (there's just one voice
model for alexa voice agent).
Bug-AGL: SPEC-3112
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: Ie2304453dc37723dac13d256286eeb85f84ca2ab
|
|
Bug-AGL: SPEC-3112
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: I044a406eb2309d4ae0547969cb2bf33b398ba2ae
|
|
Rework message hierarchy with the final objective
of splitting libqtappfw into several libraries.
This commit carries the following changes:
- Simplify message hierarchy, keeping abstract
Message class, adding specialization for call and
event messages, keeping ResponseMessage, and
removing all module specific specializations.
- Add MessageFactory class to create message
objects.
- Change messages life cycle: using smart pointers
and removing QObject from message hierarchy (a
Message is not a QObject anymore and thus
'deleteLater()' is not available).
- Adapt all modules to use new message hierarchy.
- Keep ResponseMessage original constructor to
avoid breaking TaskManager.
- Message constructors have been kept public, but
will go private on a follow-up patch (once
TaskManager class has been modified to use new
MessageFactory).
Bug-AGL: SPEC-3112
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: I3a7a6325209ddeca2293f1ac745371861a947bfb
|
|
- Remove unneeded dependencies from libqtappfw public
headers, specifically MessageEngine and Message
hierarchy header files, in preparation for refactoring
work on these areas.
This change helps shield client apps from the
upcoming changes in the library, and highlight the
separation between the library's core and the various
modules providing public interfaces to those apps.
- Make MessageType an scoped enum to fwd declare it.
- Update Copyright statement on files updated by
this patch.
Bug-AGL: SPEC-3112
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: I12fd9cdc034aa1166f6448c07befadd9d2042b05
|
|
broadcastWaypoints doesn't actually broadcast out a valid event
currently, and thus just remove for now.
Bug-AGL: SPEC-2880
Change-Id: I9e865113949c236e59e27319b02ea22178a9dc9e
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Add initial navigation service support in qtappfw for new
agl-service-navigation rewrite.
Bug-AGL: SPEC-2880
Change-Id: I276de006af3c1e19e669ae3b9d05c92360893467
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|