diff options
author | lordjaxom <lordjaxom> | 2004-12-30 22:43:55 +0000 |
---|---|---|
committer | lordjaxom <lordjaxom> | 2004-12-30 22:43:55 +0000 |
commit | 302fa2e67276bd0674e81e2a9a01b9e91dd45d8c (patch) | |
tree | a454884a16e0ffa48b5ce3e4ce1a66eb874a9de0 /client/setup.c | |
download | vdr-plugin-streamdev-302fa2e67276bd0674e81e2a9a01b9e91dd45d8c.tar.gz vdr-plugin-streamdev-302fa2e67276bd0674e81e2a9a01b9e91dd45d8c.tar.bz2 |
Initial revision
Diffstat (limited to 'client/setup.c')
-rw-r--r-- | client/setup.c | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/client/setup.c b/client/setup.c new file mode 100644 index 0000000..f8f53db --- /dev/null +++ b/client/setup.c @@ -0,0 +1,83 @@ +/* + * $Id: setup.c,v 1.1 2004/12/30 22:44:03 lordjaxom Exp $ + */ + +#include <vdr/menuitems.h> + +#include "client/setup.h" +#include "client/device.h" +#include "i18n.h" + +cStreamdevClientSetup StreamdevClientSetup; + +cStreamdevClientSetup::cStreamdevClientSetup(void) { + StartClient = false; + RemotePort = 2004; + StreamPIDS = true; +#if VDRVERSNUM >= 10300 + StreamFilters = false; +#endif + SyncEPG = false; + strcpy(RemoteIp, ""); +} + +bool cStreamdevClientSetup::SetupParse(const char *Name, const char *Value) { + if (strcmp(Name, "StartClient") == 0) StartClient = atoi(Value); + else if (strcmp(Name, "RemoteIp") == 0) { + if (strcmp(Value, "-none-") == 0) + strcpy(RemoteIp, ""); + else + strcpy(RemoteIp, Value); + } + else if (strcmp(Name, "RemotePort") == 0) RemotePort = atoi(Value); + else if (strcmp(Name, "StreamPIDS") == 0) StreamPIDS = atoi(Value); +#if VDRVERSNUM >= 10300 + else if (strcmp(Name, "StreamFilters") == 0) StreamFilters = atoi(Value); +#endif + else if (strcmp(Name, "SyncEPG") == 0) SyncEPG = atoi(Value); + else return false; + return true; +} + +cStreamdevClientMenuSetupPage::cStreamdevClientMenuSetupPage(void) { + m_NewSetup = StreamdevClientSetup; + + AddBoolEdit (tr("Start Client"), m_NewSetup.StartClient); + AddIpEdit (tr("Remote IP"), m_NewSetup.RemoteIp); + AddShortEdit(tr("Remote Port"), m_NewSetup.RemotePort); + AddBoolEdit (tr("MultiPID Streaming"), m_NewSetup.StreamPIDS); +#if VDRVERSNUM >= 10300 + AddBoolEdit (tr("Filter Streaming"), m_NewSetup.StreamFilters); +#endif + AddBoolEdit (tr("Synchronize EPG"), m_NewSetup.SyncEPG); + SetCurrent(Get(0)); +} + +cStreamdevClientMenuSetupPage::~cStreamdevClientMenuSetupPage() { +} + +void cStreamdevClientMenuSetupPage::Store(void) { + if (m_NewSetup.StartClient != StreamdevClientSetup.StartClient) { + if (m_NewSetup.StartClient) + cStreamdevDevice::Init(); + else + INFO(tr("Please restart VDR to activate changes")); + } + + SetupStore("StartClient", m_NewSetup.StartClient); + if (strcmp(m_NewSetup.RemoteIp, "") == 0) + SetupStore("RemoteIp", "-none-"); + else + SetupStore("RemoteIp", m_NewSetup.RemoteIp); + SetupStore("RemotePort", m_NewSetup.RemotePort); + SetupStore("StreamPIDS", m_NewSetup.StreamPIDS); +#if VDRVERSNUM >= 10300 + SetupStore("StreamFilters", m_NewSetup.StreamFilters); +#endif + SetupStore("SyncEPG", m_NewSetup.SyncEPG); + + StreamdevClientSetup = m_NewSetup; + + cStreamdevDevice::ReInit(); +} + |