/* * Copyright (c) 2012-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include #include #include #include #include #include #include namespace Swift { class ApplicationPathProvider; class StatusCache { public: typedef std::pair PreviousStatus; public: StatusCache(ApplicationPathProvider* paths); ~StatusCache(); std::vector getMatches(const std::string& substring, size_t maxCount) const; void addRecent(const std::string& text, StatusShow::Type type); private: void saveRecents(); void loadRecents(); private: boost::filesystem::path path_; std::list previousStatuses_; ApplicationPathProvider* paths_; }; }