BasicUsageEnvironment Class Reference

#include <BasicUsageEnvironment.hh>

Inheritance diagram for BasicUsageEnvironment:

Inheritance graph
[legend]
Collaboration diagram for BasicUsageEnvironment:

Collaboration graph
[legend]

Public Types

typedef char const * MsgString

Public Member Functions

virtual int getErrno () const
virtual UsageEnvironmentoperator<< (char const *str)
virtual UsageEnvironmentoperator<< (int i)
virtual UsageEnvironmentoperator<< (unsigned u)
virtual UsageEnvironmentoperator<< (double d)
virtual UsageEnvironmentoperator<< (void *p)
virtual MsgString getResultMsg () const
virtual void setResultMsg (MsgString msg)
virtual void setResultMsg (MsgString msg1, MsgString msg2)
virtual void setResultMsg (MsgString msg1, MsgString msg2, MsgString msg3)
virtual void setResultMsg (MsgString msg)=0
virtual void setResultMsg (MsgString msg1, MsgString msg2)=0
virtual void setResultMsg (MsgString msg1, MsgString msg2, MsgString msg3)=0
virtual void setResultErrMsg (MsgString msg)
virtual void setResultErrMsg (MsgString msg)=0
virtual void appendToResultMsg (MsgString msg)
virtual void appendToResultMsg (MsgString msg)=0
virtual void reportBackgroundError ()
void reclaim ()
TaskSchedulertaskScheduler () const

Static Public Member Functions

static BasicUsageEnvironmentcreateNew (TaskScheduler &taskScheduler)

Data Fields

void * liveMediaPriv
void * groupsockPriv

Protected Member Functions

 BasicUsageEnvironment (TaskScheduler &taskScheduler)
virtual ~BasicUsageEnvironment ()

Detailed Description

Definition at line 27 of file BasicUsageEnvironment.hh.


Member Typedef Documentation

typedef char const* UsageEnvironment::MsgString [inherited]

Definition at line 57 of file UsageEnvironment.hh.


Constructor & Destructor Documentation

BasicUsageEnvironment::BasicUsageEnvironment ( TaskScheduler taskScheduler  )  [protected]

Definition at line 30 of file BasicUsageEnvironment.cpp.

References initializeWinsockIfNecessary, BasicUsageEnvironment0::reportBackgroundError(), and BasicUsageEnvironment0::setResultErrMsg().

Referenced by createNew().

00031 : BasicUsageEnvironment0(taskScheduler) {
00032 #if defined(__WIN32__) || defined(_WIN32)
00033   if (!initializeWinsockIfNecessary()) {
00034     setResultErrMsg("Failed to initialize 'winsock': ");
00035     reportBackgroundError();
00036     exit(1);
00037   }
00038 #endif
00039 }

BasicUsageEnvironment::~BasicUsageEnvironment (  )  [protected, virtual]

Definition at line 41 of file BasicUsageEnvironment.cpp.

00041                                               {
00042 }


Member Function Documentation

BasicUsageEnvironment * BasicUsageEnvironment::createNew ( TaskScheduler taskScheduler  )  [static]

Definition at line 45 of file BasicUsageEnvironment.cpp.

References BasicUsageEnvironment(), and UsageEnvironment::taskScheduler().

Referenced by main().

00045                                                              {
00046   return new BasicUsageEnvironment(taskScheduler);
00047 }

int BasicUsageEnvironment::getErrno (  )  const [virtual]

Implements UsageEnvironment.

Definition at line 49 of file BasicUsageEnvironment.cpp.

00049                                           {
00050 #if defined(__WIN32__) || defined(_WIN32)
00051 #ifndef _WIN32_WCE
00052   if (errno == 0) {
00053     errno = WSAGetLastError();
00054   }
00055 #endif
00056 #endif
00057 #if defined(_WIN32_WCE)
00058   return WSAGetLastError();
00059 #else
00060   return errno;
00061 #endif
00062 }

UsageEnvironment & BasicUsageEnvironment::operator<< ( char const *  str  )  [virtual]

Implements UsageEnvironment.

