This patch introduces MyMoneyGenericStorageMgr class to avoid needless duplication of virtual methods and juggling betweenin IMyMoneyStorage and IMyMoneyStoragerialize and IMyMoneySerialize.juggling between those two interfaces.
It's a cornerstone for getting rid of MyMoneyObjectContainer as universal cache and moving cache from MyMoneySeqAccessMgr to this class,.
Its code consists in big part from well proven MyMoneySeqAccessMgr and lends its capabilities to MyMoneyDatabaseMgr. Therefore databases now work just like xml file, i.e. read to cache, make all operations on cache and save to the file at the end of program. so that MyMoneyDatabaseMgr could use it as well.
Rationale for that is that there is needless double cache in case of using XML storage backend,This brings us speed and unified code path.
MyMoneyDatabaseMgr looked like duplicate code and had a little bit different logic in two places, which shouldn't happen. one in MyMoneyObjectContainerThat's why tests had to be heavily modified and one innow are probably duplicate of MyMoneySeqAccessMgr test.
This patch reorganizes headers only, so it should be safe to applyIf a database should be connected in real-time to KMyMoney then it's not possible at the moment and for sure shouldn't be solved as it was solved before.