vdr 2.6.3
|
Public Member Functions | |
cSVDRPServer (int Socket, const cIpAddress *ClientIpAddress) | |
~cSVDRPServer () | |
const char * | ClientName (void) const |
bool | HasConnection (void) |
bool | Process (void) |
Private Member Functions | |
void | Close (bool SendReply=false, bool Timeout=false) |
bool | Send (const char *s) |
void | Reply (int Code, const char *fmt,...) __attribute__((format(printf |
void void | PrintHelpTopics (const char **hp) |
void | CmdCHAN (const char *Option) |
void | CmdCLRE (const char *Option) |
void | CmdCONN (const char *Option) |
void | CmdCPYR (const char *Option) |
void | CmdDELC (const char *Option) |
void | CmdDELR (const char *Option) |
void | CmdDELT (const char *Option) |
void | CmdEDIT (const char *Option) |
void | CmdGRAB (const char *Option) |
void | CmdHELP (const char *Option) |
void | CmdHITK (const char *Option) |
void | CmdLSTC (const char *Option) |
void | CmdLSTD (const char *Option) |
void | CmdLSTE (const char *Option) |
void | CmdLSTR (const char *Option) |
void | CmdLSTT (const char *Option) |
void | CmdMESG (const char *Option) |
void | CmdMODC (const char *Option) |
void | CmdMODT (const char *Option) |
void | CmdMOVC (const char *Option) |
void | CmdMOVR (const char *Option) |
void | CmdNEWC (const char *Option) |
void | CmdNEWT (const char *Option) |
void | CmdNEXT (const char *Option) |
void | CmdPING (const char *Option) |
void | CmdPLAY (const char *Option) |
void | CmdPLUG (const char *Option) |
void | CmdPOLL (const char *Option) |
void | CmdPRIM (const char *Option) |
void | CmdPUTE (const char *Option) |
void | CmdREMO (const char *Option) |
void | CmdSCAN (const char *Option) |
void | CmdSTAT (const char *Option) |
void | CmdUPDT (const char *Option) |
void | CmdUPDR (const char *Option) |
void | CmdVOLU (const char *Option) |
void | Execute (char *Cmd) |
Private Attributes | |
int | socket |
cIpAddress | clientIpAddress |
cString | clientName |
cFile | file |
cPUTEhandler * | PUTEhandler |
int | numChars |
int | length |
char * | cmdLine |
time_t | lastActivity |
cSVDRPServer::cSVDRPServer | ( | int | Socket, |
const cIpAddress * | ClientIpAddress | ||
) |
Definition at line 1126 of file svdrp.c.
References cPoller::Add(), clientIpAddress, clientName, cmdLine, cIpAddress::Connection(), dsyslog, file, lastActivity, length, MALLOC, numChars, cFile::Open(), PUTEhandler, Reply(), Setup, socket, cSetup::SVDRPHostName, SVDRPServerPoller, cCharSetConv::SystemCharacterTable(), TimeToString(), and VDRVERSION.
cSVDRPServer::~cSVDRPServer | ( | ) |
Definition at line 1144 of file svdrp.c.
References clientName, Close(), cmdLine, dsyslog, Setup, and cSetup::SVDRPHostName.
|
inline |
Definition at line 1119 of file svdrp.c.
References clientName.
|
private |
Definition at line 1151 of file svdrp.c.
References clientName, cFile::Close(), cPoller::Del(), DELETENULL(), file, cFile::IsOpen(), isyslog, PUTEhandler, Reply(), Setup, socket, cSetup::SVDRPHostName, and SVDRPServerPoller.
Referenced by Execute(), Process(), Send(), and ~cSVDRPServer().
|
private |
Definition at line 1237 of file svdrp.c.
References cDevice::CurrentChannel(), tChannelID::FromString(), isnumber(), LOCK_CHANNELS_READ, cChannels::MaxNumber(), cListObject::Next(), cDevice::PrimaryDevice(), Reply(), and cDevice::SwitchChannel().
Referenced by Execute().
|
private |
Definition at line 1299 of file svdrp.c.
References cSchedule::Cleanup(), tChannelID::ClrRid(), EITDISABLETIME, tChannelID::FromString(), tChannelID::InvalidID, isnumber(), LOCK_CHANNELS_READ, LOCK_SCHEDULES_WRITE, LOCK_TIMERS_WRITE, cChannels::MaxNumber(), cListObject::Next(), Reply(), and cEitFilter::SetDisableUntil().
Referenced by Execute().
|
private |
Definition at line 1364 of file svdrp.c.
References cSVDRPClientHandler::AddClient(), cIpAddress::Address(), clientIpAddress, clientName, cSVDRPServerParams::Error(), cSVDRPServerParams::Name(), cSVDRPServerParams::Ok(), Reply(), and SVDRPClientHandler.
Referenced by Execute().
|
private |
Definition at line 1449 of file svdrp.c.
References cRecordingsHandler::Add(), cString::CompactChars(), ExchangeChars(), FOLDERDELIMCHAR, isnumber(), LOCK_RECORDINGS_WRITE, MakeDirs(), RecordingInUseMessage(), RecordingsHandler, Reply(), ruCopy, skipspace(), and strreplace().
|
private |
Definition at line 1384 of file svdrp.c.
References clientName, cDevice::CurrentChannel(), tChannelID::FromString(), cListObject::Index(), isnumber(), isyslog, LOCK_CHANNELS_WRITE, LOCK_TIMERS_READ, cChannel::Number(), cDevice::PrimaryDevice(), Reply(), cDevice::SetCurrentChannel(), Setup, and cSetup::SVDRPHostName.
Referenced by Execute().
|
private |
Definition at line 1500 of file svdrp.c.
References clientName, isnumber(), isyslog, LOCK_RECORDINGS_WRITE, RecordingInUseMessage(), Reply(), Setup, and cSetup::SVDRPHostName.
Referenced by Execute().
|
private |
Definition at line 1530 of file svdrp.c.
References clientName, isnumber(), isyslog, LOCK_TIMERS_WRITE, cRecordControls::Process(), Reply(), Setup, and cSetup::SVDRPHostName.
Referenced by Execute().
|
private |
Definition at line 1557 of file svdrp.c.
References cRecordingsHandler::Add(), cListBase::Count(), isnumber(), cMarks::Load(), LOCK_RECORDINGS_READ, RecordingsHandler, Reply(), and ruCut.
Referenced by Execute().
|
private |
Definition at line 1583 of file svdrp.c.
References AddDirectory(), clientName, dsyslog, cDevice::GrabImage(), grabImageDir, isnumber(), LOG_ERROR_STR, cBase64Encoder::NextLine(), cDevice::PrimaryDevice(), Reply(), safe_write(), Setup, cSetup::SVDRPHostName, and cString::Truncate().
Referenced by Execute().
|
private |
Definition at line 1720 of file svdrp.c.
References cPlugin::Description(), GetHelpPage(), cPluginManager::GetPlugin(), HelpPages, cPlugin::Name(), PrintHelpTopics(), Reply(), cPlugin::SVDRPHelpPages(), VDRVERSION, and cPlugin::Version().
Referenced by Execute().
|
private |
Definition at line 1748 of file svdrp.c.
References cRemote::Enabled(), cKey::FromString(), kNone, cRemote::Put(), Reply(), and cKey::ToString().
Referenced by Execute().
|
private |
Definition at line 1787 of file svdrp.c.
References cDevice::CurrentChannel(), tChannelID::FromString(), cChannel::GetChannelID(), isnumber(), LOCK_CHANNELS_READ, cChannels::MaxNumber(), cListObject::Next(), cChannel::Number(), Reply(), skipspace(), startswith(), tChannelID::ToString(), and cChannel::ToText().
Referenced by Execute().
|
private |
Definition at line 1835 of file svdrp.c.
References cDevice::GetDevice(), cDevice::NumDevices(), cSetup::PrimaryDVB, Reply(), and Setup.
Referenced by Execute().
|
private |
Definition at line 1847 of file svdrp.c.
References dmAll, dmAtTime, dmFollowing, dmPresent, cSchedule::Dump(), file, tChannelID::FromString(), isnumber(), LOCK_CHANNELS_READ, LOCK_SCHEDULES_READ, and Reply().
Referenced by Execute().
|
private |
Definition at line 1926 of file svdrp.c.
References file, cRecording::Id(), isnumber(), LOCK_RECORDINGS_READ, cListObject::Next(), Reply(), and cRecording::Title().
Referenced by Execute().
|
private |
Definition at line 1985 of file svdrp.c.
References cTimer::Id(), isnumber(), LOCK_TIMERS_READ, cListObject::Next(), cListObject::Prev(), cTimer::Remote(), and Reply().
Referenced by Execute().
|
private |
Definition at line 2041 of file svdrp.c.
References clientName, isyslog, mtInfo, cSkins::QueueMessage(), Reply(), Setup, Skins, and cSetup::SVDRPHostName.
Referenced by Execute().
|
private |
Definition at line 2052 of file svdrp.c.
References clientName, isyslog, LOCK_CHANNELS_WRITE, cChannel::Parse(), Reply(), Setup, skipspace(), and cSetup::SVDRPHostName.
Referenced by Execute().
|
private |
Definition at line 2088 of file svdrp.c.
References clientName, cTimer::ClrFlags(), cTimer::IsPatternTimer(), isyslog, LOCK_TIMERS_WRITE, cTimer::Parse(), Reply(), cTimer::SetFlags(), Setup, skipspace(), cSetup::SVDRPHostName, tfActive, and tfRecording.
Referenced by Execute().
|
private |
Definition at line 2134 of file svdrp.c.
References clientName, cDevice::CurrentChannel(), isyslog, LOCK_CHANNELS_WRITE, LOCK_TIMERS_READ, cChannel::Number(), cListObject::Prev(), cDevice::PrimaryDevice(), Reply(), cDevice::SetCurrentChannel(), Setup, skipspace(), and cSetup::SVDRPHostName.
Referenced by Execute().
|
private |
Definition at line 2189 of file svdrp.c.
References isnumber(), LOCK_RECORDINGS_WRITE, RecordingInUseMessage(), Reply(), and skipspace().
Referenced by Execute().
|
private |
Definition at line 2233 of file svdrp.c.
References clientName, isyslog, LOCK_CHANNELS_WRITE, cChannel::Number(), cChannel::Parse(), Reply(), Setup, cSetup::SVDRPHostName, and cChannel::ToText().
Referenced by Execute().
|
private |
Definition at line 2260 of file svdrp.c.
References clientName, cTimer::ClrFlags(), cTimer::Id(), isyslog, LOCK_TIMERS_WRITE, cTimer::Parse(), Reply(), Setup, cSetup::SVDRPHostName, tfRecording, cTimer::ToDescr(), and cTimer::ToText().
Referenced by Execute().
|
private |
Definition at line 2280 of file svdrp.c.
References LOCK_TIMERS_READ, Reply(), and TimeToString().
Referenced by Execute().
|
private |
|
private |
Definition at line 2304 of file svdrp.c.
References cControl::Attach(), cResumeFile::Delete(), cRecordings::GetRecordingsRead(), HMSFToIndex(), isnumber(), cControl::Launch(), cStateKey::Remove(), Reply(), cResumeFile::Save(), cReplayControl::SetRecording(), cControl::Shutdown(), and skipspace().
Referenced by Execute().
|
private |
Definition at line 2356 of file svdrp.c.
References cRemote::CallPlugin(), cPlugin::Description(), GetHelpPage(), cPluginManager::GetPlugin(), cPlugin::Name(), PrintHelpTopics(), Reply(), skipspace(), cPlugin::SVDRPCommand(), cPlugin::SVDRPHelpPages(), and cPlugin::Version().
Referenced by Execute().
|
private |
Definition at line 2427 of file svdrp.c.
References Reply(), SVDRPClientHandler, and cSVDRPClientHandler::TriggerFetchingTimers().
Referenced by Execute().
|
private |
Definition at line 2455 of file svdrp.c.
References isnumber(), cDevice::NumDevices(), cDevice::PrimaryDevice(), cSetup::PrimaryDVB, Reply(), and Setup.
Referenced by Execute().
|
private |
Definition at line 2481 of file svdrp.c.
References cSchedules::Cleanup(), DELETENULL(), cPUTEhandler::Message(), PUTEhandler, cSchedules::Read(), Reply(), and cPUTEhandler::Status().
Referenced by Execute().
|
private |
Definition at line 2506 of file svdrp.c.
References cRemote::Enabled(), Reply(), and cRemote::SetEnabled().
Referenced by Execute().
|
private |
Definition at line 2524 of file svdrp.c.
References EITScanner, cEITScanner::ForceScan(), and Reply().
Referenced by Execute().
|
private |
Definition at line 2530 of file svdrp.c.
References Reply(), and cVideoDirectory::VideoDiskSpace().
Referenced by Execute().
|
private |
Definition at line 2578 of file svdrp.c.
References LOCK_RECORDINGS_WRITE, and Reply().
Referenced by Execute().
|
private |
Definition at line 2545 of file svdrp.c.
References clientName, cTimer::ClrFlags(), cTimer::Id(), isyslog, LOCK_TIMERS_WRITE, cTimer::Parse(), Reply(), cTimer::SetFlags(), Setup, cSetup::SVDRPHostName, tfRecording, cTimer::ToDescr(), and cTimer::ToText().
Referenced by Execute().
|
private |
Definition at line 2585 of file svdrp.c.
References cDevice::CurrentVolume(), isnumber(), cDevice::PrimaryDevice(), Reply(), cDevice::SetVolume(), cDevice::ToggleMute(), and VOLUMEDELTA.
Referenced by Execute().
|
private |
Definition at line 2609 of file svdrp.c.
References Close(), CMD, CmdCHAN(), CmdCLRE(), CmdCONN(), CmdDELC(), CmdDELR(), CmdDELT(), CmdEDIT(), CmdGRAB(), CmdHELP(), CmdHITK(), CmdLSTC(), CmdLSTD(), CmdLSTE(), CmdLSTR(), CmdLSTT(), CmdMESG(), CmdMODC(), CmdMODT(), CmdMOVC(), CmdMOVR(), CmdNEWC(), CmdNEWT(), CmdNEXT(), CmdPING(), CmdPLAY(), CmdPLUG(), CmdPOLL(), CmdPRIM(), CmdPUTE(), CmdREMO(), CmdSCAN(), CmdSTAT(), CmdUPDR(), CmdUPDT(), CmdVOLU(), DELETENULL(), EITDISABLETIME, cPUTEhandler::Message(), cPUTEhandler::Process(), PUTEhandler, Reply(), cEitFilter::SetDisableUntil(), skipspace(), and cPUTEhandler::Status().
Referenced by Process().
|
inline |
Definition at line 1120 of file svdrp.c.
References file, and cFile::IsOpen().
|
private |
Definition at line 1211 of file svdrp.c.
References GetHelpTopic(), MAXHELPTOPIC, and Reply().
bool cSVDRPServer::Process | ( | void | ) |
Definition at line 2668 of file svdrp.c.
References clientName, Close(), cmdLine, dbgsvdrp, esyslog, Execute(), file, cFile::IsOpen(), isyslog, lastActivity, length, MALLOC, numChars, cFile::Ready(), safe_read(), Setup, cSetup::SVDRPHostName, and cSetup::SVDRPTimeout.
|
private |
Definition at line 1176 of file svdrp.c.
References clientName, esyslog, file, cFile::IsOpen(), Reply(), Send(), Setup, cString::sprintf(), and cSetup::SVDRPHostName.
Referenced by Close(), CmdCHAN(), CmdCLRE(), CmdCONN(), CmdCPYR(), CmdDELC(), CmdDELR(), CmdDELT(), CmdEDIT(), CmdGRAB(), CmdHELP(), CmdHITK(), CmdLSTC(), CmdLSTD(), CmdLSTE(), CmdLSTR(), CmdLSTT(), CmdMESG(), CmdMODC(), CmdMODT(), CmdMOVC(), CmdMOVR(), CmdNEWC(), CmdNEWT(), CmdNEXT(), CmdPING(), CmdPLAY(), CmdPLUG(), CmdPOLL(), CmdPRIM(), CmdPUTE(), CmdREMO(), CmdSCAN(), CmdSTAT(), CmdUPDR(), CmdUPDT(), CmdVOLU(), cSVDRPServer(), Execute(), PrintHelpTopics(), and Reply().
|
private |
Definition at line 1165 of file svdrp.c.
References clientName, Close(), dbgsvdrp, file, LOG_ERROR, and safe_write().
Referenced by Reply().
|
private |
Definition at line 1067 of file svdrp.c.
Referenced by CmdCONN(), and cSVDRPServer().
|
private |
|
private |
Definition at line 1073 of file svdrp.c.
Referenced by cSVDRPServer(), Process(), and ~cSVDRPServer().
|
private |
Definition at line 1069 of file svdrp.c.
Referenced by Close(), CmdLSTE(), CmdLSTR(), cSVDRPServer(), HasConnection(), Process(), Reply(), and Send().
|
private |
Definition at line 1074 of file svdrp.c.
Referenced by cSVDRPServer(), and Process().
|
private |
Definition at line 1072 of file svdrp.c.
Referenced by cSVDRPServer(), and Process().
|
private |
Definition at line 1071 of file svdrp.c.
Referenced by cSVDRPServer(), and Process().
|
private |
|
private |
Definition at line 1066 of file svdrp.c.
Referenced by Close(), and cSVDRPServer().