blob: 11945d4dcb92eef96f5769937a77e2239f54e3f9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
#ifndef VDR_LIVE_SETUP_H
#define VDR_LIVE_SETUP_H
#include <list>
#include <numeric>
#include <string>
#include "live.h"
#include <vdr/menuitems.h>
#define LIVEVERSION "0.1.0"
#define LIVEVERSNUM 100
#define LIVESUMMARY "Live Interactive VDR Environment"
namespace vdrlive {
// forward declaration, see below
class cMenuSetupLive;
class Setup
{
friend Setup& LiveSetup();
friend class cMenuSetupLive; // friend declaration is not forward
// declaration, although gcc 3.3 claims so
public:
typedef std::list< std::string > IpList;
// commandline
int GetServerPort() const { return m_serverPort; }
IpList const& GetServerIps() const { return m_serverIps; }
// vdr-setup
int GetLastChannel() const { return m_lastChannel == 0 ? std::numeric_limits< int >::max() : m_lastChannel; }
int GetScreenshotInterval() const { return m_screenshotInterval; }
std::string GetAdminLogin() const { return m_adminLogin; }
std::string GetMD5HashAdminPassword() const;
int GetAdminPasswordLength() const;
bool GetUseAuth() const { return m_useAuth; }
bool UseAuth() const;
std::string GetTimes() const { return m_times; }
std::string GetStartScreen() const { return m_startscreen; }
std::string GetStartScreenLink() const;
std::string GetTheme() const { return m_theme; }
std::string GetThemedLink(const std::string& type, const std::string& name) const { return "themes/" + GetTheme() + "/" + type + "/" + name; }
std::string GetLocalNetMask() const { return m_localnetmask; };
bool GetIsLocalNet() const { return m_islocalnet; };
std::string GetLastWhatsOnListMode() const { return m_lastwhatsonlistmode; }
std::string GetTntnetLogLevel() const { return m_tntnetloglevel; }
bool GetShowLogo() const { return m_showLogo != 0; }
bool GetUseAjax() const { return m_useAjax != 0; }
bool GetShowInfoBox() const { return m_showInfoBox != 0; }
std::string GetEpgImageDir() { return m_epgimagedir; }
void SetLastChannel(int lastChannel) { m_lastChannel = lastChannel; }
void SetAdminLogin(std::string login) { m_adminLogin = login; }
std::string SetAdminPassword(std::string password);
void SetUseAuth(int auth) { m_useAuth = auth; }
void SetScreenshotInterval(int interval) { m_screenshotInterval = interval; }
void SetTimes(std::string times) { m_times = times; }
void SetStartScreen(std::string startscreen) { m_startscreen = startscreen; }
void SetTheme(std::string theme) { m_theme = theme; }
void SetLocalNetMask(std::string localnetmask) { m_localnetmask = localnetmask; }
void SetIsLocalNet(bool islocalnet) { m_islocalnet = islocalnet; }
void SetLastWhatsOnListMode(std::string mode) { m_lastwhatsonlistmode = mode; SaveSetup(); }
void SetShowLogo(bool show) { m_showLogo = show ? 1 : 0; }
void SetUseAjax(bool use) { m_useAjax = use ? 1 : 0; }
void SetShowInfoBox(bool show) { m_showInfoBox = show ? 1 : 0; }
bool SaveSetup();
bool ParseCommandLine( int argc, char* argv[] );
char const* CommandLineHelp() const;
bool ParseSetupEntry( char const* name, char const* value );
bool HaveEPGSearch(void);
bool CheckLocalNet(const std::string& ip);
private:
Setup();
Setup( Setup const& );
// me
cPlugin* liveplugin;
mutable std::string m_helpString;
// commandline options
int m_serverPort;
IpList m_serverIps;
std::string m_epgimagedir;
// setup options
int m_lastChannel;
int m_screenshotInterval;
int m_useAuth;
std::string m_adminLogin;
std::string m_adminPasswordMD5;
std::string m_times;
std::string m_startscreen;
std::string m_theme;
std::string m_localnetmask;
bool m_islocalnet;
std::string m_lastwhatsonlistmode;
std::string m_tntnetloglevel;
int m_showLogo;
int m_useAjax;
int m_showInfoBox;
bool CheckServerPort();
bool CheckServerIps();
};
Setup& LiveSetup();
class cMenuSetupLive : public cMenuSetupPage {
protected:
virtual void Store(void);
virtual eOSState ProcessKey(eKeys Key);
public:
cMenuSetupLive();
private:
int m_lastChannel;
int m_screenshotInterval;
int m_useAuth;
char m_adminLogin[20];
char m_adminPassword[20];
char m_tmpPassword[20];
std::string m_oldpasswordMD5;
std::string m_newpasswordMD5;
void Set(void);
bool InEditMode(const char* ItemText, const char* ItemName, const char* ItemValue);
};
} // namespace vdrlive
#endif // VDR_LIVE_SETUP_H
|