#if !defined(HISTORYSTATS_GUARD_MIRANDAHISTORY_H) #define HISTORYSTATS_GUARD_MIRANDAHISTORY_H #include "stdafx.h" #include #include "mirandacontact.h" #include "protocol.h" #include "settings.h" class MirandaHistory : private pattern::NotCopyable { private: typedef std::map ProtocolMap; typedef std::vector ContactList; private: const Settings& m_Settings; ProtocolMap m_Protocols; Protocol m_DefaultProtocol; bool m_bContactsAvailable; ContactList m_Contacts; private: void populateProtocols(); const Protocol& getProtocol(const ext::a::string& protocol) const; void makeContactsAvailable(); void readContacts(); void mergeContacts(); public: explicit MirandaHistory(const Settings& settings); ~MirandaHistory(); int getContactCount(); MirandaContact& getContact(int index); }; #endif // HISTORYSTATS_GUARD_MIRANDAHISTORY_H