1 /**
2 * Whiteboard session manager
3 * XML node manipulation / retrieval utilities
4 *
5 * Authors:
6 * David Yip <yipdw@rose-hulman.edu>
7 *
8 * Released under GNU GPL, read the file 'COPYING' for more information
9 */
11 #ifndef __WHITEBOARD_NODE_UTILITIES_H__
12 #define __WHITEBOARD_NODE_UTILITIES_H__
14 #include "jabber_whiteboard/typedefs.h"
15 #include "xml/node.h"
16 #include <glibmm.h>
18 namespace Inkscape {
20 namespace XML {
22 class Node;
24 }
26 namespace Whiteboard {
28 class XMLNodeTracker;
30 class NodeUtilities {
31 public:
32 // Node utilities
33 // static Inkscape::XML::Node* lookupReprByValue(Inkscape::XML::Node* root, gchar const* key, ustring const* value);
34 static Glib::ustring const nodeTypeToString(XML::Node const& node);
35 static XML::NodeType stringToNodeType(Glib::ustring const& type);
37 // Node key search utility method
38 static std::string const findNodeID(XML::Node const& node, XMLNodeTracker* tracker, NodeToKeyMap const& newnodes);
40 private:
41 // noncopyable, nonassignable
42 NodeUtilities(NodeUtilities const&);
43 NodeUtilities& operator=(NodeUtilities const&);
44 };
46 }
48 }
50 #endif
52 /*
53 Local Variables:
54 mode:c++
55 c-file-style:"stroustrup"
56 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
57 indent-tabs-mode:nil
58 fill-column:99
59 End:
60 */
61 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :