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
#include "config.h"
00026
00027
#include <qcstring.h>
00028
#include <qstring.h>
00029
00030
#include "kresolver.h"
00031
#include "kresolver_p.h"
00032
#include "kresolverworkerbase.h"
00033
00034
using namespace KNetwork;
00035
using namespace KNetwork::Internal;
00036
00037 KResolverWorkerBase::KResolverWorkerBase()
00038 : th(0L), input(0L), m_finished(0), m__reserved(0)
00039 {
00040 }
00041
00042 KResolverWorkerBase::~KResolverWorkerBase()
00043 {
00044 }
00045
00046
QString KResolverWorkerBase::nodeName()
const
00047
{
00048
if (input)
00049
return input->node;
00050
return QString::null;
00051 }
00052
00053
QString KResolverWorkerBase::serviceName()
const
00054
{
00055
if (input)
00056
return input->service;
00057
return QString::null;
00058 }
00059
00060
int KResolverWorkerBase::flags()
const
00061
{
00062
if (input)
00063
return input->flags;
00064
return 0;
00065 }
00066
00067
int KResolverWorkerBase::familyMask()
const
00068
{
00069
if (input)
00070
return input->familyMask;
00071
return 0;
00072 }
00073
00074
int KResolverWorkerBase::socketType()
const
00075
{
00076
if (input)
00077
return input->socktype;
00078
return 0;
00079 }
00080
00081
int KResolverWorkerBase::protocol()
const
00082
{
00083
if (input)
00084
return input->protocol;
00085
return 0;
00086 }
00087
00088
QCString KResolverWorkerBase::protocolName()
const
00089
{
00090
QCString res;
00091
if (input)
00092 res = input->protocolName;
00093
return res;
00094 }
00095
00096
void KResolverWorkerBase::finished()
00097 {
00098 m_finished =
true;
00099 }
00100
00101
bool KResolverWorkerBase::postprocess()
00102 {
00103
return true;
00104 }
00105
00106
bool KResolverWorkerBase::enqueue(KResolverWorkerBase* worker)
00107 {
00108 RequestData *myself = th->data;
00109 RequestData *newrequest =
new RequestData;
00110 newrequest->obj = 0;
00111 newrequest->input = input;
00112 newrequest->requestor = myself;
00113 newrequest->nRequests = 0;
00114 newrequest->worker = worker;
00115 myself->nRequests++;
00116 KResolverManager::manager()->dispatch(newrequest);
00117
return true;
00118 }
00119
00120
void KResolverWorkerFactoryBase::registerNewWorker(KResolverWorkerFactoryBase* factory)
00121 {
00122 KResolverManager::manager()->registerNewWorker(factory);
00123 }