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

Public Member Functions | |
| HandlerSet () | |
| virtual | ~HandlerSet () |
| void | assignHandler (int socketNum, TaskScheduler::BackgroundHandlerProc *handlerProc, void *clientData) |
| void | removeHandler (int socketNum) |
Private Attributes | |
| HandlerDescriptor | fHandlers |
Friends | |
| class | HandlerIterator |
Definition at line 42 of file HandlerSet.hh.
| HandlerSet::HandlerSet | ( | ) |
Definition at line 101 of file BasicTaskScheduler0.cpp.
References fHandlers, and HandlerDescriptor::socketNum.
00102 : fHandlers(&fHandlers) { 00103 fHandlers.socketNum = -1; // shouldn't ever get looked at, but in case... 00104 }
| HandlerSet::~HandlerSet | ( | ) | [virtual] |
Definition at line 106 of file BasicTaskScheduler0.cpp.
References fHandlers, and HandlerDescriptor::fNextHandler.
00106 { 00107 // Delete each handler descriptor: 00108 while (fHandlers.fNextHandler != &fHandlers) { 00109 delete fHandlers.fNextHandler; // changes fHandlers->fNextHandler 00110 } 00111 }
| void HandlerSet::assignHandler | ( | int | socketNum, | |
| TaskScheduler::BackgroundHandlerProc * | handlerProc, | |||
| void * | clientData | |||
| ) |
Definition at line 114 of file BasicTaskScheduler0.cpp.
References HandlerDescriptor::clientData, fHandlers, HandlerDescriptor::fNextHandler, HandlerDescriptor::handlerProc, iter, MediaSubsessionIterator::next(), NULL, and HandlerDescriptor::socketNum.
Referenced by BasicTaskScheduler::turnOnBackgroundReadHandling().
00116 { 00117 // First, see if there's already a handler for this socket: 00118 HandlerDescriptor* handler; 00119 HandlerIterator iter(*this); 00120 while ((handler = iter.next()) != NULL) { 00121 if (handler->socketNum == socketNum) break; 00122 } 00123 if (handler == NULL) { // No existing handler, so create a new descr: 00124 handler = new HandlerDescriptor(fHandlers.fNextHandler); 00125 handler->socketNum = socketNum; 00126 } 00127 00128 handler->handlerProc = handlerProc; 00129 handler->clientData = clientData; 00130 }
| void HandlerSet::removeHandler | ( | int | socketNum | ) |
Definition at line 132 of file BasicTaskScheduler0.cpp.
References iter, MediaSubsessionIterator::next(), NULL, and HandlerDescriptor::socketNum.
Referenced by BasicTaskScheduler::turnOffBackgroundReadHandling().
00132 { 00133 HandlerDescriptor* handler; 00134 HandlerIterator iter(*this); 00135 while ((handler = iter.next()) != NULL) { 00136 if (handler->socketNum == socketNum) { 00137 delete handler; 00138 break; 00139 } 00140 } 00141 }
friend class HandlerIterator [friend] |
Definition at line 53 of file HandlerSet.hh.
HandlerDescriptor HandlerSet::fHandlers [private] |
Definition at line 54 of file HandlerSet.hh.
Referenced by assignHandler(), HandlerSet(), HandlerIterator::next(), HandlerIterator::reset(), and ~HandlerSet().
1.5.2