Files
recycled-ni-neutrino/src/system/setting_helpers.h
Thilo Graf 66532c9a5c Api keys: add class instead single functions to check api keys
Without class build was broken, with static versions it should working.


Origin commit data
------------------
Branch: ni/coolstream
Commit: 7d6a4db686
Author: Thilo Graf <dbt@novatux.de>
Date: 2018-04-29 (Sun, 29 Apr 2018)



------------------
This commit was generated by Migit
2018-04-29 03:13:08 +02:00

175 lines
4.5 KiB
C++

#ifndef __setting_helpers__
#define __setting_helpers__
/*
Neutrino-GUI - DBoxII-Project
Copyright (C) 2001 Steffen Hehn 'McClean'
Homepage: http://dbox.cyberphoria.org/
Kommentar:
Diese GUI wurde von Grund auf neu programmiert und sollte nun vom
Aufbau und auch den Ausbaumoeglichkeiten gut aussehen. Neutrino basiert
auf der Client-Server Idee, diese GUI ist also von der direkten DBox-
Steuerung getrennt. Diese wird dann von Daemons uebernommen.
License: GPL
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <global.h>
#include <gui/widget/menue.h>
#include <string>
class CGenericMenuActivate
{
private:
std::vector<CMenuItem*> items;
public:
CGenericMenuActivate() {};
~CGenericMenuActivate() { items.clear(); };
void Add(CMenuItem* item) { items.push_back(item); }
void Clear() { items.clear(); }
void Activate(bool enable)
{
for(std::vector<CMenuItem*>::iterator it = items.begin(); it != items.end(); ++it)
(*it)->setActive(enable);
}
};
class COnOffNotifier : public CChangeObserver
{
private:
int offValue;
std::vector<CMenuItem*> toDisable;
public:
COnOffNotifier(int OffValue = 0);
bool changeNotify(const neutrino_locale_t, void *Data);
void addItem(CMenuItem* menuItem);
};
class CSectionsdConfigNotifier : public CChangeObserver
{
public:
bool changeNotify(const neutrino_locale_t, void * );
};
class CTouchFileNotifier : public CChangeObserver
{
const char * filename;
public:
inline CTouchFileNotifier(const char * _filename) { filename = _filename; };
bool changeNotify(const neutrino_locale_t, void * data);
};
class CFlagFileNotifier : public CChangeObserver
{
const char * filename;
public:
inline CFlagFileNotifier(const char * _filename) { filename = _filename; };
bool changeNotify(const neutrino_locale_t, void * data);
};
class CColorSetupNotifier : public CChangeObserver
{
public:
bool changeNotify(const neutrino_locale_t, void *);
static void setPalette();
};
class CAudioSetupNotifier : public CChangeObserver
{
public:
bool changeNotify(const neutrino_locale_t OptionName, void *);
};
class CFontSizeNotifier : public CChangeObserver
{
public:
bool changeNotify(const neutrino_locale_t, void *);
};
class CSubtitleChangeExec : public CMenuTarget
{
public:
int exec(CMenuTarget* parent, const std::string & actionKey);
};
class CNVODChangeExec : public CMenuTarget
{
public:
int exec(CMenuTarget* parent, const std::string & actionKey);
};
class CMoviePluginChangeExec : public CMenuTarget
{
public:
int exec(CMenuTarget* parent, const std::string & actionKey);
};
class CTZChangeNotifier : public CChangeObserver
{
public:
bool changeNotify(const neutrino_locale_t, void * data);
};
class CDataResetNotifier : public CMenuTarget
{
public:
int exec(CMenuTarget* parent, const std::string& actionKey);
};
class CFanControlNotifier : public CChangeObserver
{
public:
bool changeNotify(const neutrino_locale_t, void * data);
static void setSpeed(unsigned int speed);
};
class CCpuFreqNotifier : public CChangeObserver
{
public:
bool changeNotify(const neutrino_locale_t, void * data);
};
class CAutoModeNotifier : public CChangeObserver
{
public:
bool changeNotify(const neutrino_locale_t, void * data);
};
class CApiKey
{
public:
static int check_api_key(const std::string& api_key_setting, const std::string& api_key_pattern)
{
return ((api_key_setting != api_key_pattern) && !api_key_setting.empty());
}
static int check_shoutcast_dev_id() { return CApiKey::check_api_key(g_settings.shoutcast_dev_id, "XXXXXXXXXXXXXXXX"); }
static int check_youtube_dev_id() { return CApiKey::check_api_key(g_settings.youtube_dev_id, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); }
static int check_tmdb_api_key() { return CApiKey::check_api_key(g_settings.tmdb_api_key, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); }
static int check_omdb_api_key() { return CApiKey::check_api_key(g_settings.omdb_api_key, "XXXXXXXX"); }
};
#endif