kdecore Library API Documentation

kresolverstandardworkers_p.h

00001 /*  -*- C++ -*-
00002  *  Copyright (C) 2003 Thiago Macieira <thiago.macieira@kdemail.net>
00003  *
00004  *
00005  *  Permission is hereby granted, free of charge, to any person obtaining
00006  *  a copy of this software and associated documentation files (the
00007  *  "Software"), to deal in the Software without restriction, including
00008  *  without limitation the rights to use, copy, modify, merge, publish,
00009  *  distribute, sublicense, and/or sell copies of the Software, and to
00010  *  permit persons to whom the Software is furnished to do so, subject to
00011  *  the following conditions:
00012  *
00013  *  The above copyright notice and this permission notice shall be included 
00014  *  in all copies or substantial portions of the Software.
00015  *
00016  *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00017  *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00018  *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
00019  *  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
00020  *  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
00021  *  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
00022  *  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00023  */
00024 
00025 #ifndef KRESOLVERSTANDARDWORKERS_P_H
00026 #define KRESOLVERSTANDARDWORKERS_P_H
00027 
00028 #include <sys/types.h>
00029 #include <netdb.h>
00030 
00031 #include <qptrlist.h>
00032 #include <qcstring.h>
00033 
00034 #include "kresolver.h"
00035 #include "kresolverworkerbase.h"
00036 
00037 #include <config.h>
00038 
00039 namespace KNetwork { namespace Internal
00040 {
00041   extern void initStandardWorkers() KDE_NO_EXPORT;
00042 
00046   class KStandardWorker: public KNetwork::KResolverWorkerBase
00047   {
00048   protected:
00049     mutable QCString m_encodedName;
00050     Q_UINT16 port;
00051     int scopeid;
00052     QPtrList<KNetwork::KResolverResults> resultList;
00053 
00054   public:
00055     bool sanityCheck();
00056 
00057     virtual bool preprocess();
00058     virtual bool run();
00059     virtual bool postprocess();
00060 
00061     bool resolveScopeId();
00062     bool resolveService();
00063     bool resolveNumerically();
00064 
00065     KNetwork::KResolver::ErrorCodes addUnix();
00066   };
00067 
00068 #if defined(HAVE_GETADDRINFO)
00069 
00074   class KGetAddrinfoWorker: public KStandardWorker
00075   {
00076   public:
00077     KGetAddrinfoWorker()
00078     { }
00079 
00080     virtual ~KGetAddrinfoWorker();
00081     virtual bool preprocess();
00082     virtual bool run();
00083     virtual bool postprocess() { return true; }
00084 
00085     bool wantThis(int family);
00086   };
00087 #endif // HAVE_GETADDRINFO
00088 
00089 } } // namespace KNetwork::Internal
00090 
00091 
00092 #endif
KDE Logo
This file is part of the documentation for kdecore Library Version 3.3.90.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Mar 30 10:09:40 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003