summaryrefslogtreecommitdiffstats
path: root/src/jabber_whiteboard/node-tracker-observer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/jabber_whiteboard/node-tracker-observer.h')
-rw-r--r--src/jabber_whiteboard/node-tracker-observer.h119
1 files changed, 0 insertions, 119 deletions
diff --git a/src/jabber_whiteboard/node-tracker-observer.h b/src/jabber_whiteboard/node-tracker-observer.h
deleted file mode 100644
index 86aa5c304..000000000
--- a/src/jabber_whiteboard/node-tracker-observer.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/**
- * Convenience base class for XML::NodeObservers that need to extract data
- * from an XMLNodeTracker and queue up added or removed nodes for later
- * processing
- *
- * Authors:
- * David Yip <yipdw@rose-hulman.edu>
- *
- * Copyright (c) 2005 Authors
- *
- * Released under GNU GPL, read the file 'COPYING' for more information
- */
-
-#ifndef __WHITEBOARD_NODE_TRACKER_OBSERVER_H__
-#define __WHITEBOARD_NODE_TRACKER_OBSERVER_H__
-
-#include "xml/node-observer.h"
-
-#include "jabber_whiteboard/node-tracker-event-tracker.h"
-#include "jabber_whiteboard/node-tracker.h"
-#include "jabber_whiteboard/typedefs.h"
-
-namespace Inkscape {
-
-namespace XML {
-
-class Node;
-
-}
-
-namespace Whiteboard {
-
-class NodeTrackerObserver : public XML::NodeObserver {
-public:
- NodeTrackerObserver(XMLNodeTracker* xnt) : _xnt(xnt) { }
- virtual ~NodeTrackerObserver() { }
-
- // just reinforce the fact that we don't implement any of the
- // notification methods here
- virtual void notifyChildAdded(XML::Node &node, XML::Node &child, XML::Node *prev)=0;
-
- virtual void notifyChildRemoved(XML::Node &node, XML::Node &child, XML::Node *prev)=0;
-
- virtual void notifyChildOrderChanged(XML::Node &node, XML::Node &child,
- XML::Node *old_prev, XML::Node *new_prev)=0;
-
- virtual void notifyContentChanged(XML::Node &node,
- Util::ptr_shared<char> old_content,
- Util::ptr_shared<char> new_content)=0;
-
- virtual void notifyAttributeChanged(XML::Node &node, GQuark name,
- Util::ptr_shared<char> old_value,
- Util::ptr_shared<char> new_value)=0;
-
-
- // ...but we do provide node tracking facilities
- KeyToNodeActionList& getNodeTrackerActions()
- {
- return this->newnodes;
- }
-
- KeyToNodeActionList getNodeTrackerActionsCopy()
- {
- return this->newnodes;
- }
-
- void clearNodeBuffers()
- {
- this->newnodes.clear();
- this->newkeys.clear();
- this->actions.clear();
- }
-
-protected:
- std::string _findOrGenerateNodeID(XML::Node& node)
- {
- NodeToKeyMap::iterator i = newkeys.find(&node);
- if (i != newkeys.end()) {
-// g_log(NULL, G_LOG_LEVEL_DEBUG, "Found key for %p (local): %s", &node, i->second.c_str());
- return i->second;
- } else {
- std::string nodeid = this->_xnt->get(node);
- if (nodeid.empty()) {
-// g_log(NULL, G_LOG_LEVEL_DEBUG, "Generating key for %p", &node);
- return this->_xnt->generateKey();
- } else {
-// g_log(NULL, G_LOG_LEVEL_DEBUG, "Found key for %p (tracker): %s", &node, nodeid.c_str());
- return nodeid;
- }
- }
- }
-
- KeyToNodeActionList newnodes;
- NodeTrackerEventTracker actions;
- NodeToKeyMap newkeys;
- XMLNodeTracker* _xnt;
-
-private:
- // noncopyable, nonassignable
- NodeTrackerObserver(NodeTrackerObserver const& other);
- NodeTrackerObserver& operator=(NodeTrackerObserver const& other);
-
-};
-
-}
-
-}
-#endif
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :