#include <HandlerSet.hh>
Collaboration diagram for HandlerSet:

Public Member Functions | |
| HandlerSet () | |
| virtual | ~HandlerSet () |
| void | assignHandler (int socketNum, int conditionSet, TaskScheduler::BackgroundHandlerProc *handlerProc, void *clientData) |
| void | clearHandler (int socketNum) |
| void | moveHandler (int oldSocketNum, int newSocketNum) |
Private Member Functions | |
| HandlerDescriptor * | lookupHandler (int socketNum) |
Private Attributes | |
| HandlerDescriptor | fHandlers |
Friends | |
| class | HandlerIterator |
Definition at line 47 of file HandlerSet.hh.
| HandlerSet::HandlerSet | ( | ) |
Definition at line 167 of file BasicTaskScheduler0.cpp.
References fHandlers, and HandlerDescriptor::socketNum.
00168 : fHandlers(&fHandlers) { 00169 fHandlers.socketNum = -1; // shouldn't ever get looked at, but in case... 00170 }
| HandlerSet::~HandlerSet | ( | ) | [virtual] |
Definition at line 172 of file BasicTaskScheduler0.cpp.
References fHandlers, and HandlerDescriptor::fNextHandler.
00172 { 00173 // Delete each handler descriptor: 00174 while (fHandlers.fNextHandler != &fHandlers) { 00175 delete fHandlers.fNextHandler; // changes fHandlers->fNextHandler 00176 } 00177 }
| void HandlerSet::assignHandler | ( | int | socketNum, | |
| int | conditionSet, | |||
| TaskScheduler::BackgroundHandlerProc * | handlerProc, | |||
| void * | clientData | |||
| ) |
Definition at line 180 of file BasicTaskScheduler0.cpp.
References HandlerDescriptor::clientData, HandlerDescriptor::conditionSet, fHandlers, HandlerDescriptor::fNextHandler, HandlerDescriptor::handlerProc, lookupHandler(), NULL, and HandlerDescriptor::socketNum.
Referenced by BasicTaskScheduler::setBackgroundHandling().
00180 { 00181 // First, see if there's already a handler for this socket: 00182 HandlerDescriptor* handler = lookupHandler(socketNum); 00183 if (handler == NULL) { // No existing handler, so create a new descr: 00184 handler = new HandlerDescriptor(fHandlers.fNextHandler); 00185 handler->socketNum = socketNum; 00186 } 00187 00188 handler->conditionSet = conditionSet; 00189 handler->handlerProc = handlerProc; 00190 handler->clientData = clientData; 00191 }
| void HandlerSet::clearHandler | ( | int | socketNum | ) |
Definition at line 193 of file BasicTaskScheduler0.cpp.
References lookupHandler().
Referenced by BasicTaskScheduler::setBackgroundHandling().
00193 { 00194 HandlerDescriptor* handler = lookupHandler(socketNum); 00195 delete handler; 00196 }
| void HandlerSet::moveHandler | ( | int | oldSocketNum, | |
| int | newSocketNum | |||
| ) |
Definition at line 198 of file BasicTaskScheduler0.cpp.
References lookupHandler(), NULL, and HandlerDescriptor::socketNum.
Referenced by BasicTaskScheduler::moveSocketHandling().
00198 { 00199 HandlerDescriptor* handler = lookupHandler(oldSocketNum); 00200 if (handler != NULL) { 00201 handler->socketNum = newSocketNum; 00202 } 00203 }
| HandlerDescriptor * HandlerSet::lookupHandler | ( | int | socketNum | ) | [private] |
Definition at line 205 of file BasicTaskScheduler0.cpp.
References iter, MediaSubsessionIterator::next(), NULL, and HandlerDescriptor::socketNum.
Referenced by assignHandler(), clearHandler(), and moveHandler().
00205 { 00206 HandlerDescriptor* handler; 00207 HandlerIterator iter(*this); 00208 while ((handler = iter.next()) != NULL) { 00209 if (handler->socketNum == socketNum) break; 00210 } 00211 return handler; 00212 }
friend class HandlerIterator [friend] |
Definition at line 60 of file HandlerSet.hh.
HandlerDescriptor HandlerSet::fHandlers [private] |
Definition at line 61 of file HandlerSet.hh.
Referenced by assignHandler(), HandlerSet(), HandlerIterator::next(), HandlerIterator::reset(), and ~HandlerSet().
1.5.2