Commit Graph

72 Commits

Author SHA1 Message Date
Mat Sutcliffe
9f85a7b560 Fixed clazy warnings: pass large objects by reference to const. 2019-02-22 20:23:33 +00:00
Klaus Basan
7ae7d04548 Ref T367, do not read again when info/setup was just read (age) 2018-09-23 20:12:30 +02:00
Mathew Sutcliffe
70224bea72 refs #904 Settings JSON files split into arbitrary levels of subfolders, one file per key. 2017-04-17 23:59:00 +01:00
Mathew Sutcliffe
c268581954 refs #885 Regenerate revision file from available JSON files. 2017-02-25 02:11:13 +00:00
Mathew Sutcliffe
fe3c97e37f Updates for Qt 5.8. 2017-02-24 15:22:43 +00:00
Mathew Sutcliffe
045b2a9f59 refs #815 When a cache/settings file has errors, back it up before it can be overwritten. 2017-01-10 23:46:38 +00:00
Mathew Sutcliffe
51c3ae8c25 refs #815 Catch and handle CJsonException when calling convertFromJson. 2017-01-10 23:46:36 +00:00
Mathew Sutcliffe
873b508943 refs #802 Fixed Clang warnings (Q_FUNC_INFO used outside function). 2016-12-13 19:00:45 +01:00
Mathew Sutcliffe
3c40c1026e refs #802 Fixed internal compiler errors with Clang on Windows. 2016-12-13 19:00:43 +01:00
Mathew Sutcliffe
4ed72706fc refs #794 Utility function to establish a signal/slot connection that auto-disconnects upon the first delivery. 2016-12-06 09:34:47 +01:00
Mathew Sutcliffe
0fd0ce05f0 refs #776 Use pointers instead of references for members of CCached,
to avoid subtle undefined behaviour with the placement-new trick (§3.8¶8.3).
2016-12-06 09:34:36 +01:00
Mathew Sutcliffe
384d59b084 refs #684, #766, #776 Removed CValueCacheCategory. 2016-10-17 14:37:47 +01:00
Mathew Sutcliffe
8a65a33384 refs #684, #766, #776 Support %OwnerName% in cache keys by allowing CCached::m_element to be a dummy
and by using a trick with explicit destructor call and placement new to reconstruct CCached when owner's name changes.
2016-10-17 14:37:47 +01:00
Mathew Sutcliffe
898b8e4078 refs #684 Added parametrised cache value key strings. 2016-09-19 16:18:53 +02:00
Mathew Sutcliffe
aeb15ea7be refs #759, #761 Track when a cache value notify slot is a member function to avoid duplicate calls. 2016-09-19 16:18:52 +02:00
Mathew Sutcliffe
e01ae2be11 refs #759 Allow cache value notification slot to be changed after construction.
Also allow slot to be any type of callable, including member function or lambda.
2016-09-19 16:18:52 +02:00
Mathew Sutcliffe
661254371c refs #730 Avoid duplicate "empty cache value" debug messages. 2016-08-26 21:04:49 +01:00
Mathew Sutcliffe
a0c20baf53 refs #697 Type traits renamed with T prefix. 2016-08-03 02:20:45 +01:00
Mathew Sutcliffe
98a2b3253a refs #694 Use human readable names in cache validation messages. 2016-07-31 23:17:46 +01:00
Mathew Sutcliffe
87b2396edb refs #694 Support human readable names for settings and data cache traits. 2016-07-31 23:15:35 +01:00
Mathew Sutcliffe
61f3655b2c refs #695 Allow to set a mock root directory for caches, for unit tests. 2016-07-29 17:09:08 +01:00
Mathew Sutcliffe
843620ca3c Caches: method to save values given a list of keys. 2016-06-30 22:20:32 +01:00
Mathew Sutcliffe
242e041ceb refs #679 CValueCache local signal relay moved to the point of emission, to tolerate different orders of initialization of application. 2016-06-30 02:06:16 +01:00
Klaus Basan
a132972f27 Fixed index/property order 2016-06-25 16:00:34 +02:00
Mathew Sutcliffe
000e22246f Caches: method to query keys of all unsaved values. 2016-06-08 21:39:18 +01:00
Mathew Sutcliffe
9bef6854ca Caches: rename "get" to "getThreadLocal" and rename "getCopy" to get. 2016-06-08 18:21:01 +02:00
Mathew Sutcliffe
d0d100da5e refs #664 Use timestamps from .rev file instead of the filesystem timestamps of the json files. 2016-05-26 18:03:21 +01:00
Mathew Sutcliffe
4bc8326389 refs #664 Fixed bug in data cache log message creation. 2016-05-26 18:01:42 +01:00
Mathew Sutcliffe
9da53bd58b refs #646 Added timestamps in data cache load/save log messages. 2016-05-22 15:34:05 +01:00
Roland Winklmeier
d0313c7524 Style 2016-05-20 01:31:26 +02:00
Roland Winklmeier
3d7a39ed00 Fix BlackMisc header includes
* Include only what is used
* Use forward declaration when possible
* Sorted includes