Definition at line 64 of file BasicUsageEnvironment.cpp.

00064                                                                    {
00065         fprintf(stderr, "%s", str);
00066         return *this;
00067 }

UsageEnvironment & BasicUsageEnvironment::operator<< ( int  i  )  [virtual]

Implements UsageEnvironment.

Definition at line 69 of file BasicUsageEnvironment.cpp.

00069                                                          {
00070         fprintf(stderr, "%d", i);
00071         return *this;
00072 }

UsageEnvironment & BasicUsageEnvironment::operator<< ( unsigned  u  )  [virtual]

Implements UsageEnvironment.

Definition at line 74 of file BasicUsageEnvironment.cpp.

00074                                                               {
00075         fprintf(stderr, "%u", u);
00076         return *this;
00077 }

UsageEnvironment & BasicUsageEnvironment::operator<< ( double  d  )  [virtual]

Implements UsageEnvironment.

Definition at line 79 of file BasicUsageEnvironment.cpp.

00079                                                             {
00080         fprintf(stderr, "%f", d);
00081         return *this;
00082 }

UsageEnvironment & BasicUsageEnvironment::operator<< ( void *  p  )  [virtual]

Implements UsageEnvironment.

Definition at line 84 of file BasicUsageEnvironment.cpp.

00084                                                            {
00085         fprintf(stderr, "%p", p);
00086         return *this;
00087 }

char const * BasicUsageEnvironment0::getResultMsg (  )  const [virtual, inherited]

Implements UsageEnvironment.

Definition at line 42 of file BasicUsageEnvironment0.cpp.

References BasicUsageEnvironment0::fResultMsgBuffer.

00042                                                        {
00043   return fResultMsgBuffer;
00044 }

void BasicUsageEnvironment0::setResultMsg ( MsgString  msg  )  [virtual, inherited]

Definition at line 46 of file BasicUsageEnvironment0.cpp.

References BasicUsageEnvironment0::appendToResultMsg(), and BasicUsageEnvironment0::reset().

Referenced by BasicUsageEnvironment0::setResultErrMsg(), and BasicUsageEnvironment0::setResultMsg().

00046                                                        {
00047   reset();
00048   appendToResultMsg(msg);
00049 }

void BasicUsageEnvironment0::setResultMsg ( MsgString  msg1,
MsgString  msg2 
) [virtual, inherited]

Definition at line 51 of file BasicUsageEnvironment0.cpp.

References BasicUsageEnvironment0::appendToResultMsg(), and BasicUsageEnvironment0::setResultMsg().

00051                                                                         {
00052   setResultMsg(msg1);
00053   appendToResultMsg(msg2);
00054 }

void BasicUsageEnvironment0::setResultMsg ( MsgString  msg1,
MsgString  msg2,
MsgString  msg3 
) [virtual, inherited]

Definition at line 56 of file BasicUsageEnvironment0.cpp.

References BasicUsageEnvironment0::appendToResultMsg(), and BasicUsageEnvironment0::setResultMsg().

00057                                                        {
00058   setResultMsg(msg1, msg2);
00059   appendToResultMsg(msg3);
00060 }

virtual void UsageEnvironment::setResultMsg ( MsgString  msg  )  [pure virtual, inherited]

Referenced by RTSPClient::announceSDPDescription(), QuickTimeFileSink::continuePlaying(), AVIFileSink::continuePlaying(), uLawFromPCMAudioSource::createNew(), MP3ADUTranscoder::createNew(), MP3FromADUSource::createNew(), ADUFromMP3Source::createNew(), AMRAudioFileSource::createNew(), ADTSAudioFileSource::createNew(), RTSPClient::describeURL(), MP3FileSource::doGetNextFrame1(), SIPClient::doInviteStateMachine(), RTPSource::getAttributes(), MP3FileSource::getAttributes(), MediaSource::getAttributes(), RTSPClient::getMediaSessionParameter(), getOptionsResponse(), SIPClient::getResponse(), RTSPClient::getResponse(), RTSPClient::getResponse1(), SIPClient::getResponseCode(), Groupsock::handleRead(), MP3FileSource::initializeStream(), MediaSession::initializeWithSDP(), MediaSubsession::initiate(), MediaSession::initiateByMediaType(), Medium::lookupByName(), Medium::Medium(), OpenInputFile(), OpenOutputFile(), ourIPAddress(), Groupsock::output(), SIPClient::parseResponseCode(), RTSPClient::parseResponseCode(), RTSPClient::parseRTSPURL(), SIPClient::parseSIPURL(), RTSPClient::pauseMediaSession(), RTSPClient::pauseMediaSubsession(), RTSPClient::playMediaSession(), RTSPClient::playMediaSubsession(), RTSPClient::recordMediaSubsession(), RTSPClient::sendOptionsCmd(), MediaSubsession::setClientPortNum(), setGroupsockBySocket(), RTSPClient::setMediaSessionParameter(), RTSPClient::setupHTTPTunneling(), RTSPClient::setupMediaSubsession(), QuickTimeFileSink::startPlaying(), MediaSink::startPlaying(), AVIFileSink::startPlaying(), RTSPClient::teardownMediaSession(), RTSPClient::teardownMediaSubsession(), and WAVAudioFileSource::WAVAudioFileSource().

virtual void UsageEnvironment::setResultMsg ( MsgString  msg1,
MsgString  msg2 
) [pure virtual, inherited]

virtual void UsageEnvironment::setResultMsg ( MsgString  msg1,
MsgString  msg2,
MsgString  msg3 
) [pure virtual, inherited]

void BasicUsageEnvironment0::setResultErrMsg ( MsgString  msg  )  [virtual, inherited]

Definition at line 62 of file BasicUsageEnvironment0.cpp.

References BasicUsageEnvironment0::appendToResultMsg(), UsageEnvironment::getErrno(), and BasicUsageEnvironment0::setResultMsg().

Referenced by BasicUsageEnvironment().

00062                                                           {
00063   setResultMsg(msg);
00064 
00065 #ifndef _WIN32_WCE
00066   appendToResultMsg(strerror(getErrno()));
00067 #endif
00068 }

virtual void UsageEnvironment::setResultErrMsg ( MsgString  msg  )  [pure virtual, inherited]

Referenced by HTTPSink::continuePlaying(), MP3HTTPSource::createNew(), RTSPClient::getResponse(), RTSPServer::incomingConnectionHandler1(), RTSPOverHTTPServer::incomingConnectionHandler1(), RTSPClient::incomingRequestHandler1(), RTSPClient::openConnectionFromURL(), ourIPAddress(), SIPClient::sendACK(), SIPClient::sendBYE(), SIPClient::sendINVITE(), RTSPClient::sendRequest(), RTSPClient::setupHTTPTunneling(), RTSPServer::setUpOurSocket(), RTSPOverHTTPServer::setUpOurSocket(), HTTPSink::setUpOurSocket(), and socketErr().

void BasicUsageEnvironment0::appendToResultMsg ( MsgString  msg  )  [virtual, inherited]

Definition at line 70 of file BasicUsageEnvironment0.cpp.

References BasicUsageEnvironment0::fBufferMaxSize, BasicUsageEnvironment0::fCurBufferSize, and BasicUsageEnvironment0::fResultMsgBuffer.

Referenced by BasicUsageEnvironment0::setResultErrMsg(), and BasicUsageEnvironment0::setResultMsg().

00070                                                             {
00071   char* curPtr = &fResultMsgBuffer[fCurBufferSize];
00072   unsigned spaceAvailable = fBufferMaxSize - fCurBufferSize;
00073   unsigned msgLength = strlen(msg);
00074 
00075   // Copy only enough of "msg" as will fit:
00076   if (msgLength > spaceAvailable-1) {
00077     msgLength = spaceAvailable-1;
00078   }
00079 
00080   memmove(curPtr, (char*)msg, msgLength);
00081   fCurBufferSize += msgLength;
00082   fResultMsgBuffer[fCurBufferSize] = '\0';
00083 }

