[Kmymoney-devel] Adding a new MyMoneyObject / pointers and MyMoneyMap

Christian Dávid christian-david at web.de
Thu Nov 7 17:40:19 UTC 2013


Hello,

as mentioned before I am trying to enable KMyMoney to use AQBankings 
possibilities to send transfers (actually I am quite far, and I used it for 
real world transfers already). Btw it is wish-list 238105 [1].

As discussed with Thomas I use an abstract class onlineJob derived from 
MyMoneyObject. By sub-classing onlineJob you can add national transfers, 
international transfers, password change, etc. The status of a job is stored in 
onlineJob. onlineJob has a virtual onlineJob* clone() method to create a copy.

My implementation uses pointers to allow casts. But the KMyMoney transaction 
system is not prepared for this. I have two proposals to solve that problem 
and wanted to ask you which one you like.

A)  Within MyMoneySeqAccessMgr (and the db equivalent) the pointer is put in a 
QSharedPointer<onlineJob>, then no changes to MyMoneyMap or the transaction 
system needs to be done.

B) Change MyMoneyMap (and I guess more) to enable it to delete unneeded  
object when a transaction is finished.

Or more general, do you want to use pointers within KMyMoney or avoid them if 
possible? E.g. what should the return type of MyMoneyFile::getOnlineJob( 
QString id ) be? onlineJob*, onlineJob& or QSharedPointer<>? I started using 
pointers, do you like that idea?

Thank you very much!

Greetings
Christian

[1] https://bugs.kde.org/show_bug.cgi?id=238105


More information about the KMyMoney-devel mailing list