summaryrefslogtreecommitdiffstats
path: root/src/jabber_whiteboard/keynode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/jabber_whiteboard/keynode.cpp')
-rw-r--r--src/jabber_whiteboard/keynode.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/jabber_whiteboard/keynode.cpp b/src/jabber_whiteboard/keynode.cpp
index 6f0a5226f..af2c0762e 100644
--- a/src/jabber_whiteboard/keynode.cpp
+++ b/src/jabber_whiteboard/keynode.cpp
@@ -89,6 +89,51 @@ Glib::ustring KeyNodeTable::get(XML::Node *node) const
return "";
}
+unsigned int KeyNodeTable::incrementVersion(XML::Node *node)
+{
+ std::vector<KeyNodePair>::iterator iter;
+ for (iter = items.begin() ; iter != items.end() ; iter++)
+ {
+ if (node == iter->node)
+ break;
+ }
+ return ++iter->version;
+}
+
+unsigned int KeyNodeTable::getVersion(XML::Node *node)
+{
+ std::vector<KeyNodePair>::iterator iter;
+ for (iter = items.begin() ; iter != items.end() ; iter++)
+ {
+ if (node == iter->node)
+ break;
+ }
+ return iter->version;
+}
+
+void KeyNodeTable::addHistory(XML::Node *node, Glib::ustring attribute, Glib::ustring value)
+{
+ std::vector<KeyNodePair>::iterator iter;
+ for (iter = items.begin() ; iter != items.end() ; iter++)
+ {
+ if (node == iter->node)
+ {
+ Configure pair(attribute, value);
+ iter->history.push_back(pair);
+ }
+ }
+}
+
+Configure& KeyNodeTable::getLastHistory(XML::Node *node)
+{
+ std::vector<KeyNodePair>::iterator iter;
+ for (iter = items.begin() ; iter != items.end() ; iter++)
+ {
+ if (node == iter->node)
+ break;
+ }
+ return iter->history.back();
+}
void KeyNodeTable::remove(XML::Node *node)
{