Timesheets-Server
Timesheets server
Načítám...
Vyhledávám...
Nebylo nic nalezeno
Dokumentace třídy MSettings

Globální QSettings objekt. ...

#include <msettings.h>

Diagram dědičnosti pro třídu MSettings:

Veřejné metody

bool logAll () const
QString logInclude () const
QString logExclude () const
QString logFile () const
QString dbPlugin () const
QString dbServer () const
QString dbName () const
QString dbUser () const
QString dbPassword () const
int dbPort () const
QString dbFilesDirectory () const
QString httpdUser () const
QString httpdPassword () const
bool httpdAuthorize () const
QString httpdSessionsFile () const
QString serverName () const
QString serverDescription () const
bool serverEnableRemoteRestart () const

Statické veřejné metody

static MSettingsinstance (QObject *parent=NULL)
 Vytváří signleton instanci třídy, vyhledá konfigurační soubor.

Statické veřejné atributy

static constexpr const char * LogAll = "log/all"
static constexpr const char * LogInclude = "log/include"
static constexpr const char * LogExclude = "log/exclude"
static constexpr const char * LogFile = "log/file"
static constexpr const char * DbPlugin = "db/plugin"
static constexpr const char * DbServer = "db/server"
static constexpr const char * DbName = "db/name"
static constexpr const char * DbUser = "db/user"
static constexpr const char * DbPassword = "db/password"
static constexpr const char * DbPort = "db/port"
static constexpr const char * DbFilesDirectory = "db/files-directory"
static constexpr const char * HttpdUser = "httpd/user"
static constexpr const char * HttpdPassword = "httpd/password"
static constexpr const char * HttpdAuthorize = "httpd/authorize"
static constexpr const char * HttpdSessionsFile = "httpd/sessions-file"
static constexpr const char * ServerName = "server/name"
static constexpr const char * ServerDescription = "server/description"
static constexpr const char * ServerEnableRemoteRestart = "server/enable-remote-restart"

Chráněné metody

void setValue (const QString &key, const QVariant &value)
 Nastaví hodnotu v konfiguračním souboru.
QVariant value (const QString &key, const QVariant &defaultValue=QVariant()) const
 Vrátí hodnotu z konfiguračního souboru.

Privátní metody

 MSettings (const QString &filename, QObject *parent)
 Konstruktor, otevře zadaný soubor.

Detailní popis

Globální QSettings objekt.

Během práce zůstává otevřený a přistupuje se k němu přes makro MSETTINGS. Umožňuje přesunout konfigurační soubor na libovolné místo, například /etc.

Singleton instance by měla být přístupná i v QML pod jménem MSETTINGS.

Definice je uvedena na řádku 117 v souboru msettings.h.

Dokumentace konstruktoru a destruktoru

◆ ~MSettings()

MSettings::~MSettings ( )

Definice je uvedena na řádku 17 v souboru msettings.cpp.

17 {
18 m_mSettings = NULL;
19}

◆ MSettings()

MSettings::MSettings ( const QString & filename,
QObject * parent )
private

Konstruktor, otevře zadaný soubor.

Definice je uvedena na řádku 22 v souboru msettings.cpp.

22 : QSettings(filename, QSettings::NativeFormat, parent) {
23 m_mSettings = this;
24 setIniCodec("UTF-8");
25}

Dokumentace členských funkcí

◆ dbFilesDirectory()

QString MSettings::dbFilesDirectory ( ) const
inline

Definice je uvedena na řádku 163 v souboru msettings.h.

163{ return value(DbFilesDirectory).toString(); }
QVariant value(const QString &key, const QVariant &defaultValue=QVariant()) const
Vrátí hodnotu z konfiguračního souboru.
Definition msettings.cpp:34

◆ dbName()

QString MSettings::dbName ( ) const
inline

Definice je uvedena na řádku 159 v souboru msettings.h.

159{ return value(DbName, "timesheet").toString(); }

◆ dbPassword()

QString MSettings::dbPassword ( ) const
inline

Definice je uvedena na řádku 161 v souboru msettings.h.

161{ return value(DbPassword).toString(); }

◆ dbPlugin()

QString MSettings::dbPlugin ( ) const
inline

Definice je uvedena na řádku 157 v souboru msettings.h.

157{ return value(DbPlugin, "postgres").toString(); }

◆ dbPort()

int MSettings::dbPort ( ) const
inline

Definice je uvedena na řádku 162 v souboru msettings.h.

162{ return value(DbPort, 5432).toInt(); }

◆ dbServer()

QString MSettings::dbServer ( ) const
inline

Definice je uvedena na řádku 158 v souboru msettings.h.

158{ return value(DbServer).toString(); }

