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, int err=0)
virtual void setResultErrMsg (MsgString msg, int err=0)=0
virtual void appendToResultMsg (MsgString msg)
virtual void appendToResultMsg (MsgString msg)=0
virtual void reportBackgroundError ()
void reclaim ()
TaskSchedulertaskScheduler () const
virtual void internalError ()

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 61 of file UsageEnvironment.hh.


Constructor & Destructor Documentation

BasicUsageEnvironment::BasicUsageEnvironment ( TaskScheduler taskScheduler  )  [protected]

Definition at line 29 of file BasicUsageEnvironment.cpp.

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

Referenced by createNew().

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

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

Definition at line 40 of file BasicUsageEnvironment.cpp.

00040                                               {
00041 }


Member Function Documentation

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

Definition at line 44 of file BasicUsageEnvironment.cpp.

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

Referenced by main().

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

int BasicUsageEnvironment::getErrno (  )  const [virtual]

Implements UsageEnvironment.

Definition at line 48 of file BasicUsageEnvironment.cpp.

00048                                           {
00049 #if defined(__WIN32__) || defined(_WIN32) || defined(_WIN32_WCE)
00050   return WSAGetLastError();
00051 #else
00052   return errno;
00053 #endif
00054 }

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

Implements UsageEnvironment.

Definition at line 56 of file BasicUsageEnvironment.cpp.

References NULL.

00056                                                                    {
00057   if (str == NULL) str = "(NULL)"; // sanity check
00058   fprintf(stderr, "%s", str);
00059   return *this;
00060 }

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

Implements UsageEnvironment.

Definition at line 62 of file BasicUsageEnvironment.cpp.

00062                                                          {
00063   fprintf(stderr, "%d", i);
00064   return *this;
00065 }

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

Implements UsageEnvironment.

Definition at line 67 of file BasicUsageEnvironment.cpp.

00067                                                               {
00068   fprintf(stderr, "%u", u);
00069   return *this;
00070 }

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

Implements UsageEnvironment.

Definition at line 72 of file BasicUsageEnvironment.cpp.

00072                                                             {
00073   fprintf(stderr, "%f", d);
00074   return *this;
00075 }

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

Implements UsageEnvironment.

Definition at line 77 of file BasicUsageEnvironment.cpp.

00077                                                            {
00078   fprintf(stderr, "%p", p);
00079   return *this;
00080 }

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

Implements UsageEnvironment.

Definition at line 42 of file BasicUsageEnvironment0.cpp.

References BasicUsageEnvironment0::fResultMsgBuffer.

Referenced by BasicUsageEnvironment0::reportBackgroundError().

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 QuickTimeFileSink::continuePlaying(), AVIFileSink::continuePlaying(), uLawFromPCMAudioSource::createNew(), MP3ADUTranscoder::createNew(), MP3FromADUSource::createNew(), ADUFromMP3Source::createNew(), AMRAudioFileSource::createNew(), ADTSAudioFileSource::createNew(), MediaSubsession::createSourceObjects(), MP3FileSource::doGetNextFrame1(), SIPClient::doInviteStateMachine(), RTPSource::getAttributes(), MP3FileSource::getAttributes(), MediaSource::getAttributes(), getOptions(), SIPClient::getResponse(), SIPClient::getResponseCode(), RTSPClient::handleGET_PARAMETERResponse(), RTSPClient::handlePLAYResponse(), Groupsock::handleRead(), RTSPClient::handleResponseBytes(), RTSPClient::handleSETUPResponse(), MP3FileSource::initializeStream(), MediaSession::initializeWithSDP(), MediaSubsession::initiate(), MediaSession::initiateByMediaType(), Medium::lookupByName(), Medium::Medium(), OpenInputFile(), OpenOutputFile(), ourIPAddress(), Groupsock::output(), SIPClient::parseResponseCode(), RTSPClient::parseRTSPURL(), SIPClient::parseSIPURL(), RTSPClient::sendRequest(), MediaSubsession::setClientPortNum(), setGroupsockBySocket(), QuickTimeFileSink::startPlaying(), MediaSink::startPlaying(), AVIFileSink::startPlaying(), 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,
int  err = 0 
) [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(err == 0 ? getErrno() : err));
00067 #endif
00068 }

virtual void UsageEnvironment::setResultErrMsg ( MsgString  msg,
int  err = 0 
) [pure virtual, inherited]

Referenced by RTSPClient::connectionHandler1(), RTSPClient::connectToServer(), MP3HTTPSource::createNew(), RTSPServer::incomingConnectionHandler(), ourIPAddress(), SIPClient::sendACK(), SIPClient::sendBYE(), SIPClient::sendINVITE(), RTSPClient::sendRequest(), RTSPServer::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 MP3ADUTranscoder::getAttributes().

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

