index b338a91fe31dec552a4c07d7d93cc438592ad9b9..60acf0ae932e1e032c9ce286dd22ac2b6ae4831f 100644 (file)
else
iter++;
}
-
+
//add new
KeyNodePair pair(key, node);
items.push_back(pair);
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);
+ }
+ }
+}
+
+Glib::ustring KeyNodeTable::getLastHistory(XML::Node *node, Glib::ustring att)
+{
+ std::list<Configure> hist;
+
+ std::vector<KeyNodePair>::iterator iter;
+ for (iter = items.begin() ; iter != items.end() ; iter++)
+ {
+ if (node == iter->node)
+ hist = iter->history;
+ }
+
+ std::list<Configure>::iterator it;
+ for(it = hist.end() ; it != hist.begin() ; it--)
+ {
+ if(it->first == att)
+ {
+ //g_warning("hist %s %s",it->first,it->second);
+ return it->second;
+ }
+ }
+ return "";
+}
void KeyNodeTable::remove(XML::Node *node)
{