102 Commits

Author SHA1 Message Date
Michael Zanetti
bffdf9cb88 add copyright headers 2019-12-01 00:08:57 +01:00
Michael Zanetti
9a52345700 fix notifications 2019-12-01 00:08:57 +01:00
Michael Zanetti
53a79c52d6 fixes 2019-12-01 00:08:57 +01:00
Michael Zanetti
3c274b04ab More work on scripting 2019-12-01 00:08:57 +01:00
Michael Zanetti
3a9a0a0abc Add scripts api namespace 2019-12-01 00:08:57 +01:00
Michael Zanetti
fd401a850a cleanup 2019-12-01 00:07:35 +01:00
Michael Zanetti
b97e4e5b0c Add support for JS device plugins 2019-12-01 00:07:35 +01:00
Michael Zanetti
c7dd26d525 cleanup, fix last tests 2019-11-16 00:44:08 +01:00
Michael Zanetti
3eac06de6e Threaded log database
This
a) makes the log db threaded by using QtConcurrent to run queries in a
different thread but still keeps ordering of the queries and always
only allows a single query at a time (QSql is not threadsafe). This fixes
removeDevice calls failing if we take more than $jsonprc_timeout to clean
a deleted device from the DB and keeps nymead responsive during that too.

b) generally improces performance of the system by not requiring operations
(emitting events, changing states) to wait for the sync log db entry to be
made.

c) drops some of the houskeeping code on nymea startup. While this will still
do log db housekeeping if the DB exceeds maxDbSize, it will not run
housekeeping on the DB any more at application startup. Reasoning for this
is that there have been reports of rules/log entries beimg destroyed if a
plugin can't be found at application startup. Given our general direction
of working towards more dynamic plugin loading, this might happen more often
in the future and we sure don't want to destroy rules etc when we just
temporarily miss a plugin.

d) tries to fix issue #226 by rotating the DB not only when it fails to open
initially, but also when it fails to insert new entries.
2019-11-15 18:33:10 +01:00
Michael Zanetti
ec15e664e1 cleanup warnings and allow setting "unknown" debug categories 2019-11-06 13:38:22 +01:00
Michael Zanetti
25152c5e27 Add readonly feature to JSONRPC 2019-11-06 00:06:03 +01:00
Michael Zanetti
fa1cd3605c Add deprecation warnings 2019-11-04 11:56:24 +01:00
Michael Zanetti
5be6e6e19d Deprecate Actions/Events/States namespaces 2019-11-04 10:52:36 +01:00
Michael Zanetti
0e7edd5abd cleanup 2019-11-04 10:52:06 +01:00
Michael Zanetti
3cbd01c1d2 drop all pack/unpack methds 2019-11-03 21:24:16 +01:00
Michael Zanetti
3a88a25c49 add copyright headers 2019-11-01 20:55:45 +01:00
Michael Zanetti
baaa719b6a Restructuring json done 2019-11-01 20:55:45 +01:00
Michael Zanetti
11a388d729 implement stubs for AddDelivery and GetDeliveries 2019-11-01 20:55:45 +01:00
Michael Zanetti
bdd9876a88 Allow registering QMetaObjects on JSON api 2019-11-01 20:55:45 +01:00
Michael Zanetti
e2cf9cb5c3 More work on the experience mode framework 2019-11-01 20:55:45 +01:00
Michael Zanetti
f1ca2a5b86 Add experience mode plugins 2019-11-01 20:46:55 +01:00
Michael Zanetti
5e3bc2acbd Drop JsonTypes class by distributing logic to json handlers
This is required in order to be able to be more flexible in registering
new types/methods.
2019-11-01 20:46:55 +01:00
Michael Zanetti
977247e950 Complete setup api 2019-10-31 13:09:26 +01:00
Michael Zanetti
0b5f475991 Fix typo 2019-10-19 14:13:48 +02:00
Michael Zanetti
9b1b6d86e6 Allow more granular notification subscriptions in API 2019-10-19 14:13:48 +02:00
Jenkins nymea
55011abaf9 Merge PR #219: Add support for more media service icons 2019-10-18 14:57:23 +02:00
Michael Zanetti
7f0f2d1d09 Rework devicemanager and plugin api 2019-10-16 17:56:49 +02:00
Michael Zanetti
1f68389a85 Fix Browser icon definition in introspect 2019-10-08 15:51:10 +02:00
Michael Zanetti
b4ae1919ba cleanup fixes 2019-07-25 15:56:18 +02:00
Michael Zanetti
1608e07d99 BrowserItems in rules working 2019-07-25 15:56:18 +02:00
Michael Zanetti
0fb42681af A little more work on browser item support for rules 2019-07-25 15:56:18 +02:00
Michael Zanetti
4e7557f964 add locale option 2019-07-25 15:56:18 +02:00
Michael Zanetti
aee554a1ee BrowserItemActions, yay! 2019-07-25 15:56:18 +02:00
Michael Zanetti
ff337bf8b6 Make browser item execution work async too 2019-07-25 15:56:18 +02:00
Michael Zanetti
a385188d37 More work on the device browser 2019-07-25 15:56:18 +02:00
Michael Zanetti
57f68bcdc0 More work on adding a Device browser 2019-07-25 15:56:18 +02:00
Michael Zanetti
933d92ab06 Intermediate commit (device browser) 2019-07-25 15:56:18 +02:00
Michael Zanetti
d24abfe3d0 Move devicemanager's implementation out of libnymea into libnymea-core 2019-07-15 22:52:52 +02:00
Michael Zanetti
77a3e851bd Add support for device settings 2019-07-04 13:33:50 +02:00
Michael Zanetti
5ed3e73974 Fix some typos 2019-06-21 21:22:01 +02:00
Jenkins
860d27c7b4 Merge PR #164: System manager 2019-06-19 23:52:18 +02:00
Michael Zanetti
11efbdd1a8 fix repositoryRemoved notification 2019-05-23 05:34:40 +02:00
Michael Zanetti
2e2e86d68a Documentation and finetuning 2019-05-20 22:52:35 +02:00
Michael Zanetti
d8e4947038 Add new json types to allTypes 2019-05-18 13:18:21 +02:00
Michael Zanetti
afa1126e6e More work on the system management api 2019-05-18 00:51:51 +02:00
Michael Zanetti
07cd3d9481 add license headers 2019-05-13 19:52:20 +02:00
Michael Zanetti
10d2888916 add missing namespace 2019-05-10 12:49:37 +02:00
Michael Zanetti
02b97a686e Simplify it a bit 2019-05-10 01:31:26 +02:00
Michael Zanetti
ec727a1165 Don't use namespaces in headers in an inheritative way. 2019-05-09 18:33:26 +02:00
Michael Zanetti
3944e94699 Initial work on an integrated system update mechanism 2019-05-02 12:14:16 +02:00