Code

fix parameter ranges, copyedit
[inkscape.git] / src / pedro / pedroxmpp.h
index 0e07013e6f47f810f8e7f68777edb21eff6b7c76..ee3234fd4a69e8778c3ab9bd3c6333637102ec74 100644 (file)
@@ -6,7 +6,7 @@
  * Authors:
  *   Bob Jamison
  *
- * Copyright (C) 2005 Bob Jamison
+ * Copyright (C) 2005-2007 Bob Jamison
  *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
@@ -24,7 +24,9 @@
  */
 
 #include <stdio.h>
+#include <glib.h>
 #include <vector>
+#include <map>
 
 #include <string>
 
@@ -503,7 +505,7 @@ public:
     /**
      *  Assignment
      */
-    XmppEventListener(const XmppEventListener &other)
+    XmppEventListener(const XmppEventListener &/*other*/)
         {}
 
 
@@ -518,7 +520,7 @@ public:
      *  event handling.  Use event.getType() to decide what to do
      *  with the event.
      */
-    virtual void processXmppEvent(const XmppEvent &event)
+    virtual void processXmppEvent(const XmppEvent &/*event*/)
         {}
 
 };
@@ -565,13 +567,13 @@ public:
     /**
      * Send an error message to all subscribers
      */
-    void error(char *fmt, ...);
+    void error(const char *fmt, ...) G_GNUC_PRINTF(2,3);
 
 
     /**
      * Send a status message to all subscribers
      */
-    void status(char *fmt, ...);
+    void status(const char *fmt, ...) G_GNUC_PRINTF(2,3);
 
     //###########################
     //# LISTENERS
@@ -628,10 +630,6 @@ private:
 
     std::vector<XmppEvent> eventQueue;
     bool eventQueueEnabled;
-
-    static const int targetWriteBufLen = 2048;
-
-    char targetWriteBuf[targetWriteBufLen];
 };
 
 
@@ -724,7 +722,7 @@ public:
     /**
      *
      */
-    virtual bool write(char *fmt, ...);
+    virtual bool write(const char *fmt, ...) G_GNUC_PRINTF(2,3);
 
     //#######################
     //# V A R I A B L E S
@@ -806,12 +804,20 @@ public:
     virtual void setResource(const DOMString &val)
         { resource = val; }
 
+    /**
+     *
+     */
+    virtual void setJid(const DOMString &val)
+        { jid = val; }
+
     /**
      *
      */
     virtual DOMString getJid()
         { return jid; }
 
+
+
     /**
      *
      */
@@ -1019,46 +1025,31 @@ public:
     /**
      *
      */
-    virtual int outputStreamOpen(const DOMString &jid,
+    virtual bool outputStreamOpen(const DOMString &jid,
                                  const DOMString &streamId);
 
     /**
      *
      */
-    virtual int outputStreamWrite(int streamId,
-                          const unsigned char *buf, unsigned long len);
+    virtual bool outputStreamWrite(const DOMString &streamId,
+               const std::vector<unsigned char> &buf);
 
     /**
      *
      */
-    virtual int outputStreamClose(int streamId);
+    virtual bool outputStreamClose(const DOMString &streamId);
 
     /**
      *
      */
-    virtual int inputStreamOpen(const DOMString &jid,
+    virtual bool inputStreamOpen(const DOMString &jid,
                                 const DOMString &streamId,
                                 const DOMString &iqId);
 
     /**
      *
      */
-    virtual int inputStreamAvailable(int streamId);
-
-    /**
-     *
-     */
-    virtual std::vector<unsigned char> inputStreamRead(int streamId);
-
-    /**
-     *
-     */
-    virtual bool inputStreamClosing(int streamId);
-
-    /**
-     *
-     */
-    virtual int inputStreamClose(int streamId);
+    virtual bool inputStreamClose(const DOMString &streamId);
 
 
     //#######################
@@ -1139,7 +1130,7 @@ private:
 
     bool saslPlainAuthenticate();
 
-    bool saslAuthenticate();
+    bool saslAuthenticate(const DOMString &streamId);
 
     bool iqAuthenticate(const DOMString &streamId);
 
@@ -1152,25 +1143,29 @@ private:
 
     bool doRegister;
 
-    static const int writeBufLen = 2048;
+    std::vector<XmppGroupChat *>groupChats;
 
-    unsigned char writeBuf[writeBufLen];
+    //#### Roster
+    std::vector<XmppUser>roster;
 
-    std::vector<XmppGroupChat *>groupChats;
 
-    static const int outputStreamCount = 16;
+    //#### Streams
+    
+    bool processInBandByteStreamMessage(Element *root);
+    
+    DOMString streamPacket;
 
-    XmppStream *outputStreams[outputStreamCount];
+    std::map<DOMString, XmppStream *> outputStreams;
 
-    static const int inputStreamCount = 16;
+    std::map<DOMString, XmppStream *> inputStreams;
 
-    XmppStream *inputStreams[inputStreamCount];
 
-    static const int fileSendCount = 16;
+    //#### File send
+    
+    bool processFileMessage(Element *root);
 
-    XmppStream *fileSends[fileSendCount];
+    std::map<DOMString, XmppStream *> fileSends;
 
-    std::vector<XmppUser>roster;
 };