/* Copyright 2010 Grégory Soutadé This file is part of KissCount. KissCount 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 3 of the License, or (at your option) any later version. KissCount is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with KissCount. If not, see . */ #ifndef KISSCOUNT_H #define KISSCOUNT_H #include #include #include #include #include class wxUI; class KissCount { public: KissCount(); ~KissCount(); std::list GetUsers(); bool IsValidUser(const wxString& user, const wxString& password); void LoadUser(const wxString& user); User* GetUser(); void ChangePassword(const wxString& password); bool UserExists(const wxString& name); void ChangeName(const wxString& name); void NewUser(const wxString& name); void LoadYear(int year, bool force=false); wxString AddOperation(Operation& op); void UpdateOperation(Operation& op); void DeleteOperation(Operation& op); void DeleteOperations(int month, int year); double GetAccountAmount(const wxString& id, int month, int year); void SetAccountAmount(int month, int year, const wxString& accountId, double value); wxString AddAccount(Account& ac); void UpdateAccount(Account& ac); void DeleteAccount(Account& ac); wxString AddCategory(Category& category); void UpdateCategory(Category& category); void DeleteCategory(Category& category); std::map > GetAllOperations(); void GenerateMonth(int monthFrom, int yearFrom, int monthTo, int yearTo); void KillMe(); void SetLanguage(wxLanguage language); private: wxUI* _wxUI; Database* _db; User* _user; }; #endif