mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
removed dead code
This commit is contained in:
parent
398db7dfe8
commit
2a5698c9d3
@ -57,49 +57,6 @@
|
|||||||
|
|
||||||
#include "rshare.h"
|
#include "rshare.h"
|
||||||
|
|
||||||
#ifdef TO_REMOVE
|
|
||||||
/* Available command-line arguments. */
|
|
||||||
#define ARG_RESET "reset" /**< Reset RsApplication's saved settings. */
|
|
||||||
#define ARG_DATADIR "datadir" /**< Directory to use for data files. */
|
|
||||||
#define ARG_LOGFILE "logfile" /**< Location of our logfile. */
|
|
||||||
#define ARG_LOGLEVEL "loglevel" /**< Log verbosity. */
|
|
||||||
#define ARG_GUISTYLE "style" /**< Argument specfying GUI style. */
|
|
||||||
#define ARG_GUISTYLESHEET "stylesheet" /**< Argument specfying GUI style. */
|
|
||||||
#define ARG_LANGUAGE "lang" /**< Argument specifying language. */
|
|
||||||
#define ARG_OPMODE_S "o" /**< OpMode (Full, NoTurtle, Gaming, Minimal) */
|
|
||||||
#define ARG_OPMODE_L "opmode" /**< OpMode (Full, NoTurtle, Gaming, Minimal) */
|
|
||||||
#define ARG_RSLINK_S "r" /**< Open RsLink with protocol retroshare:// */
|
|
||||||
#define ARG_RSLINK_L "link" /**< Open RsLink with protocol retroshare:// */
|
|
||||||
#define ARG_RSFILE_S "f" /**< Open RsFile with or without arg. */
|
|
||||||
#define ARG_RSFILE_L "rsfile" /**< Open RsFile with or without arg. */
|
|
||||||
//Other defined for server in /libretroshare/src/rsserver/rsinit.cc:351
|
|
||||||
|
|
||||||
// The arguments here can be send to a running instance.
|
|
||||||
// If the command line contains arguments not listed here, we have to start a new instance.
|
|
||||||
// For example, the user wants to start a second instance using --base-dir arg of libretroshare.
|
|
||||||
static const char* const forwardableArgs[] = {
|
|
||||||
ARG_OPMODE_S,
|
|
||||||
ARG_OPMODE_L,
|
|
||||||
ARG_RSLINK_S,
|
|
||||||
ARG_RSLINK_L,
|
|
||||||
ARG_RSFILE_S,
|
|
||||||
ARG_RSFILE_L,
|
|
||||||
NULL,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Static member variables */
|
|
||||||
QMap<QString, QString> RsApplication::_args; /**< List of command-line arguments. */
|
|
||||||
QString RsApplication::_style; /**< The current GUI style. */
|
|
||||||
QString RsApplication::_stylesheet; /**< The current GUI stylesheet. */
|
|
||||||
QString RsApplication::_language; /**< The current language. */
|
|
||||||
QString RsApplication::_dateformat; /**< The format of dates in feed items etc. */
|
|
||||||
QString RsApplication::_opmode; /**< The operating mode passed by args. */
|
|
||||||
QStringList RsApplication::_links; /**< List of links passed by arguments. */
|
|
||||||
QStringList RsApplication::_files; /**< List of files passed by arguments. */
|
|
||||||
bool RsApplication::useConfigDir;
|
|
||||||
QString RsApplication::configDir;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
QStringList RsApplication::_links; /**< List of links passed by arguments. */
|
QStringList RsApplication::_links; /**< List of links passed by arguments. */
|
||||||
QStringList RsApplication::_files; /**< List of files passed by arguments. */
|
QStringList RsApplication::_files; /**< List of files passed by arguments. */
|
||||||
@ -157,95 +114,6 @@ RsApplication::RsApplication(const RsGUIConfigOptions& conf)
|
|||||||
localServer = NULL;
|
localServer = NULL;
|
||||||
options = conf;
|
options = conf;
|
||||||
|
|
||||||
#ifdef TO_REMOVE
|
|
||||||
//Initialize connection to LocalServer to know if other process runs.
|
|
||||||
{
|
|
||||||
QString serverName = QString(TARGET);
|
|
||||||
|
|
||||||
// check if another instance is running
|
|
||||||
bool haveRunningInstance = notifyRunningInstance();
|
|
||||||
|
|
||||||
bool sendArgsToRunningInstance = haveRunningInstance;
|
|
||||||
if(args.empty())
|
|
||||||
sendArgsToRunningInstance = false;
|
|
||||||
// if we find non-forwardable args, start a new instance
|
|
||||||
for(int iCurs = 0; iCurs < args.size(); ++iCurs)
|
|
||||||
{
|
|
||||||
const char* const* argit = forwardableArgs;
|
|
||||||
bool found = false;
|
|
||||||
while(*argit && iCurs < args.size())
|
|
||||||
{
|
|
||||||
if(args.value(iCurs) == "-"+QString(*argit) || args.value(iCurs) == "--"+QString(*argit))
|
|
||||||
{
|
|
||||||
found = true;
|
|
||||||
if(argNeedsValue(*argit))
|
|
||||||
iCurs++;
|
|
||||||
}
|
|
||||||
argit++;
|
|
||||||
}
|
|
||||||
if(!found)
|
|
||||||
sendArgsToRunningInstance = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sendArgsToRunningInstance) {
|
|
||||||
// load into shared memory
|
|
||||||
QBuffer buffer;
|
|
||||||
buffer.open(QBuffer::ReadWrite);
|
|
||||||
QDataStream out(&buffer);
|
|
||||||
out << args;
|
|
||||||
int size = buffer.size();
|
|
||||||
|
|
||||||
QSharedMemory newArgs;
|
|
||||||
newArgs.setKey(serverName + "_newArgs");
|
|
||||||
if (newArgs.isAttached()) newArgs.detach();
|
|
||||||
|
|
||||||
if (!newArgs.create(size)) {
|
|
||||||
std::cerr << "(EE) RsApplication::RsApplication Unable to create shared memory segment of size:"
|
|
||||||
<< size << " error:" << newArgs.errorString().toStdString() << "." << std::endl;
|
|
||||||
#ifdef Q_OS_UNIX
|
|
||||||
std::cerr << "Look with `ipcs -m` for nattch==0 segment. And remove it with `ipcrm -m 'shmid'`." << std::endl;
|
|
||||||
//No need for windows, as it removes shared segment directly even when crash.
|
|
||||||
#endif
|
|
||||||
newArgs.detach();
|
|
||||||
::exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
newArgs.lock();
|
|
||||||
char *to = (char*)newArgs.data();
|
|
||||||
const char *from = buffer.data().data();
|
|
||||||
memcpy(to, from, qMin(newArgs.size(), size));
|
|
||||||
newArgs.unlock();
|
|
||||||
|
|
||||||
std::cerr << "RsApplication::RsApplication waitForConnected to other instance." << std::endl;
|
|
||||||
if(notifyRunningInstance())
|
|
||||||
{
|
|
||||||
newArgs.detach();
|
|
||||||
std::cerr << "RsApplication::RsApplication Arguments was sended." << std::endl
|
|
||||||
<< " To disable it, in Options - General - Misc," << std::endl
|
|
||||||
<< " uncheck \"Use Local Server to get new Arguments\"." << std::endl;
|
|
||||||
::exit(EXIT_SUCCESS); // Terminate the program using STDLib's exit function
|
|
||||||
}
|
|
||||||
else
|
|
||||||
std::cerr << "RsApplication::RsApplication failed to connect to other instance." << std::endl;
|
|
||||||
newArgs.detach();
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!haveRunningInstance)
|
|
||||||
{
|
|
||||||
// No main process exists
|
|
||||||
// Or started without arguments
|
|
||||||
// So we start a Local Server to listen for connections from new process
|
|
||||||
localServer= new QLocalServer();
|
|
||||||
QObject::connect(localServer, SIGNAL(newConnection()), this, SLOT(slotConnectionEstablished()));
|
|
||||||
updateLocalServer();
|
|
||||||
// clear out any old arguments (race condition?)
|
|
||||||
QSharedMemory newArgs;
|
|
||||||
newArgs.setKey(QString(TARGET) + "_newArgs");
|
|
||||||
if(newArgs.attach(QSharedMemory::ReadWrite))
|
|
||||||
newArgs.detach();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// So we start a Local Server to listen for connections from new process
|
// So we start a Local Server to listen for connections from new process
|
||||||
localServer= new QLocalServer();
|
localServer= new QLocalServer();
|
||||||
QObject::connect(localServer, SIGNAL(newConnection()), this, SLOT(slotConnectionEstablished()));
|
QObject::connect(localServer, SIGNAL(newConnection()), this, SLOT(slotConnectionEstablished()));
|
||||||
@ -281,11 +149,6 @@ RsApplication::RsApplication(const RsGUIConfigOptions& conf)
|
|||||||
connect(timer, SIGNAL(timeout()), this, SIGNAL(minuteTick()));
|
connect(timer, SIGNAL(timeout()), this, SIGNAL(minuteTick()));
|
||||||
timer->start();
|
timer->start();
|
||||||
|
|
||||||
#ifdef TO_REMOVE
|
|
||||||
/* Read in all our command-line arguments. */
|
|
||||||
parseArguments(args);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Check if we're supposed to reset our config before proceeding. */
|
/* Check if we're supposed to reset our config before proceeding. */
|
||||||
if (options.optResetParams)
|
if (options.optResetParams)
|
||||||
{
|
{
|
||||||
@ -304,13 +167,6 @@ RsApplication::RsApplication(const RsGUIConfigOptions& conf)
|
|||||||
log_output.setLogLevel(Log::stringToLogLevel(options.logLevel));
|
log_output.setLogLevel(Log::stringToLogLevel(options.logLevel));
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TO_REMOVE
|
|
||||||
/* config directory */
|
|
||||||
useConfigDir = false;
|
|
||||||
if (!conf.optBaseDir.empty())
|
|
||||||
setConfigDirectory(QString::fromStdString(conf.optBaseDir));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/** Initialize support for language translations. */
|
/** Initialize support for language translations. */
|
||||||
//LanguageSupport::initialize();
|
//LanguageSupport::initialize();
|
||||||
|
|
||||||
@ -409,198 +265,6 @@ RsApplication::onEventLoopStarted()
|
|||||||
emit running();
|
emit running();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TO_REMOVE
|
|
||||||
/** Display usage information regarding command-line arguments. */
|
|
||||||
/*void
|
|
||||||
RsApplication::printUsage(QString errmsg)
|
|
||||||
{
|
|
||||||
QTextStream out(stdout);*/
|
|
||||||
|
|
||||||
/* If there was an error message, print it out. */
|
|
||||||
/*if (!errmsg.isEmpty()) {
|
|
||||||
out << "** " << errmsg << " **" << endl << endl;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/* Now print the application usage */
|
|
||||||
//out << "Usage: " << endl;
|
|
||||||
//out << "\t" << qApp->arguments().at(0) << " [options]" << endl;
|
|
||||||
|
|
||||||
/* And available options */
|
|
||||||
//out << endl << "Available Options:" << endl;
|
|
||||||
//out << "\t-"ARG_RESET"\t\tResets ALL stored RsApplication settings." << endl;
|
|
||||||
//out << "\t-"ARG_DATADIR"\tSets the directory RsApplication uses for data files"<< endl;
|
|
||||||
//out << "\t-"ARG_GUISTYLE"\t\tSets RsApplication's interface style." << endl;
|
|
||||||
//out << "\t-"ARG_GUISTYLESHEET"\t\tSets RsApplication's stylesheet." << endl;
|
|
||||||
//out << "\t\t\t[" << QStyleFactory::keys().join("|") << "]" << endl;
|
|
||||||
//out << "\t-"ARG_LANGUAGE"\t\tSets RsApplication's language." << endl;
|
|
||||||
//out << "\t\t\t[" << LanguageSupport::languageCodes().join("|") << "]" << endl;
|
|
||||||
//}
|
|
||||||
|
|
||||||
/** Displays usage information for command-line args. */
|
|
||||||
void
|
|
||||||
RsApplication::showUsageMessageBox()
|
|
||||||
{
|
|
||||||
QString usage;
|
|
||||||
QTextStream out(&usage);
|
|
||||||
|
|
||||||
out << "Available Options:" << endl;
|
|
||||||
out << "<table>";
|
|
||||||
//out << trow(tcol("-"ARG_HELP) +
|
|
||||||
// tcol(tr("Displays this usage message and exits.")));
|
|
||||||
out << trow(tcol("-" ARG_RESET) +
|
|
||||||
tcol(tr("Resets ALL stored RetroShare settings.")));
|
|
||||||
out << trow(tcol("-" ARG_DATADIR" <dir>") +
|
|
||||||
tcol(tr("Sets the directory RetroShare uses for data files.")));
|
|
||||||
out << trow(tcol("-" ARG_LOGFILE" <" + tr("filename") + ">") +
|
|
||||||
tcol(tr("Sets the name and location of RetroShare's logfile.")));
|
|
||||||
out << trow(tcol("-" ARG_LOGLEVEL" <" + tr("level") + ">") +
|
|
||||||
tcol(tr("Sets the verbosity of RetroShare's logging.") +
|
|
||||||
"<br>[" + Log::logLevels().join("|") +"]"));
|
|
||||||
out << trow(tcol("-" ARG_GUISTYLE" <" + tr("style") +">") +
|
|
||||||
tcol(tr("Sets RetroShare's interface style.") +
|
|
||||||
"<br>[" + QStyleFactory::keys().join("|") + "]"));
|
|
||||||
out << trow(tcol("-" ARG_GUISTYLESHEET" <" + tr("stylesheet") + ">") +
|
|
||||||
tcol(tr("Sets RetroShare's interface stylesheets.")));
|
|
||||||
out << trow(tcol("-" ARG_LANGUAGE" <" + tr("language") + ">") +
|
|
||||||
tcol(tr("Sets RetroShare's language.") +
|
|
||||||
"<br>[" + LanguageSupport::languageCodes().join("|") + "]"));
|
|
||||||
out << trow(tcol("--" ARG_OPMODE_L" <" + tr("opmode") + ">") +
|
|
||||||
tcol(tr("Sets RetroShare's operating mode.") +
|
|
||||||
"<br>[full|noturtle|gaming|minimal]"));
|
|
||||||
out << trow(tcol("-" ARG_RSLINK_L" <" + tr("RsLinkURL") + ">") +
|
|
||||||
tcol(tr("Open RsLink with protocol retroshare://")));
|
|
||||||
out << trow(tcol("-" ARG_RSFILE_L" <" + tr("filename") + ">") +
|
|
||||||
tcol(tr("Open RsFile with or without arg.")));
|
|
||||||
out << "</table>";
|
|
||||||
|
|
||||||
VMessageBox::information(0,
|
|
||||||
tr("RetroShare GUI Usage Information"), usage, VMessageBox::Ok);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Returns true if the specified argument expects a value. */
|
|
||||||
bool
|
|
||||||
RsApplication::argNeedsValue(const QString &argName)
|
|
||||||
{
|
|
||||||
return (
|
|
||||||
argName == ARG_DATADIR ||
|
|
||||||
argName == ARG_LOGFILE ||
|
|
||||||
argName == ARG_LOGLEVEL ||
|
|
||||||
argName == ARG_GUISTYLE ||
|
|
||||||
argName == ARG_GUISTYLESHEET ||
|
|
||||||
argName == ARG_LANGUAGE ||
|
|
||||||
argName == ARG_OPMODE_S ||
|
|
||||||
argName == ARG_OPMODE_L ||
|
|
||||||
argName == ARG_RSLINK_S ||
|
|
||||||
argName == ARG_RSLINK_L ||
|
|
||||||
argName == ARG_RSFILE_S ||
|
|
||||||
argName == ARG_RSFILE_L );
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Parses the list of command-line arguments for their argument names and
|
|
||||||
* values. */
|
|
||||||
void
|
|
||||||
RsApplication::parseArguments(QStringList args, bool firstRun)
|
|
||||||
{
|
|
||||||
QString arg, argl, value;
|
|
||||||
std::vector<const char *> argv;
|
|
||||||
for(auto l:args)
|
|
||||||
argv.push_back((const char *)l.data());
|
|
||||||
|
|
||||||
/* Loop through all command-line args/values and put them in a map */
|
|
||||||
for (int iCurs = 0; iCurs < args.size(); ++iCurs) {
|
|
||||||
/* Get the argument name and set a blank value */
|
|
||||||
arg = args.at(iCurs);//.toLower(); Need Upper case for file name.
|
|
||||||
argl = arg.toLower();
|
|
||||||
if (argl == "empty") continue;
|
|
||||||
value = "";
|
|
||||||
|
|
||||||
/* Check if it starts with a - or -- */
|
|
||||||
if (arg.startsWith("-")) {
|
|
||||||
arg = arg.mid((arg.startsWith("--") ? 2 : 1));
|
|
||||||
/* Check if it takes a value and there is one on the command-line */
|
|
||||||
if (iCurs < args.size()-1 && argNeedsValue(arg)) {
|
|
||||||
value = args.at(++iCurs);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
/* Check if links or files without arg */
|
|
||||||
if (argl.startsWith("retroshare://")) {
|
|
||||||
value = arg;
|
|
||||||
arg = ARG_RSLINK_L;
|
|
||||||
} else {
|
|
||||||
if (QFile(arg).exists()) {
|
|
||||||
value = arg;
|
|
||||||
arg = ARG_RSFILE_L;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* handle opmode that could be change while running.*/
|
|
||||||
QString omValue = QString(value).prepend(";").append(";").toLower();
|
|
||||||
QString omValues = QString(";full;noturtle;gaming;minimal;");
|
|
||||||
if ((arg == ARG_OPMODE_S || arg == ARG_OPMODE_L )
|
|
||||||
&& omValues.contains(omValue)) {
|
|
||||||
_opmode = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Don't send theses argument to _args map to allow multiple. */
|
|
||||||
if (arg == ARG_RSLINK_S || arg == ARG_RSLINK_L) {
|
|
||||||
_links.append(value);
|
|
||||||
} else if (arg == ARG_RSFILE_S || arg == ARG_RSFILE_L) {
|
|
||||||
_files.append(value);
|
|
||||||
} else if (firstRun) {
|
|
||||||
/* Place this arg/value in the map only first time*/
|
|
||||||
_args.insert(arg, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Verifies that all specified arguments were valid. */
|
|
||||||
bool
|
|
||||||
RsApplication::validateArguments(QString &errmsg)
|
|
||||||
{
|
|
||||||
/* Check for a writable log file */
|
|
||||||
if (_args.contains(ARG_LOGFILE) && !_log.isOpen()) {
|
|
||||||
errmsg = tr("Unable to open log file '%1': %2")
|
|
||||||
.arg( _args.value(ARG_LOGFILE)
|
|
||||||
, _log.errorString());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
/* Check for a valid log level */
|
|
||||||
if (_args.contains(ARG_LOGLEVEL) &&
|
|
||||||
!Log::logLevels().contains(_args.value(ARG_LOGLEVEL))) {
|
|
||||||
errmsg = tr("Invalid log level specified:")+" " + _args.value(ARG_LOGLEVEL);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
/* Check for a valid GUI style */
|
|
||||||
if (_args.contains(ARG_GUISTYLE) &&
|
|
||||||
!QStyleFactory::keys().contains(_args.value(ARG_GUISTYLE),
|
|
||||||
Qt::CaseInsensitive)) {
|
|
||||||
errmsg = tr("Invalid GUI style specified:")+" " + _args.value(ARG_GUISTYLE);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
/* Check for a language that Retroshare recognizes. */
|
|
||||||
if (_args.contains(ARG_LANGUAGE) &&
|
|
||||||
!LanguageSupport::isValidLanguageCode(_args.value(ARG_LANGUAGE))) {
|
|
||||||
errmsg = tr("Invalid language code specified:")+" " + _args.value(ARG_LANGUAGE);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
/* Check for an opmode that Retroshare recognizes. */
|
|
||||||
if (_args.contains(ARG_OPMODE_S) &&
|
|
||||||
!QString(";full;noturtle;gaming;minimal;").contains(QString(_args.value(ARG_OPMODE_S)).prepend(";").append(";").toLower())) {
|
|
||||||
errmsg = tr("Invalid operating mode specified:")+" " + _args.value(ARG_OPMODE_S);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
/* Check for an opmode that Retroshare recognizes. */
|
|
||||||
if (_args.contains(ARG_OPMODE_L) &&
|
|
||||||
!QString(";full;noturtle;gaming;minimal;").contains(QString(_args.value(ARG_OPMODE_L)).prepend(";").append(";").toLower())) {
|
|
||||||
errmsg = tr("Invalid operating mode specified:")+" " + _args.value(ARG_OPMODE_L);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/** Sets the translation RetroShare will use. If one was specified on the
|
/** Sets the translation RetroShare will use. If one was specified on the
|
||||||
* command-line, we will use that. Otherwise, we'll check to see if one was
|
* command-line, we will use that. Otherwise, we'll check to see if one was
|
||||||
* saved previously. If not, we'll default to one appropriate for the system
|
* saved previously. If not, we'll default to one appropriate for the system
|
||||||
|
@ -81,21 +81,6 @@ public:
|
|||||||
/** Return the version info */
|
/** Return the version info */
|
||||||
static QString retroshareVersion(bool=true);
|
static QString retroshareVersion(bool=true);
|
||||||
|
|
||||||
#ifdef TO_REMOVE
|
|
||||||
/** Return the map of command-line arguments and values. */
|
|
||||||
static QMap<QString, QString> arguments() { return _args; }
|
|
||||||
/** Parse the list of command-line arguments. */
|
|
||||||
static void parseArguments(QStringList args, bool firstRun = true);
|
|
||||||
/** Validates that all arguments were well-formed. */
|
|
||||||
bool validateArguments(QString &errmsg);
|
|
||||||
/** Prints usage information to the given text stream. */
|
|
||||||
//void printUsage(QString errmsg = QString());
|
|
||||||
/** Displays usage information for command-line args. */
|
|
||||||
static void showUsageMessageBox();
|
|
||||||
/** Returns true if the user wants to see usage information. */
|
|
||||||
static bool showUsage();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/** Sets the current language. */
|
/** Sets the current language. */
|
||||||
static bool setLanguage(QString languageCode = QString());
|
static bool setLanguage(QString languageCode = QString());
|
||||||
/** Sets the current locale. */
|
/** Sets the current locale. */
|
||||||
|
Loading…
Reference in New Issue
Block a user