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