refs #630
2016-05-13 17:05:49 +02:00
Mathew Sutcliffe
bf2a84b67c refs #614, allow CCached::NotifySlot to refer to a base class method 2016-05-07 20:11:42 +02:00
Mathew Sutcliffe
ed2c8130ae refs #652 Convenience to support changing only an indexed property of a cached value. 2016-05-05 15:25:07 +01:00
Mathew Sutcliffe
f4eadddee7 refs #644 Add method CCached::save, like setAndSave but using the currently set value.
Implemented with a flag in CValueCachePacket to indicate a request to save only.
2016-04-27 19:39:49 +01:00
Klaus Basan
2379d373d3 refs #614, fixed missing include 2016-04-11 20:16:12 +02:00
Klaus Basan
94d9a1a780 Added doxygen comment as discussed on slack 2016-04-11 20:16:09 +02:00
Klaus Basan
a1d6492ff2 refs #614, moved cache to vPilot reader 2016-04-11 20:16:03 +02:00
Mathew Sutcliffe
4e9d7d3efe refs #628 Metaclass style compatible with the AStyle beautifier. 2016-04-06 15:15:12 +01:00
Mathew Sutcliffe
4bd4baa535 refs #628 Use the metaclass mixins in all value classes. 2016-04-03 18:17:43 +01:00
Mathew Sutcliffe
eb4df2d893 refs #624 Use auto function return type deduction. 2016-03-22 16:02:33 +00:00
Mathew Sutcliffe
91494ea2e5 refs #624 Swap functions, move constructors, and move assignment operators should all be noexcept where possible. 2016-03-21 02:20:01 +00:00
Mathew Sutcliffe
b33781717e refs #624 Remove noexcept from destructors, which are implicitly noexcept. 2016-03-19 21:07:56 +00:00
Mathew Sutcliffe
c6a038aaa8 refs #601 Simplify syncLoad and rename to synchronize.
Now it doesn't return anything, it just causes the next async get() to be synchronized with the latest loaded value.
It does this by hooking into the queue introduced in the previous commit.
2016-03-18 01:07:38 +00:00
Mathew Sutcliffe
06ad77ee9d refs #601 CDataCache overrides connectPage to provide a queue that is more flexible than the usual Qt::QueuedConnection. 2016-03-18 01:07:32 +00:00
Mathew Sutcliffe
899d94ca74 refs #601 Refactor signal/slot connections from CValuePage constructor into virtual method of CValueCache
so that derived classes can override the behaviour.
2016-03-18 01:07:27 +00:00
Mathew Sutcliffe
f680cee8ed refs #601 Slot inhibitor no longer needed, this reverts commit:bc2e0faa. 2016-03-18 01:07:24 +00:00
Mathew Sutcliffe
a47a2681bd refs #601 Fixed thread safety of get() by adding getCopy(). 2016-03-17 19:45:15 +00:00
Klaus Basan
3e21b718d9 refs #601, #618 Fixed mistake. 2016-03-17 19:45:12 +00:00
Klaus Basan
144ba62572 refs #601, #600, #485 Status message handling.
* follow up of debug session, added failure/success to status message
* return status messages instead of directly logging in functions returning CStatusMessage.
* Ignore empty preformatted messages.
* new log category
2016-03-17 19:45:04 +00:00
Roland Winklmeier
7953d550ea Fix linux clang errors and warnings
refs #596
2016-02-15 18:35:34 +01:00