summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/Controllers/HighlightRule.h')
-rw-r--r--Swift/Controllers/HighlightRule.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/Swift/Controllers/HighlightRule.h b/Swift/Controllers/HighlightRule.h
index 1abfa5a..523be47 100644
--- a/Swift/Controllers/HighlightRule.h
+++ b/Swift/Controllers/HighlightRule.h
@@ -10,6 +10,8 @@
#include <string>
#include <boost/regex.hpp>
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
#include <Swift/Controllers/HighlightAction.h>
@@ -26,9 +28,6 @@ namespace Swift {
const HighlightAction& getAction() const { return action_; }
HighlightAction& getAction() { return action_; }
- static HighlightRule fromString(const std::string&);
- std::string toString() const;
-
const std::vector<std::string>& getSenders() const { return senders_; }
void setSenders(const std::vector<std::string>&);
@@ -53,6 +52,9 @@ namespace Swift {
bool isEmpty() const;
private:
+ friend class boost::serialization::access;
+ template<class Archive> void serialize(Archive & ar, const unsigned int version);
+
static std::string boolToString(bool);
static bool boolFromString(const std::string&);
@@ -74,4 +76,17 @@ namespace Swift {
HighlightAction action_;
};
+ template<class Archive>
+ void HighlightRule::serialize(Archive& ar, const unsigned int /*version*/)
+ {
+ ar & senders_;
+ ar & keywords_;
+ ar & nickIsKeyword_;
+ ar & matchChat_;
+ ar & matchMUC_;
+ ar & matchCase_;
+ ar & matchWholeWords_;
+ ar & action_;
+ }
+
}