vdr 2.7.7
|
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 1151 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 1144 of file svdrp.c.
References ClientName(), and clientName.
Referenced by ClientName().
|
private |
Definition at line 1176 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 1262 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 1301 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 1363 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 1428 of file svdrp.c.
References clientIpAddress, clientName, cSVDRPServerParams::Error(), cSVDRPServerParams::Name(), cSVDRPServerParams::Ok(), Reply(), and SVDRPClientHandler.
Referenced by Execute().
|
private |
Definition at line 1513 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 1448 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 1564 of file svdrp.c.
References clientName, isnumber(), isyslog, LOCK_RECORDINGS_WRITE, RecordingInUseMessage(), Reply(), and Setup.
Referenced by Execute().
|
private |
Definition at line 1594 of file svdrp.c.
References clientName, isnumber(), isyslog, LOCK_TIMERS_WRITE, cRecordControls::Process(), Reply(), and Setup.
Referenced by Execute().
|
private |
Definition at line 1621 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 1649 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 1786 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 1814 of file svdrp.c.
References cRemote::Enabled(), cKey::FromString(), kNone, cRemote::Put(), Reply(), and cKey::ToString().
Referenced by Execute().
|
private |
Definition at line 1853 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 1901 of file svdrp.c.
References cDevice::GetDevice(), cDevice::NumDevices(), Reply(), and Setup.
Referenced by Execute().
|
private |
Definition at line 1913 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 1992 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 2051 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 2118 of file svdrp.c.
References clientName, isyslog, LOCK_CHANNELS_WRITE, cChannel::Parse(), Reply(), Setup, and skipspace().
Referenced by Execute().
|
private |
Definition at line 2154 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 2200 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 2255 of file svdrp.c.
References isnumber(), LOCK_RECORDINGS_WRITE, RecordingInUseMessage(), Reply(), and skipspace().
Referenced by Execute().
|
private |
Definition at line 2299 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 2326 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 2346 of file svdrp.c.
References LOCK_TIMERS_READ, Reply(), and TimeToString().
Referenced by Execute().
|
private |
|
private |
Definition at line 2370 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 2422 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 2493 of file svdrp.c.
References Reply(), and SVDRPClientHandler.
Referenced by Execute().
|
private |
Definition at line 2521 of file svdrp.c.
References isnumber(), cDevice::NumDevices(), cDevice::PrimaryDevice(), Reply(), and Setup.
Referenced by Execute().
|
private |
Definition at line 2547 of file svdrp.c.
References cSchedules::Cleanup(), DELETENULL(), PUTEhandler, cSchedules::Read(), and Reply().
Referenced by Execute().
|
private |
Definition at line 2572 of file svdrp.c.
References cRemote::Enabled(), Reply(), and cRemote::SetEnabled().
Referenced by Execute().
|
private |
Definition at line 2590 of file svdrp.c.
References EITScanner, and Reply().
Referenced by Execute().
|
private |
Definition at line 2596 of file svdrp.c.
References Reply(), and cVideoDirectory::VideoDiskSpace().
Referenced by Execute().
|
private |
Definition at line 2644 of file svdrp.c.
References LOCK_RECORDINGS_WRITE, and Reply().
Referenced by Execute().
|
private |
Definition at line 2611 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 2651 of file svdrp.c.
References cDevice::CurrentVolume(), isnumber(), cDevice::PrimaryDevice(), Reply(), cDevice::SetVolume(), cDevice::ToggleMute(), and VOLUMEDELTA.
Referenced by Execute().
|
private |
Definition at line 2675 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 1236 of file svdrp.c.
References GetHelpTopic(), MAXHELPTOPIC, and Reply().
bool cSVDRPServer::Process | ( | void | ) |
|
private |
Definition at line 1201 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 1190 of file svdrp.c.
References clientName, Close(), dbgsvdrp, file, LOG_ERROR, and safe_write().
Referenced by Reply().
|
private |
Definition at line 1091 of file svdrp.c.
Referenced by CmdCONN(), and cSVDRPServer().
|
private |
|
private |
Definition at line 1097 of file svdrp.c.
Referenced by cSVDRPServer(), Process(), and ~cSVDRPServer().
|
private |
Definition at line 1093 of file svdrp.c.
Referenced by Close(), CmdLSTE(), CmdLSTR(), cSVDRPServer(), HasConnection(), Process(), Reply(), and Send().
|
private |
Definition at line 1098 of file svdrp.c.
Referenced by cSVDRPServer(), and Process().
|
private |
Definition at line 1096 of file svdrp.c.
Referenced by cSVDRPServer(), and Process().
|
private |
Definition at line 1095 of file svdrp.c.
Referenced by cSVDRPServer(), and Process().
|
private |
|
private |
Definition at line 1090 of file svdrp.c.
Referenced by Close(), and cSVDRPServer().