+ static void writeDataToDevice(QIODevice *dev, const QVariant &item);
+ static bool readDataFromDevice(QIODevice *dev, quint32 &blockSize, QVariant &item);
+
+ const QList<int> &argTypes(QObject* obj, int methodId);
+ const QByteArray &methodName(QObject* obj, int methodId);
+
+ typedef QHash<int, QList<int> > ArgHash;
+ typedef QHash<int, QByteArray> MethodNameHash;
+ struct ClassInfo {
+ ArgHash argTypes;
+ MethodNameHash methodNames;
+ // QHash<int, int> syncMap
+ };
+
+ void dumpProxyStats();
+
+private slots:
+ void dataAvailable();
+ void detachSender();
+ void removePeerBySender();
+
+signals:
+ void peerRemoved(QIODevice* obj);
+ void connected();
+ void disconnected();
+
+private:
+ void createClassInfo(QObject *obj);
+ void setArgTypes(QObject* obj, int methodId);
+ void setMethodName(QObject* obj, int methodId);