|
vdr 2.7.8
|
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 | CmdAUDI (const char *Option) |
| 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 1155 of file svdrp.c.
References clientIpAddress, clientName, cmdLine, dsyslog, file, lastActivity, length, MALLOC, numChars, PUTEhandler, Reply(), Setup, socket, SVDRPServerPoller, cCharSetConv::SystemCharacterTable(), TimeToString(), and VDRVERSION.
| cSVDRPServer::~cSVDRPServer | ( | ) |
|
inline |
Definition at line 1148 of file svdrp.c.
References ClientName(), and clientName.
Referenced by ClientName().
|
private |
Definition at line 1180 of file svdrp.c.
References clientName, DELETENULL(), file, isyslog, PUTEhandler, Reply(), Setup, socket, and SVDRPServerPoller.
Referenced by Execute(), Process(), Send(), and ~cSVDRPServer().
|
private |
Definition at line 1266 of file svdrp.c.
References cDevice::CurrentChannel(), tTrackId::description, cDevice::GetCurrentAudioTrack(), cDevice::GetTrack(), tTrackId::id, isnumber(), tTrackId::language, cDevice::PrimaryDevice(), Reply(), cDevice::SetCurrentAudioTrack(), SetTrackDescriptions(), cString::sprintf(), ttAudioFirst, and ttDolbyLast.
Referenced by Execute().
|
private |
Definition at line 1305 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 1367 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 1432 of file svdrp.c.
References clientIpAddress, clientName, cSVDRPServerParams::Error(), cSVDRPServerParams::Name(), cSVDRPServerParams::Ok(), Reply(), and SVDRPClientHandler.
Referenced by Execute().
|
private |
Definition at line 1517 of file svdrp.c.
References cString::CompactChars(), ExchangeChars(), FOLDERDELIMCHAR, isnumber(), LOCK_RECORDINGS_WRITE, MakeDirs(), RecordingInUseMessage(), RecordingsHandler, Reply(), ruCopy, skipspace(), and strreplace().
|
private |
Definition at line 1452 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(), and Setup.
Referenced by Execute().
|
private |
Definition at line 1568 of file svdrp.c.
References clientName, isnumber(), isyslog, LOCK_RECORDINGS_WRITE, RecordingInUseMessage(), Reply(), and Setup.
Referenced by Execute().
|
private |
Definition at line 1598 of file svdrp.c.
References clientName, isnumber(), isyslog, LOCK_TIMERS_WRITE, cRecordControls::Process(), Reply(), and Setup.
Referenced by Execute().
|
private |
Definition at line 1625 of file svdrp.c.
References cListBase::Count(), EnoughFreeDiskSpaceForEdit(), isnumber(), cMarks::Load(), LOCK_RECORDINGS_READ, RecordingsHandler, Reply(), and ruCut.
Referenced by Execute().
|
private |
Definition at line 1653 of file svdrp.c.
References AddDirectory(), clientName, dsyslog, cDevice::GrabImage(), grabImageDir, isnumber(), LOG_ERROR_STR, cBase64Encoder::NextLine(), cDevice::PrimaryDevice(), Reply(), safe_write(), Setup, and cString::Truncate().
Referenced by Execute().
|
private |
Definition at line 1790 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 1818 of file svdrp.c.
References cRemote::Enabled(), cKey::FromString(), kNone, cRemote::Put(), Reply(), and cKey::ToString().
Referenced by Execute().
|
private |
Definition at line 1857 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 1905 of file svdrp.c.
References cDevice::GetDevice(), cDevice::NumDevices(), Reply(), and Setup.
Referenced by Execute().
|
private |
Definition at line 1917 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 1996 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 2055 of file svdrp.c.
References cTimer::Id(), isnumber(), LOCK_TIMERS_READ, cListObject::Next(), cListObject::Prev(), cTimer::Remote(), and Reply().
Referenced by Execute().
|
private |
|
private |
Definition at line 2122 of file svdrp.c.
References clientName, isyslog, LOCK_CHANNELS_WRITE, cChannel::Parse(), Reply(), Setup, and skipspace().
Referenced by Execute().
|
private |
Definition at line 2158 of file svdrp.c.
References clientName, cTimer::ClrFlags(), cTimer::IsPatternTimer(), isyslog, LOCK_TIMERS_WRITE, cTimer::Parse(), Reply(), cTimer::SetFlags(), Setup, skipspace(), tfActive, and tfRecording.
Referenced by Execute().
|
private |
Definition at line 2204 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, and skipspace().
Referenced by Execute().
|
private |
Definition at line 2259 of file svdrp.c.
References isnumber(), LOCK_RECORDINGS_WRITE, RecordingInUseMessage(), Reply(), and skipspace().
Referenced by Execute().
|
private |
Definition at line 2303 of file svdrp.c.
References clientName, isyslog, LOCK_CHANNELS_WRITE, cChannel::Number(), cChannel::Parse(), Reply(), Setup, and cChannel::ToText().
Referenced by Execute().
|
private |
Definition at line 2330 of file svdrp.c.
References clientName, cTimer::ClrFlags(), cTimer::Id(), isyslog, LOCK_TIMERS_WRITE, cTimer::Parse(), Reply(), Setup, tfRecording, cTimer::ToDescr(), and cTimer::ToText().
Referenced by Execute().
|
private |
Definition at line 2359 of file svdrp.c.
References LOCK_TIMERS_READ, Reply(), and TimeToString().
Referenced by Execute().
|
private |
|
private |
Definition at line 2383 of file svdrp.c.
References cControl::Attach(), cResumeFile::Delete(), cRecordings::GetRecordingsRead(), HMSFToIndex(), isnumber(), cControl::Launch(), LOCK_RECORDINGS_READ, cReplayControl::NowReplaying(), cStateKey::Remove(), Reply(), cResumeFile::Save(), cReplayControl::SetRecording(), cControl::Shutdown(), and skipspace().
Referenced by Execute().
|
private |
Definition at line 2442 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 2513 of file svdrp.c.
References Reply(), and SVDRPClientHandler.
Referenced by Execute().
|
private |
Definition at line 2541 of file svdrp.c.
References isnumber(), cDevice::NumDevices(), cDevice::PrimaryDevice(), Reply(), and Setup.
Referenced by Execute().
|
private |
Definition at line 2567 of file svdrp.c.
References cSchedules::Cleanup(), DELETENULL(), PUTEhandler, cSchedules::Read(), and Reply().
Referenced by Execute().
|
private |
Definition at line 2592 of file svdrp.c.
References cRemote::Enabled(), Reply(), and cRemote::SetEnabled().
Referenced by Execute().
|
private |
Definition at line 2610 of file svdrp.c.
References EITScanner, and Reply().
Referenced by Execute().
|
private |
Definition at line 2616 of file svdrp.c.
References Reply(), and cVideoDirectory::VideoDiskSpace().
Referenced by Execute().
|
private |
Definition at line 2664 of file svdrp.c.
References LOCK_RECORDINGS_WRITE, and Reply().
Referenced by Execute().
|
private |
Definition at line 2631 of file svdrp.c.
References clientName, cTimer::ClrFlags(), cTimer::Id(), isyslog, LOCK_TIMERS_WRITE, cTimer::Parse(), Reply(), cTimer::SetFlags(), Setup, tfRecording, cTimer::ToDescr(), and cTimer::ToText().
Referenced by Execute().
|
private |
Definition at line 2671 of file svdrp.c.
References cDevice::CurrentVolume(), isnumber(), cDevice::PrimaryDevice(), Reply(), cDevice::SetVolume(), cDevice::ToggleMute(), and VOLUMEDELTA.
Referenced by Execute().
|
private |
Definition at line 2695 of file svdrp.c.
References Close(), CMD, CmdAUDI(), 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, PUTEhandler, Reply(), cEitFilter::SetDisableUntil(), and skipspace().
Referenced by Process().
|
inline |
|
private |
Definition at line 1240 of file svdrp.c.
References GetHelpTopic(), MAXHELPTOPIC, and Reply().
| bool cSVDRPServer::Process | ( | void | ) |
|
private |
Definition at line 1205 of file svdrp.c.
References clientName, esyslog, file, Reply(), Send(), Setup, and cString::sprintf().
Referenced by Close(), CmdAUDI(), 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 1194 of file svdrp.c.
References clientName, Close(), dbgsvdrp, file, LOG_ERROR, and safe_write().
Referenced by Reply().
|
private |
Definition at line 1095 of file svdrp.c.
Referenced by CmdCONN(), and cSVDRPServer().
|
private |
|
private |
Definition at line 1101 of file svdrp.c.
Referenced by cSVDRPServer(), Process(), and ~cSVDRPServer().
|
private |
Definition at line 1097 of file svdrp.c.
Referenced by Close(), CmdLSTE(), CmdLSTR(), cSVDRPServer(), HasConnection(), Process(), Reply(), and Send().
|
private |
Definition at line 1102 of file svdrp.c.
Referenced by cSVDRPServer(), and Process().
|
private |
Definition at line 1100 of file svdrp.c.
Referenced by cSVDRPServer(), and Process().
|
private |
Definition at line 1099 of file svdrp.c.
Referenced by cSVDRPServer(), and Process().
|
private |
|
private |
Definition at line 1094 of file svdrp.c.
Referenced by Close(), and cSVDRPServer().