// application specific includes
#include "fleet.h"
+typedef std::map<QString, std::map<QString, std::map<QString, Fleet*> > > BattleList;
//! The document class
/** This class is holding all the data, handles the transportation of the
* data to a couple of different mediums and informs users of the data
* change it.
* \todo remove this, and replace it with a better more closed interface.
*/
- std::map<QString, std::map<QString, std::map<QString, Fleet> > >& Battles();
+ const BattleList& battles() const;
+
+
+ /**Looks for the fleet with the specified name, in the specified group in the
+ * specified battle.
+ * \return Returns '\0' (NULL) if the fleet isn't found, if it is found it
+ * returns a const pointer to the fleet.
+ */
+ const Fleet* specificFleet(QString battle, QString group, QString fleet) const;
+
+ void changeFleet(QString battle, QString group, QString fleet, const Fleet* fl);
signals:
void documentChanged();
* -# The fleetname (Home Planet, coordinates, irc nicks and so on)
* - and in the end you got the actual Fleet object with it's data.
*/
- std::map<QString, std::map<QString, std::map<QString, Fleet> > > m_Battles;
+ BattleList m_Battles;
};
#endif