/*************************************************************************** mymoneyobjectcontainer.h ------------------- copyright : (C) 2006 by Thomas Baumgart email : ipwizard@users.sourceforge.net ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #ifndef MYMONEYOBJECTCONTAINER_H #define MYMONEYOBJECTCONTAINER_H // ---------------------------------------------------------------------------- // TQt Includes #include #include // ---------------------------------------------------------------------------- // Project Includes #include #include #include #include #include #include #include #include /** * @author Thomas Baumgart */ /** * This class represents a generic container for all MyMoneyObject derived objects. */ class KMYMONEY_EXPORT MyMoneyObjectContainer : public TQObject { TQ_OBJECT public: MyMoneyObjectContainer(); ~MyMoneyObjectContainer(); const MyMoneyAccount& account(const TQString& id); const MyMoneyPayee& payee(const TQString& id); const MyMoneySecurity& security(const TQString& id); const MyMoneyInstitution& institution(const TQString& id); const MyMoneySchedule& schedule(const TQString& id); void account(TQValueList& list); void payee(TQValueList& list); void institution(TQValueList& list); void preloadAccount(const TQValueList& list); void preloadPayee(const TQValueList& list); void preloadInstitution(const TQValueList& list); void preloadSecurity(const TQValueList& list); void preloadSchedule(const TQValueList& list); void preloadAccount(const MyMoneyAccount& account); void preloadSecurity(const MyMoneySecurity& security); void preloadPayee(const MyMoneyPayee& payee); void preloadInstitution(const MyMoneyInstitution& institution); void clear(const TQString& id); void clear(IMyMoneyStorage* storage = 0); const MyMoneyAccount& accountByName(const TQString& name) const; /** * This method refreshes an already existing object in the container * with a copy from the engine. The object is identified by its @a id. * If the object is unknown or the @a id is empty, nothing is done. */ void refresh(const TQString& id); private: void assignFraction(MyMoneyAccount* acc); private: TQMap m_map; IMyMoneyStorage* m_storage; }; #endif