summaryrefslogtreecommitdiffstats
path: root/examples/network/infoprotocol/infourlclient/qip.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/network/infoprotocol/infourlclient/qip.h')
-rw-r--r--examples/network/infoprotocol/infourlclient/qip.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/examples/network/infoprotocol/infourlclient/qip.h b/examples/network/infoprotocol/infourlclient/qip.h
new file mode 100644
index 0000000..339e46b
--- /dev/null
+++ b/examples/network/infoprotocol/infourlclient/qip.h
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef QIP_H
+#define QIP_H
+
+#include <qnetworkprotocol.h>
+
+class QSocket;
+
+static const Q_UINT16 infoPort = 42417;
+
+
+class Qip : public QNetworkProtocol
+{
+ Q_OBJECT
+
+public:
+ Qip();
+ virtual int supportedOperations() const;
+
+protected:
+ virtual void operationListChildren( QNetworkOperation *op );
+ virtual void operationGet( QNetworkOperation *op );
+ virtual bool checkConnection( QNetworkOperation *op );
+
+private slots:
+ void socketConnected();
+ void socketReadyRead();
+ void socketConnectionClosed();
+ void socketError( int code );
+
+private:
+ QSocket *socket;
+ enum State { Start, List, Data } state;
+ void error( int code, const QString& msg );
+};
+
+
+
+#endif // QIP_H
+