Mat Sutcliffe
eb6b0ff289
Fix clang-tidy and clazy warnings
2021-08-29 17:02:27 +01:00
Mat Sutcliffe
7955d0a06e
Remove workarounds for fixed bugs
2021-07-13 17:56:23 +01:00
Mat Sutcliffe
63f5d28622
Issue #77 Break cyclic dependency between CVariant and all other value classes
2020-12-19 18:50:36 +00:00
Mat Sutcliffe
1991b4847a
Issue #77 Break cyclic dependency between CPropertyIndex and all other value classes
2020-12-19 18:50:36 +00:00
Mat Sutcliffe
0971c8ce68
Issue #77 All classes propertyindex methods use CPropertyIndexRef and QVariant
2020-12-19 18:50:35 +00:00
Mat Sutcliffe
371c1f4f7c
Issue #77 Break cyclic dependency between CLogCategory and numerous classes
2020-12-19 18:50:34 +00:00
Mat Sutcliffe
63e8de8f00
Issue #77 getLogCategories returns a simple QStringList instead of our own class
2020-12-19 18:50:34 +00:00
Mat Sutcliffe
802576eda9
Issue #77 Rename
2020-08-29 14:16:11 +01:00
Mat Sutcliffe
e8380173c9
Store CDataCacheSerializer as a pointer for correct lifetime management
2020-06-12 18:42:41 +01:00
Mat Sutcliffe
668a77d083
Ref T689 Settings validation can produce more descriptive error messages.
2019-09-16 22:40:05 +01:00
Mat Sutcliffe
e9a4c49d68
Ref T547 Update license masthead in all source code files.
2019-02-22 20:36:43 +00:00
Klaus Basan
c253520f4a
Ref T292, Ref T285 cache singleShot guard
2018-07-27 01:15:57 +02:00
Klaus Basan
0fa4bf1e9d
Ref T207, workaround for Q_ASSERT issue described in T207
2018-01-15 22:50:28 +01:00
Klaus Basan
ecb7877908
refs #906 , obtain .rev file name from static function instead of member
2017-04-18 00:00:34 +01:00
Klaus Basan
9b4b2f70cc
refs #890 , use CFileUtils to append paths
2017-04-17 23:56:58 +01:00
Klaus Basan
888375d294
refs #887 , directories available via CDirectoryUtils/relative paths
...
* relative cache/settings paths are available relativeFilePath
* directories build in CDirectoryUtils
* directory comparison in CDirectoryUtils
* using CFileUtils to concatenate dir paths
* using URL encoded string for normalized directory (as it can be decoded)
2017-03-01 20:51:34 +01:00
Mathew Sutcliffe
c268581954
refs #885 Regenerate revision file from available JSON files.
2017-02-25 02:11:13 +00: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
d0d1a9c8b8
refs #756 Fixed session cache concept:
...
Each new session generates an ID identifying that session, and
the .rev file annotates the ID associated with each cache value.
This is needed to avoid reading a value from a previous session
when loading for a continuing (non-new) session. The coarse-
grained approach of distinguishing new sessions from non-new
sessions was insufficient.
2016-12-06 09:33:52 +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
64315e1022
refs #756 Allow to mark data cache traits with a session flag, so they are overwritten when starting a new session.
...
(Starting a new session means, that a swift application is started when no other swift application is running.)
2016-10-17 14:34:24 +01:00
Mathew Sutcliffe
898b8e4078
refs #684 Added parametrised cache value key strings.
2016-09-19 16:18:53 +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
0ae1e70923
refs #697 Data cache traits renamed with T prefix.
2016-08-03 02:20:27 +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
9339991644
refs #715 When loading data cache, prune revision file to remove keys that weren't found.
2016-07-29 17:09:07 +01:00
Klaus Basan
dc02ff2d0c
Addded log categories / human readable pattern
2016-06-29 01:04:44 +02:00
Mathew Sutcliffe
d53237cebc
refs #659 , #657 Fixed mistake in synchronize() where a future would be broken prematurely if async load had not yet started after 1 second timeout.
2016-06-06 18:27:51 +01:00
Mathew Sutcliffe
aefef81cd7
refs #659 Read-only versions of cache value access classes.
2016-06-05 21:18:52 +01:00
Mathew Sutcliffe
a2b0602c53
refs #659 Fixed minor mistakes.
2016-06-05 21:18:49 +01:00
Mathew Sutcliffe
50de252ff6
refs #659 Fixed a bug where valid timestamps of unloaded values would be lost when writing a new .rev file.
2016-06-04 00:51:01 +01:00
Mathew Sutcliffe
8377ab2e51
refs #659 Method to get timestamp from revision file without loading value.
2016-06-04 00:50:59 +01:00
Mathew Sutcliffe
5559d1fcc6
refs #659 Use a threadsafe queue for admit(), to avoid a race with synchronize().
2016-06-04 00:50:54 +01:00
Mathew Sutcliffe
f1a9ae5a13
refs #659 Add the method CData::admit() which causes a value with deferred loading to be loaded.
2016-06-04 00:50:47 +01:00
Mathew Sutcliffe
29cea55bc9
refs #659 Allow setting a "deferred" flag in data cache values, causing the value not to be loaded.
2016-05-26 20:03:13 +01:00
Mathew Sutcliffe
4c08d1cc86
refs #659 Use constexpr with isPinned method of data cache traits.
2016-05-26 19:57:22 +01: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
f523197dfd
refs #657 Fixed race condition in synchronize().
2016-05-22 15:34:05 +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
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
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
Mathew Sutcliffe
6b1b599275
refs #623 Fixed CDataPageQueue performance.
2016-03-19 19:41:33 +00:00
Mathew Sutcliffe
6f3faa5d7e
Fixed mistake in CData::isStale.
2016-03-19 16:06:48 +00:00
Mathew Sutcliffe
259f8d7a68
refs #601 Introduce "pinned" values, which are loaded synchronously by the CDataCache constructor.
2016-03-18 01:07:41 +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
bef19a5240
refs #581 , #592 Allow to renew a stale value by updating the timestamp on disk without altering the value.
2016-02-06 19:45:51 +00:00
Mathew Sutcliffe
a58dddfa19
refs #581 , #592 Make sure syncLoad checks if the next load would load the value, if it is not currently loading.
2016-02-06 19:45:49 +00:00
Mathew Sutcliffe
071dbda4b7
refs #581 Store a TTL value in the data cache revision file, skip loading a cached value if its timestamp is too old.
2016-02-06 19:45:48 +00:00