00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef KREVERSERESOLVER_H
00026 #define KREVERSERESOLVER_H
00027
00029
00030 #include <tqobject.h>
00031 #include <tqstring.h>
00032
00033 #include "tdesocketaddress.h"
00034
00035 namespace KNetwork {
00036
00037 class KReverseResolverPrivate;
00050 class TDECORE_EXPORT KReverseResolver: public TQObject
00051 {
00052 Q_OBJECT
00053
00054
00055 public:
00075 enum Flags
00076 {
00077 NumericHost = 0x01,
00078 NumericService = 0x02,
00079 NodeNameOnly = 0x04,
00080 Datagram = 0x08,
00081 NumericScope = 0x10,
00082 ResolutionRequired = 0x20
00083 };
00084
00091 KReverseResolver(const TDESocketAddress& addr, int flags = 0,
00092 TQObject * = 0L, const char * = 0L);
00093
00097 virtual ~KReverseResolver();
00098
00102 bool isRunning() const;
00103
00108 bool success() const;
00109
00114 bool failure() const;
00115
00120 TQString node() const;
00121
00126 TQString service() const;
00127
00131 const TDESocketAddress& address() const;
00132
00137 bool start();
00138
00142 virtual bool event(TQEvent* );
00143
00144 signals:
00150 void finished(const KReverseResolver& obj);
00151
00152 public:
00168 static bool resolve(const TDESocketAddress& addr, TQString& node,
00169 TQString& serv, int flags = 0);
00170
00187 static bool resolve(const struct sockaddr* sa, TQ_UINT16 salen,
00188 TQString& node, TQString& serv, int flags = 0);
00189
00190 private:
00191 KReverseResolverPrivate* d;
00192 };
00193
00194 }
00195
00196 #endif