• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdecore
 

tdecore

  • tdecore
  • network
kresolverworkerbase.cpp
1 /*
2  * Copyright (C) 2003,2004 Thiago Macieira <thiago.macieira@kdemail.net>
3  *
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining
6  * a copy of this software and associated documentation files (the
7  * "Software"), to deal in the Software without restriction, including
8  * without limitation the rights to use, copy, modify, merge, publish,
9  * distribute, sublicense, and/or sell copies of the Software, and to
10  * permit persons to whom the Software is furnished to do so, subject to
11  * the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included
14  * in all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23  */
24 
25 #include "config.h"
26 
27 #include <assert.h>
28 
29 #include <tqcstring.h>
30 #include <tqstring.h>
31 
32 #include "kresolver.h"
33 #include "kresolver_p.h"
34 #include "kresolverworkerbase.h"
35 
36 using namespace KNetwork;
37 using namespace KNetwork::Internal;
38 
39 KResolverWorkerBase::KResolverWorkerBase()
40  : th(0L), input(0L), m_finished(0), m_reserved(0)
41 {
42 }
43 
44 KResolverWorkerBase::~KResolverWorkerBase()
45 {
46 }
47 
48 TQString KResolverWorkerBase::nodeName() const
49 {
50  if (input)
51  return input->node;
52  return TQString::null;
53 }
54 
55 TQString KResolverWorkerBase::serviceName() const
56 {
57  if (input)
58  return input->service;
59  return TQString::null;
60 }
61 
62 int KResolverWorkerBase::flags() const
63 {
64  if (input)
65  return input->flags;
66  return 0;
67 }
68 
69 int KResolverWorkerBase::familyMask() const
70 {
71  if (input)
72  return input->familyMask;
73  return 0;
74 }
75 
76 int KResolverWorkerBase::socketType() const
77 {
78  if (input)
79  return input->socktype;
80  return 0;
81 }
82 
83 int KResolverWorkerBase::protocol() const
84 {
85  if (input)
86  return input->protocol;
87  return 0;
88 }
89 
90 TQCString KResolverWorkerBase::protocolName() const
91 {
92  TQCString res;
93  if (input)
94  res = input->protocolName;
95  return res;
96 }
97 
98 void KResolverWorkerBase::finished()
99 {
100  m_finished = true;
101 }
102 
103 bool KResolverWorkerBase::postprocess()
104 {
105  return true; // no post-processing is a always successful postprocessing
106 }
107 
108 bool KResolverWorkerBase::enqueue(KResolver* res)
109 {
110  KResolverManager::manager()->enqueue(res, th->data);
111  return true;
112 }
113 
114 bool KResolverWorkerBase::enqueue(KResolverWorkerBase* worker)
115 {
116  RequestData *myself = th->data;
117  RequestData *newrequest = new RequestData;
118  newrequest->obj = 0;
119  newrequest->input = input; // same input
120  newrequest->requestor = myself;
121  newrequest->nRequests = 0;
122  newrequest->worker = worker;
123  myself->nRequests++;
124  KResolverManager::manager()->dispatch(newrequest);
125  return true;
126 }
127 
128 bool KResolverWorkerBase::checkResolver()
129 {
130  return th->checkResolver();
131 }
132 
133 void KResolverWorkerBase::acquireResolver()
134 {
135  th->acquireResolver();
136 }
137 
138 void KResolverWorkerBase::releaseResolver()
139 {
140  th->releaseResolver();
141 }
142 
143 KResolverWorkerFactoryBase::KResolverWorkerFactoryBase()
144 {
145 }
146 
147 KResolverWorkerFactoryBase::~KResolverWorkerFactoryBase()
148 {
149 }
150 
151 void KResolverWorkerFactoryBase::registerNewWorker(KResolverWorkerFactoryBase* factory)
152 {
153  KResolverManager::manager()->registerNewWorker(factory);
154 }
155 
KNetwork::Internal
Definition: kresolver.h:47
KNetwork::KResolver
Name and service resolution class.
Definition: kresolver.h:295
KNetwork
A namespace to store all networking-related (socket) classes.
Definition: kbufferedsocket.h:36

tdecore

Skip menu "tdecore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

tdecore

Skip menu "tdecore"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  •     tdecore
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  • tdeioslave
  •   http
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdecore by doxygen 1.8.8
This website is maintained by Timothy Pearson.