◆ dbUser()

QString MSettings::dbUser ( ) const
inline

Definice je uvedena na řádku 160 v souboru msettings.h.

160{ return value(DbUser, "timesheet").toString(); }

◆ httpdAuthorize()

bool MSettings::httpdAuthorize ( ) const
inline

Definice je uvedena na řádku 169 v souboru msettings.h.

169{ return value(HttpdAuthorize).toBool(); }

◆ httpdPassword()

QString MSettings::httpdPassword ( ) const
inline

Definice je uvedena na řádku 168 v souboru msettings.h.

168{ return value(HttpdPassword).toString(); }

◆ httpdSessionsFile()

QString MSettings::httpdSessionsFile ( ) const

Definice je uvedena na řádku 109 v souboru msettings.cpp.

109 {
110 return value(HttpdSessionsFile, "/tmp/timesheets-sessions.json").toString();
111}

◆ httpdUser()

QString MSettings::httpdUser ( ) const
inline

Definice je uvedena na řádku 167 v souboru msettings.h.

167{ return value(HttpdUser).toString(); }

◆ instance()

MSettings * MSettings::instance ( QObject * parent = NULL)
static

Vytváří signleton instanci třídy, vyhledá konfigurační soubor.

Konfigurační soubor vyhledává v tomto pořadí (jména adresářů se mohou lišit v závislosti na uživateli):

  • z povelové řádky, parametr -C jméno_souboru
  • ~/.config/hobrasoft.cz/timesheet-server.conf
  • ~/.timesheet-server.conf
  • /etc/timesheet-server.conf

Definice je uvedena na řádku 48 v souboru msettings.cpp.

48 {
49 if (m_mSettings == NULL) {
50 Q_ASSERT(parent);
51
52 QString filename;
53
54 while (true) {
55
56 // Konfigurační soubor z povelové řádky
57 QString configFileName;
58 QStringList arguments = QCoreApplication::arguments();
59 for (int i=0; i<arguments.size(); i++) {
60 const QString& argument = arguments[i];
61 if (argument == "-C" && i<arguments.size()-1) {
62 configFileName = arguments[i+1];
63 PDEBUG << "trying" << configFileName;
64 }
65 }
66 if (!configFileName.isEmpty()) {
67 QFileInfo fileinfo(configFileName);
68 if (fileinfo.exists() && fileinfo.isReadable()) {
69 filename = configFileName;
70 break;
71 }
72 }
73
74
75 // Konfigurační soubor ~/.config/hobrasoft.cz/timesheet-server.conf
76 QFileInfo fileinfo1( QDir::homePath() + "/.config/hobrasoft.cz/timesheet-server.conf");
77 PDEBUG << "Testing: " << fileinfo1.filePath();
78 if (fileinfo1.exists() && fileinfo1.isReadable()) {
79 filename = fileinfo1.filePath();
80 break;
81 }
82
83 // Konfigurační soubor ~/.mdcv04ip.conf"
84 QFileInfo fileinfo2( QDir::homePath() + "/.timesheet-server.conf");
85 PDEBUG << "Testing: " << fileinfo2.filePath();
86 if (fileinfo2.exists() && fileinfo2.isReadable()) {
87 filename = fileinfo2.filePath();
88 break;
89 }
90
91
92 // "/etc/mdcv04ip.conf"
93 QFileInfo fileinfo3("/etc/timesheet-server.conf");
94 PDEBUG << "Testing: " << fileinfo3.filePath();
95 if (fileinfo3.exists() && fileinfo3.isReadable()) {
96 filename = fileinfo3.filePath();
97 break;
98 }
99
100 break;
101 }
102
103 PDEBUG << "Using configuration file: " << filename;
104 new MSettings(filename, parent);
105 }
106 return m_mSettings;
107}
MSettings(const QString &filename, QObject *parent)
Konstruktor, otevře zadaný soubor.
Definition msettings.cpp:22

◆ logAll()

bool MSettings::logAll ( ) const
inline

Definice je uvedena na řádku 151 v souboru msettings.h.

151{ return value(LogAll, true).toBool(); }

◆ logExclude()

QString MSettings::logExclude ( ) const
inline

Definice je uvedena na řádku 153 v souboru msettings.h.

153{ return value(LogInclude).toString(); }

◆ logFile()

QString MSettings::logFile ( ) const
inline

Definice je uvedena na řádku 154 v souboru msettings.h.

154{ return value(LogFile).toString(); }

◆ logInclude()

QString MSettings::logInclude ( ) const
inline

Definice je uvedena na řádku 152 v souboru msettings.h.

152{ return value(LogInclude).toString(); }

◆ serverDescription()

QString MSettings::serverDescription ( ) const
inline

