Code

part of bug #339660; can not use Add/Rename dialog to create layer with no proper...
[inkscape.git] / src / jabber_whiteboard / defines.cpp
index 7e06cd625cac3555c0d8e1ad0b7161a6c741f908..ad064126016c92b30d942f7984813115746b2619 100644 (file)
@@ -19,43 +19,85 @@ namespace Inkscape {
 
 namespace Whiteboard {
 
-char const * const MessageString[] = {
-    // image and internal data
-        "CHANGE_NOT_REPEATABLE",
-       "CHANGE_REPEATABLE",
-       "DUMMY_CHANGE",
-       "CHANGE_COMMIT",
-       "DOCUMENT_BEGIN",
-       "DOCUMENT_END",
-
-    // 1-1 connections
-        "connect-request",
-       "CONNECT_REQUEST_RESPONSE_USER", 
-    // chat connections
-        "CONNECT_REQUEST_RESPONSE_CHAT",
-
-    // chatroom document synchronization
-       "CHATROOM_SYNCHRONIZE_REQUEST", 
-       "CHATROOM_SYNCHRONIZE_RESPONSE",
-
-    // requests
-        "DOCUMENT_SENDER_REQUEST",
-       "DOCUMENT_SENDER_REQUEST_RESPONSE", 
-       "DOCUMENT_REQUEST",
-
-    // notifications
-        "CONNECTED_SIGNAL",
-       "DISCONNECTED_FROM_USER_SIGNAL",
-
-    // error responses
-       "CONNECT_REQUEST_REFUSED_BY_PEER", 
-       "UNSUPPORTED_PROTOCOL_VERSION",
-       "ALREADY_IN_SESSION",
-       
-    // error cases, i.e. garbled messages or bad clients.  These should
-    // never actually be transmitted
-       "UNKNOWN"
-};
+namespace Message {
+
+    Wrapper PROTOCOL       ("protocol");
+    Wrapper NEW            ("new");
+    Wrapper REMOVE         ("remove");
+    Wrapper CONFIGURE      ("configure");
+    Wrapper MOVE           ("move");
+
+    Message CONNECT_REQUEST       ("connect-request");
+    Message CONNECTED             ("connected");
+    Message ACCEPT_INVITATION     ("accept-invitation");
+    Message DECLINE_INVITATION    ("decline-invitation");
+    Message DOCUMENT_BEGIN        ("document-begin");
+    Message DOCUMENT_END          ("document-end");
+}
+
+namespace Vars {
+
+    const std::string DOCUMENT_ROOT_NODE("ROOT"); 
+    const std::string INKBOARD_XMLNS("http://inkscape.org/inkboard"); 
+
+    const std::string WHITEBOARD_MESSAGE(
+        "<message type='%1' from='%2' to='%3'>"
+            "<wb xmlns='%4' session='%5'>%6</wb>"
+        "</message>"); 
+
+    const std::string PROTOCOL_MESSAGE(
+        "<%1><%2 /></%1>");
+
+    const std::string NEW_MESSAGE(
+        "<new parent=\"%1\" id=\"%2\" index=\"%3\" version=\"%4\">%5</new>");
+
+    const std::string CONFIGURE_MESSAGE(
+        "<configure target=\"%1\" version=\"%2\" attribute=\"%3\" value=\"%4\" />");
+
+    const std::string CONFIGURE_TEXT_MESSAGE(
+        "<configure target=\"%1\" version=\"%2\"><text>%3</text></configure>");
+
+    const std::string MOVE_MESSAGE(
+        "<move target=\"%1\" n=\"%2\" />");
+
+    const std::string REMOVE_MESSAGE(
+        "<remove target=\"%1\" />");
+}
+
+namespace State {
+
+    SessionType WHITEBOARD_MUC      ("groupchat"); 
+    SessionType WHITEBOARD_PEER     ("chat");
+
+}
+
+// Protocol versions
+char const* MESSAGE_PROTOCOL_V1 =      "1";
+char const* MESSAGE_PROTOCOL_V2        =       "2";
+int const HIGHEST_SUPPORTED =          1;
+
+// Node types (as strings)
+char const* NODETYPE_DOCUMENT_STR =    "document";
+char const* NODETYPE_ELEMENT_STR =     "element";
+char const* NODETYPE_TEXT_STR =                "text";
+char const* NODETYPE_COMMENT_STR =     "comment";
+
+// Number of chars to allocate for type field (in SessionManager::sendMessage)
+int const TYPE_FIELD_SIZE =                    5;
+
+// Number of chars to allocate for sequence number field (in SessionManager::sendMessage)
+int const SEQNUM_FIELD_SIZE    =       70;
+
+// Designators for certain "special" nodes in the document
+// These nodes are "special" because they are generally present in all documents,
+// and we generally only want one copy of them
+char const* DOCUMENT_ROOT_NODE =               "ROOT";
+char const* DOCUMENT_NAMEDVIEW_NODE =  "NAMEDVIEW";
+
+// Names of these special nodes
+char const* DOCUMENT_ROOT_NAME =               "svg:svg";
+char const* DOCUMENT_NAMEDVIEW_NAME =  "sodipodi:namedview";
+
 
 }
 }