81 Commits

Author SHA1 Message Date
Jenkins nymea
c956988f32 Merge PR #341: Add an API keys provider plugin mechanism 2020-10-28 19:07:39 +01:00
Jenkins nymea
694b070f05 Merge PR #310: Add support for Python plugins 2020-10-28 19:07:25 +01:00
Jenkins nymea
db98f60556 Merge PR #309: Don't call thingRemoved() on the plugin in case of reconfiguring 2020-10-28 19:07:24 +01:00
Michael Zanetti
dcae305625 Add an API keys provider plugin mechanism 2020-10-20 19:44:47 +02:00
Michael Zanetti
befda2ec00 Revert back to qDebug, we're not ready for qInfo yet 2020-10-15 22:34:06 +02:00
Michael Zanetti
8aa2feb7c6 Make python plugins appear in the logging categories list 2020-10-15 22:34:06 +02:00
Michael Zanetti
15eead0976 Properly catch stdout and stderr and redirect it to qmessagelogger 2020-10-15 22:34:06 +02:00
Michael Zanetti
85f742a38d Add ThingActionInfo.paramValue() method 2020-10-15 22:34:06 +02:00
Michael Zanetti
e50eece45c Fix metatype registering for old Qt versions 2020-10-15 22:34:06 +02:00
Michael Zanetti
9f49187dc1 Fix tests and xenial build 2020-10-15 22:34:06 +02:00
Michael Zanetti
16c4fa3345 fix issues in teardown. 2020-10-15 22:34:06 +02:00
Michael Zanetti
d4889b5b78 Make it build with 0.23 2020-10-15 22:34:06 +02:00
Michael Zanetti
fdbdb02c16 Make it compatible with python 3.5 2020-10-15 22:34:06 +02:00
Michael Zanetti
be01d4c802 Restrict import paths to not use random python libs in the system 2020-10-15 22:34:06 +02:00
Michael Zanetti
75f4877f82 add settingChangedHandler, fix some issues, cleanup some warnings 2020-10-15 22:34:06 +02:00
Michael Zanetti
3436e9b998 drop usage of asyncio and run everything regularly threaded 2020-10-15 22:34:06 +02:00
Michael Zanetti
64e7d2784c checkpoint asyncio 2020-10-15 22:34:06 +02:00
Michael Zanetti
1018083052 add 2 missing data type conversions 2020-10-15 22:34:06 +02:00
Michael Zanetti
78e37f0d87 Fix shutdown 2020-10-15 22:34:06 +02:00
Michael Zanetti
b870140608 Add tests, fix shutdown 2020-10-15 22:34:06 +02:00
Michael Zanetti
746f3e4121 fix actions cleanup 2020-10-15 22:34:06 +02:00
Michael Zanetti
b0b480a539 drop some debugs 2020-10-15 22:34:06 +02:00
Michael Zanetti
dadffcb784 some fixes 2020-10-15 22:34:06 +02:00
Michael Zanetti
3296d4b417 more work 2020-10-15 22:34:06 +02:00
Michael Zanetti
f132c6b006 some more work 2020-10-15 22:34:06 +02:00
Michael Zanetti
0cbd1ff5ec Clenaup and polish types. 2020-10-15 22:34:06 +02:00
Michael Zanetti
a90841401c more work 2020-10-15 22:34:06 +02:00
Michael Zanetti
1ce5d5980d some fixes 2020-10-15 22:34:06 +02:00
Michael Zanetti
8aa91292fe more work 2020-10-15 22:34:06 +02:00
Michael Zanetti
85c9d93ccd Somoe type fixes 2020-10-15 22:34:06 +02:00
Michael Zanetti
c7f957f201 some more python plugin work 2020-10-15 22:34:06 +02:00
Michael Zanetti
5d0751ae27 fix thread syncronisation 2020-10-15 22:34:06 +02:00
Michael Zanetti
3c47e59811 some more work 2020-10-15 22:34:06 +02:00
Michael Zanetti
f97e5bf4d0 more work 2020-10-15 22:34:06 +02:00
Michael Zanetti
59c1c8e9f2 some more work 2020-10-15 22:34:06 +02:00
Michael Zanetti
68e9c82758 run a thread for each call 2020-10-15 22:34:06 +02:00
Michael Zanetti
125aee7153 Some more python plugin stuff 2020-10-15 22:34:06 +02:00
Michael Zanetti
13d10b8aa0 some more python plugin work 2020-10-15 22:34:06 +02:00
Michael Zanetti
31cf425b79 intermediate 2020-10-15 22:34:06 +02:00
Michael Zanetti
a2e6d9e185 Add an event loop 2020-10-15 22:34:06 +02:00
Michael Zanetti
380e962bd1 some more work on python plugins 2020-10-15 22:34:06 +02:00
Michael Zanetti
a21315efc5 some more hacking 2020-10-15 22:34:06 +02:00
Michael Zanetti
d17b44c83d Initial attempt to support python plugins 2020-10-15 22:34:06 +02:00
Michael Zanetti
8fee1bb2e5 Fix duplicate connections on case of retrying 2020-10-15 22:33:36 +02:00
Michael Zanetti
6aaab68cdc Retry setup if it fails at startup (e.g. network isn't up yet or similar) 2020-10-15 22:33:36 +02:00
Jenkins nymea
eb291a47d5 Merge PR #334: Silence the warning about not being able to translate plugins 2020-09-08 13:53:52 +02:00
Jenkins nymea
65de093c4a Merge PR #321: Make it build with Qt 5.14 and -Wno-deprecated 2020-09-08 13:53:50 +02:00
Michael Zanetti
81ac85dd55 Silence the warning about not being able to translate plugins 2020-09-08 12:06:16 +02:00
Michael Zanetti
573a2c061a Don't call thingRemoved() on the plugin in case of reconfiguring
Reasoning:

a) Currently, the API behaves inconsistently. While reconfiguring
a "justAdd" thing, it did call thingRemoved, however, reconfiguring a thing
that uses pairing did not.

b) The old implementation did not consider childs. Reconfiguring a
justAdd thing which has childs was calling thingRemoved on the parent only
but not its childs.

c) If we'd fix this by calling thingRemoved() for all flows and childs
we'd end up in hells kitchen as we can't know about the new state of childs
after the reconfiguration, so we can't just automatically add all the childs
back ourselves, the plugin needs to do that. This in turn would mean that
childs would get new ids which then breaks rules and stuff.

So the conclusion has been to just re-run the setup and the plugin implementation
is in charge for then checking the existing childs and calling autoThingDisappeared()
as needed.

WARNING: This also implies that we need to fix some plugins which currently rely
on thingRemoved to be called for reconfiguration and might create duplicate
connections or similar now.
2020-09-01 13:45:14 +02:00
Jenkins nymea
70c9c7f495 Merge PR #323: Fix cleanig up tags that are not needed any more 2020-08-14 13:09:34 +02:00