Definice je uvedena na řádku 174 v souboru msettings.h.

174{ return value(ServerDescription).toString(); }

◆ serverEnableRemoteRestart()

bool MSettings::serverEnableRemoteRestart ( ) const
inline

Definice je uvedena na řádku 175 v souboru msettings.h.

175{ return value(ServerEnableRemoteRestart, false).toBool(); }

◆ serverName()

QString MSettings::serverName ( ) const
inline

Definice je uvedena na řádku 173 v souboru msettings.h.

173{ return value(ServerName).toString(); }

◆ setValue()

void MSettings::setValue ( const QString & key,
const QVariant & value )
protected

Nastaví hodnotu v konfiguračním souboru.

Metoda je přetížená z QSettings::setValue() a přesunutá do protected, aby nebylo možné zavolat tuto metodu přímo z aplikace. Vždy je nutné doplnit pro parametr přístupovou metodu.

Definice je uvedena na řádku 28 v souboru msettings.cpp.

28 {
29 QSettings::setValue(key, value);
30 sync();
31}

◆ value()

QVariant MSettings::value ( const QString & key,
const QVariant & defaultValue = QVariant() ) const
protected

Vrátí hodnotu z konfiguračního souboru.

Metoda je přetížená z QSettings::value() a přesunutá do protected, aby nebylo možné zavolat tuto metodu přímo z aplikace. Vždy je nutné doplnit pro parametr přístupovou metodu.

Definice je uvedena na řádku 34 v souboru msettings.cpp.

34 {
35 return QSettings::value(key, defaultValue);
36}

Dokumentace datových členů

◆ DbFilesDirectory

const char* MSettings::DbFilesDirectory = "db/files-directory"
staticconstexpr

Definice je uvedena na řádku 136 v souboru msettings.h.

◆ DbName

const char* MSettings::DbName = "db/name"
staticconstexpr

Definice je uvedena na řádku 132 v souboru msettings.h.

◆ DbPassword

const char* MSettings::DbPassword = "db/password"
staticconstexpr

Definice je uvedena na řádku 134 v souboru msettings.h.

◆ DbPlugin

const char* MSettings::DbPlugin = "db/plugin"
staticconstexpr

Definice je uvedena na řádku 130 v souboru msettings.h.

◆ DbPort

const char* MSettings::DbPort = "db/port"
staticconstexpr

Definice je uvedena na řádku 135 v souboru msettings.h.

◆ DbServer

const char* MSettings::DbServer = "db/server"
staticconstexpr

Definice je uvedena na řádku 131 v souboru msettings.h.

◆ DbUser

const char* MSettings::DbUser = "db/user"
staticconstexpr

Definice je uvedena na řádku 133 v souboru msettings.h.

◆ HttpdAuthorize

const char* MSettings::HttpdAuthorize = "httpd/authorize"
staticconstexpr

Definice je uvedena na řádku 139 v souboru msettings.h.

◆ HttpdPassword

const char* MSettings::HttpdPassword = "httpd/password"
staticconstexpr

Definice je uvedena na řádku 138 v souboru msettings.h.

◆ HttpdSessionsFile

const char* MSettings::HttpdSessionsFile = "httpd/sessions-file"
staticconstexpr

Definice je uvedena na řádku 140 v souboru msettings.h.

◆ HttpdUser

const char* MSettings::HttpdUser = "httpd/user"
staticconstexpr

Definice je uvedena na řádku 137 v souboru msettings.h.

◆ LogAll

const char* MSettings::LogAll = "log/all"
staticconstexpr

Definice je uvedena na řádku 126 v souboru msettings.h.

◆ LogExclude

const char* MSettings::LogExclude = "log/exclude"
staticconstexpr

Definice je uvedena na řádku 128 v souboru msettings.h.

◆ LogFile

const char* MSettings::LogFile = "log/file"
staticconstexpr

Definice je uvedena na řádku 129 v souboru msettings.h.

◆ LogInclude

const char* MSettings::LogInclude = "log/include"
staticconstexpr

Definice je uvedena na řádku 127 v souboru msettings.h.

◆ ServerDescription

const char* MSettings::ServerDescription = "server/description"
staticconstexpr

Definice je uvedena na řádku 142 v souboru msettings.h.

◆ ServerEnableRemoteRestart

const char* MSettings::ServerEnableRemoteRestart = "server/enable-remote-restart"
staticconstexpr

Definice je uvedena na řádku 143 v souboru msettings.h.

◆ ServerName

const char* MSettings::ServerName = "server/name"
staticconstexpr

Definice je uvedena na řádku 141 v souboru msettings.h.


Dokumentace pro tuto třídu byla vygenerována z následujících souborů: