diff options
author | thlo <t.lohmar@gmx.de> | 2013-05-25 12:13:34 +0200 |
---|---|---|
committer | thlo <t.lohmar@gmx.de> | 2013-05-25 12:13:34 +0200 |
commit | aec1dc17d2b04236b4ea35fa1a44379602ee19b9 (patch) | |
tree | f4cdb2bcc8ffecdcfea5d2b723c7eb14881d3bdd /responsememblk.c | |
parent | 12acbea847e73b13ff4e29af2455ebc60d9508f4 (diff) | |
download | vdr-plugin-smarttvweb-aec1dc17d2b04236b4ea35fa1a44379602ee19b9.tar.gz vdr-plugin-smarttvweb-aec1dc17d2b04236b4ea35fa1a44379602ee19b9.tar.bz2 |
serverName.xml added. Skeleton for getRecCmds.xml added.
Diffstat (limited to 'responsememblk.c')
-rw-r--r-- | responsememblk.c | 57 |
1 files changed, 56 insertions, 1 deletions
diff --git a/responsememblk.c b/responsememblk.c index 9a81727..b8d62e8 100644 --- a/responsememblk.c +++ b/responsememblk.c @@ -1061,6 +1061,38 @@ void cResponseMemBlk::sendTimersXml() { #endif } + +void cResponseMemBlk::sendRecCmds() { + *(mLog->log()) << DEBUGPREFIX << " --------------- sendRecCmds ---------------" << endl; + string msg = writeCommands("Recording Commands", &RecordingCommands, " "); + *(mLog->log()) << DEBUGPREFIX << " --------------- sendRecCmds ---------------" << endl; + + if (isHeadRequest()) + return; + + /* mResponseMessage = new string(); + *mResponseMessage = ""; + mResponseMessagePos = 0; + */ + sendHeaders(200, "OK", NULL, "text/plain", 0, -1); + +} + + +string cResponseMemBlk::writeCommands(const char *title, cList<cNestedItem> *commands, string pref) { + // *(mLog->log()) << DEBUGPREFIX << " title" << endl; + string res = "-\n"; + for (cNestedItem *Cmd = commands->First(); Cmd; Cmd = commands->Next(Cmd)) { + const char *s = Cmd->Text(); + if (Cmd->SubItems()) + res += writeCommands(s, Cmd->SubItems(), (pref + "+")); + else + *(mLog->log()) << DEBUGPREFIX << pref << "title= " << s << endl; + } + return res; +} + + uint64_t cResponseMemBlk::getVdrFileSize() { // iter over all vdr files and get file size struct stat statbuf; @@ -1369,8 +1401,31 @@ int cResponseMemBlk::sendMediaXml (struct stat *statbuf) { return OKAY; } +void cResponseMemBlk::sendServerNameXml () { + if (isHeadRequest()) + return ; + char f[400]; + mResponseMessage = new string(); + *mResponseMessage = ""; + + mResponseMessagePos = 0; + + mRequest->mConnState = SERVING; + + *mResponseMessage += "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; + *mResponseMessage += "<servername>\n"; + + *mResponseMessage += "<hostname>"; + gethostname(f, sizeof(f)); + *mResponseMessage += f; + *mResponseMessage += "</hostname>\n"; + + *mResponseMessage += "<ipaddress>" + mRequest->getOwnIp() +"</ipaddress>\n"; + *mResponseMessage += "</servername>\n"; + sendHeaders(200, "OK", NULL, "application/xml", mResponseMessage->size(), -1); +} int cResponseMemBlk::sendVdrStatusXml (struct stat *statbuf) { @@ -1402,7 +1457,7 @@ int cResponseMemBlk::sendVdrStatusXml (struct stat *statbuf) { strftime(timebuf, sizeof(timebuf), "%Y-%m-%dT%H:%M:%S", localtime(&now)); // ISO 8601 snprintf(f, sizeof(f), "<vdrTime>%s</vdrTime>\n", timebuf); *mResponseMessage += f; - + *mResponseMessage += "<diskspace>\n"; snprintf(f, sizeof(f), "<free>%d</free>", free); *mResponseMessage += f; |