virtual void UsageEnvironment::appendToResultMsg ( MsgString  msg  )  [pure virtual, inherited]

Referenced by HTTPSink::appendPortNum(), and MP3ADUTranscoder::getAttributes().

void BasicUsageEnvironment0::reportBackgroundError (  )  [virtual, inherited]

Implements UsageEnvironment.

Definition at line 85 of file BasicUsageEnvironment0.cpp.

References BasicUsageEnvironment0::fResultMsgBuffer.

Referenced by BasicUsageEnvironment().

00085                                                    {
00086   fputs(fResultMsgBuffer, stderr);
00087 }

void UsageEnvironment::reclaim (  )  [inherited]

Definition at line 22 of file UsageEnvironment.cpp.

References UsageEnvironment::groupsockPriv, UsageEnvironment::liveMediaPriv, and NULL.

00022                                {
00023   // We delete ourselves only if we have no remainining state:
00024   if (liveMediaPriv == NULL && groupsockPriv == NULL) delete this;
00025 }

TaskScheduler& UsageEnvironment::taskScheduler (  )  const [inline, inherited]

Definition at line 54 of file UsageEnvironment.hh.

References UsageEnvironment::fScheduler.

Referenced by BasicUDPSink::afterGettingFrame1(), MPEG4VideoFileServerMediaSubsession::afterPlayingDummy1(), awaitConfigInfo(), checkForAuxSDPLine(), MPEG4VideoFileServerMediaSubsession::checkForAuxSDPLine1(), checkForPacketArrival(), checkInterPacketGaps(), createNew(), SocketDescriptor::deregisterRTPInterface(), WAVAudioFileSource::doGetNextFrame(), MP3FileSource::doGetNextFrame(), ByteStreamFileSource::doGetNextFrame(), BasicUDPSource::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), MultiFramedRTPSource::doGetNextFrame1(), SIPClient::doInviteStateMachine(), ByteStreamFileSource::doReadFromFile(), ByteStreamFileSource::doStopGettingFrames(), BasicUDPSource::doStopGettingFrames(), MPEG4VideoFileServerMediaSubsession::getAuxSDPLine(), getMPEG1or2TimeCode(), RTSPOverHTTPServer::HTTPClientConnection::HTTPClientConnection(), RTSPClient::incomingRequestHandler1(), SIPClient::invite1(), main(), RTSPServer::RTSPClientSession::noteLiveness(), RTSPClient::playMediaSession(), AC3AudioStreamParser::readAndSaveAFrame(), SocketDescriptor::registerRTPInterface(), RTCPInstance::reschedule(), RTSPServer::RTSPClientSession::RTSPClientSession(), RTSPOverHTTPServer::RTSPOverHTTPServer(), RTSPServer::RTSPServer(), RTCPInstance::schedule(), scheduleNextQOSMeasurement(), MultiFramedRTPSink::sendPacketIfNecessary(), shutdown(), RTPInterface::startNetworkReading(), startPlayingStreams(), RTPInterface::stopNetworkReading(), MediaSink::stopPlaying(), SocketDescriptor::tcpReadHandler(), waitUntilSocketIsReadable(), BasicUDPSource::~BasicUDPSource(), ByteStreamFileSource::~ByteStreamFileSource(), RTSPOverHTTPServer::HTTPClientConnection::~HTTPClientConnection(), Medium::~Medium(), RTSPClient::~RTSPClient(), RTSPServer::RTSPClientSession::~RTSPClientSession(), and RTSPServer::~RTSPServer().

00054 {return fScheduler;}


Field Documentation

void* UsageEnvironment::liveMediaPriv [inherited]

Definition at line 83 of file UsageEnvironment.hh.

Referenced by _Tables::getOurTables(), UsageEnvironment::reclaim(), and _Tables::reclaimIfPossible().

void* UsageEnvironment::groupsockPriv [inherited]

Definition at line 84 of file UsageEnvironment.hh.

Referenced by getSocketTable(), and UsageEnvironment::reclaim().


The documentation for this class was generated from the following files:
Generated on Tue Jul 22 06:40:32 2008 for live by  doxygen 1.5.2