95 Commits

Author SHA1 Message Date
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
Jenkins
f884eb9195 Merge PR #159: Add a warning message in JsonRpcServer when a call times out 2019-05-02 11:56:04 +02:00
Jenkins
a91fa09940 Merge PR #156: Fix JsonRpc server breaking transports upon guard timer timeouts 2019-05-02 11:56:04 +02:00
Michael Zanetti
b83b356f67 Add a warning message in JsonRpcServer when a call times out 2019-04-29 12:47:35 +02:00
Michael Zanetti
9e2d495f9a Fix JsonRpc server breaking transports upon guard timer timeouts 2019-04-16 19:48:56 +02:00
Michael Zanetti
87297b5d95 Fix documentation after API chabnges 2019-04-15 19:36:49 +02:00
Jenkins
d510aa13bb Merge PR #148: Add support for state based rule action parameters 2019-04-12 13:42:30 +02:00
Jenkins
fb5aba3964 Merge PR #141: Fix the notification for deleting a web server configuration 2019-04-12 13:42:30 +02:00