Implements UsageEnvironment.

Definition at line 85 of file BasicUsageEnvironment0.cpp.

References BasicUsageEnvironment0::getResultMsg().

Referenced by BasicUsageEnvironment().

00085                                                    {
00086   fputs(getResultMsg(), 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 58 of file UsageEnvironment.hh.

References UsageEnvironment::fScheduler.

Referenced by RTCPInstance::addStreamSocket(), T140IdleFilter::afterGettingFrame(), BasicUDPSink::afterGettingFrame1(), MPEG4VideoFileServerMediaSubsession::afterPlayingDummy1(), H264VideoFileServerMediaSubsession::afterPlayingDummy1(), awaitConfigInfo(), RTSPServer::RTSPClientSession::changeClientInputSocket(), Socket::changePort(), checkForAuxSDPLine(), MPEG4VideoFileServerMediaSubsession::checkForAuxSDPLine1(), H264VideoFileServerMediaSubsession::checkForAuxSDPLine1(), checkForPacketArrival(), checkInterPacketGaps(), RTSPServer::RTSPClientSession::closeSockets(), RTSPClient::connectionHandler1(), RTSPClient::connectToServer(), continueAfterPLAY(), createNew(), createNewSMS(), SocketDescriptor::deregisterRTPInterface(), DeviceSource::DeviceSource(), WAVAudioFileSource::doGetNextFrame(), T140IdleFilter::doGetNextFrame(), MP3FileSource::doGetNextFrame(), ByteStreamFileSource::doGetNextFrame(), BasicUDPSource::doGetNextFrame(), AMRAudioFileSource::doGetNextFrame(), ADTSAudioFileSource::doGetNextFrame(), MultiFramedRTPSource::doGetNextFrame1(), SIPClient::doInviteStateMachine(), ByteStreamFileSource::doReadFromFile(), T140IdleFilter::doStopGettingFrames(), ByteStreamFileSource::doStopGettingFrames(), BasicUDPSource::doStopGettingFrames(), MPEG4VideoFileServerMediaSubsession::getAuxSDPLine(), H264VideoFileServerMediaSubsession::getAuxSDPLine(), getMPEG1or2TimeCode(), DVVideoStreamFramer::getProfile(), SIPClient::invite1(), main(), RTSPServer::RTSPClientSession::noteLiveness(), RTSPClient::openConnection(), TCPStreamSink::processBuffer(), AC3AudioStreamParser::readAndSaveAFrame(), SocketDescriptor::registerRTPInterface(), RTCPInstance::reschedule(), RTSPClient::resetTCPSockets(), RTSPServer::RTSPClientSession::RTSPClientSession(), RTSPServer::RTSPServer(), RTCPInstance::schedule(), scheduleNextQOSMeasurement(), MultiFramedRTPSink::sendPacketIfNecessary(), sessionAfterPlaying(), DarwinInjector::setDestination(), RTSPServer::setUpTunnelingOverHTTP(), shutdown(), TCPStreamSink::socketWritableHandler1(), RTPInterface::startNetworkReading(), RTPInterface::stopNetworkReading(), MediaSink::stopPlaying(), SocketDescriptor::tcpReadHandler1(), waitUntilSocketIsReadable(), BasicUDPSource::~BasicUDPSource(), ByteStreamFileSource::~ByteStreamFileSource(), DeviceSource::~DeviceSource(), Medium::~Medium(), RTSPServer::~RTSPServer(), StreamClientState::~StreamClientState(), and T140IdleFilter::~T140IdleFilter().

00058 {return fScheduler;}

void UsageEnvironment::internalError (  )  [virtual, inherited]

Definition at line 35 of file UsageEnvironment.cpp.

Referenced by BasicUsageEnvironment(), AMRDeinterleavingBuffer::deliverIncomingFrame(), StreamParser::ensureValidBytes1(), FramedSource::getNextFrame(), and MPEG1or2Demux::registerReadInterest().

00035                                      {
00036   abort();
00037 }


Field Documentation

void* UsageEnvironment::liveMediaPriv [inherited]

Definition at line 89 of file UsageEnvironment.hh.

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

void* UsageEnvironment::groupsockPriv [inherited]

Definition at line 90 of file UsageEnvironment.hh.

Referenced by groupsockPriv(), UsageEnvironment::reclaim(), and reclaimGroupsockPriv().


The documentation for this class was generated from the following files:
Generated on Thu Feb 2 23:54:44 2012 for live by  doxygen 1.5.2