diff options
Diffstat (limited to 'Swift/Controllers/StatusCache.h')
| -rw-r--r-- | Swift/Controllers/StatusCache.h | 40 | 
1 files changed, 40 insertions, 0 deletions
| diff --git a/Swift/Controllers/StatusCache.h b/Swift/Controllers/StatusCache.h new file mode 100644 index 0000000..35b3674 --- /dev/null +++ b/Swift/Controllers/StatusCache.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2012 Kevin Smith + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include <string> +#include <utility> +#include <vector> +#include <list> +#include <iostream> + +#include <boost/filesystem/path.hpp> + +#include <Swiften/Elements/StatusShow.h> + +namespace Swift { +	class ApplicationPathProvider; +	class StatusCache { +		public: +			typedef std::pair<std::string, StatusShow::Type> PreviousStatus; +		public: +			StatusCache(ApplicationPathProvider* paths); +			~StatusCache(); + +			std::vector<PreviousStatus> 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<PreviousStatus> previousStatuses_; +			ApplicationPathProvider* paths_; +	}; +} + + | 
 Swift
 Swift