Say hello to the first settings page in our shiny new, almost working SettingsDlg...
[quassel.git] / src / common / signalproxy.h
index 5001060..be2c9ff 100644 (file)
@@ -5,7 +5,7 @@
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
  *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
+ *   (at your option) version 3.                                           *
  *                                                                         *
  *   This program is distributed in the hope that it will be useful,       *
  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
  *   along with this program; if not, write to the                         *
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
- ***************************************************************************
- *   SignalProxy has been inspired by QxtRPCPeer, part of libqxt,          *
- *   the Qt eXTension Library <http://www.libqxt.org>. We would like to    *
- *   thank Arvid "aep" Picciani and Adam "ahigerd" Higerd for providing    *
- *   QxtRPCPeer, valuable input and the genius idea to (ab)use Qt's        *
- *   Meta Object System for transmitting signals over the network.         *
- *                                                                         *
- *   To make contribution back into libqxt possible, redistribution and    *
- *   modification of this file is additionally allowed under the terms of  *
- *   the Common Public License, version 1.0, as published by IBM.          *
  ***************************************************************************/
 
 #ifndef _SIGNALPROXY_H_
@@ -82,8 +72,18 @@ public:
   void detachObject(QObject *obj);
   void detachSignals(QObject *sender);
   void detachSlots(QObject *receiver);
-  
+
+  //! Writes a QVariant to a device.
+  /** The data item is prefixed with the resulting blocksize,
+   *  so the corresponding function readDataFromDevice() can check if enough data is available
+   *  at the device to reread the item.
+   */
   static void writeDataToDevice(QIODevice *dev, const QVariant &item);
+
+  //! Reads a data item from a device that has been written by writeDataToDevice().
+  /** If not enough data bytes are available, the function returns false and the QVariant reference
+   *  remains untouched.
+   */
   static bool readDataFromDevice(QIODevice *dev, quint32 &blockSize, QVariant &item);
 
   static QString methodBaseName(const QMetaMethod &method);
@@ -143,6 +143,8 @@ private:
   void _detachSignals(QObject *sender);
   void _detachSlots(QObject *receiver);
 
+    void dumpSyncMap(QObject *object);
+  
   // containg a list of argtypes for fast access
   QHash<const QMetaObject *, ClassInfo*> _classInfo;
 
@@ -162,7 +164,7 @@ private:
   QHash<QIODevice*, quint32> _peerByteCount;
 
   ProxyMode _proxyMode;
-
+  
   friend class SignalRelay;
 };