Code

add basic support for preserving processing instructions in the AST
[inkscape.git] / src / jabber_whiteboard / session-manager.cpp
index 3dcb8e217bdf08a9aef87406f18e25d4df1ba8bf..a04ab05f00e39fa1f424141140e37e0e72260670 100644 (file)
@@ -234,7 +234,7 @@ SessionManager::processWhiteboardEvent(Pedro::XmppEvent const& event)
     }
 
     Pedro::DOMString session = root->getTagAttribute("wb", "session");
-    Pedro::DOMString type = root->getTagAttribute("session", "type");
+    Pedro::DOMString type = root->getTagAttribute("message", "type");
     Pedro::DOMString domwrapper = root->getFirstChild()->getFirstChild()->getFirstChild()->getName();
 
     if (session.empty()) {
@@ -250,9 +250,10 @@ SessionManager::processWhiteboardEvent(Pedro::XmppEvent const& event)
     { 
         Message::Wrapper wrapper = static_cast< Message::Wrapper >(domwrapper);
         InkboardDocument* doc = getInkboardSession(session);
-        doc->processInkboardEvent(wrapper, root->getFirstChild());
-    }
 
+        if(doc != NULL)
+            doc->recieve(wrapper, root->getFirstChild());
+    }
 }
 
 char*
@@ -328,12 +329,12 @@ SessionManager::checkInvitationQueue()
         switch (reply) {
 
             case Dialog::ACCEPT_INVITATION:{
-                inkdoc->sendProtocol(from, Message::PROTOCOL,Message::ACCEPT_INVITATION);
+                inkdoc->send(from, Message::PROTOCOL,Message::ACCEPT_INVITATION);
                 makeInkboardDesktop(doc);
                 break; }
 
             case Dialog::DECLINE_INVITATION: default: {
-                inkdoc->sendProtocol(from, Message::PROTOCOL,Message::DECLINE_INVITATION);
+                inkdoc->send(from, Message::PROTOCOL,Message::DECLINE_INVITATION);
                 terminateSession(sessionId);
                 break; }
         }
@@ -357,11 +358,11 @@ makeInkboardDocument(int code, gchar const* rootname, State::SessionType type, G
     InkboardDocument* rdoc = new InkboardDocument(g_quark_from_static_string("xml"), type, to);
     rdoc->setAttribute("version", "1.0");
     rdoc->setAttribute("standalone", "no");
-    XML::Node *comment = sp_repr_new_comment(" Created with Inkscape (http://www.inkscape.org/) ");
+    XML::Node *comment = rdoc->createComment(" Created with Inkscape (http://www.inkscape.org/) ");
     rdoc->appendChild(comment);
     GC::release(comment);
 
-    XML::Node* root = sp_repr_new(rootname);
+    XML::Node* root = rdoc->createElement(rootname);
     rdoc->appendChild(root);
     GC::release(root);
 
@@ -397,6 +398,7 @@ makeInkboardDesktop(SPDocument* doc)
         sp_create_window(dtw, TRUE);
         dt = static_cast<SPDesktop*>(dtw->view);
         sp_namedview_window_from_document(dt);
+        sp_namedview_update_layers_from_document(dt);
     }
 
     return dt;