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/defines.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,
34 // gchar const* key, Glib::ustring const* value);
35 static Glib::ustring nodeTypeToString(XML::Node const& node);
36 static XML::NodeType stringToNodeType(Glib::ustring const& type);
38 // Node key search utility method
39 static Glib::ustring findNodeID(XML::Node const& node,
40 XMLNodeTracker* tracker,
41 KeyNodeTable const& newnodes);
43 private:
44 // noncopyable, nonassignable
45 NodeUtilities(NodeUtilities const&);
46 NodeUtilities& operator=(NodeUtilities const&);
47 };
49 }
51 }
53 #endif
55 /*
56 Local Variables:
57 mode:c++
58 c-file-style:"stroustrup"
59 c-file-offsets:((innamespace . 0)(inline-open . 0))
60 indent-tabs-mode:nil
61 fill-column:99
62 End:
63 */
64 // vim: filetype=c++:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :