Merge branch 'master' of https://github.com/hanzz/libtransport
This commit is contained in:
commit
5ec1ad4dd4
5 changed files with 23 additions and 5 deletions
|
@ -289,6 +289,13 @@ class SpectrumNetworkPlugin : public NetworkPlugin {
|
|||
i++;
|
||||
}
|
||||
g_strfreev (keys);
|
||||
|
||||
char* contents;
|
||||
gsize length;
|
||||
gboolean ret = g_file_get_contents ("gfire.cfg", &contents, &length, NULL);
|
||||
if (ret) {
|
||||
purple_account_set_int(account, "version", fromString<int>(std::string(contents, length)));
|
||||
}
|
||||
}
|
||||
|
||||
void handleLoginRequest(const std::string &user, const std::string &legacyName, const std::string &password) {
|
||||
|
@ -348,6 +355,10 @@ class SpectrumNetworkPlugin : public NetworkPlugin {
|
|||
void handleLogoutRequest(const std::string &user, const std::string &legacyName) {
|
||||
PurpleAccount *account = m_sessions[user];
|
||||
if (account) {
|
||||
if (purple_account_get_int(account, "version", 0) != 0) {
|
||||
std::string data = stringOf(purple_account_get_int(account, "version", 0));
|
||||
g_file_set_contents ("gfire.cfg", data.c_str(), data.size(), NULL);
|
||||
}
|
||||
// VALGRIND_DO_LEAK_CHECK;
|
||||
m_sessions.erase(user);
|
||||
purple_account_disconnect(account);
|
||||
|
|
|
@ -50,7 +50,7 @@ typedef boost::program_options::variables_map Variables;
|
|||
class Config {
|
||||
public:
|
||||
/// Constructor.
|
||||
Config() {}
|
||||
Config(int argc = 0, char **argv = NULL) : m_argc(argc), m_argv(argv) {}
|
||||
|
||||
/// Destructor
|
||||
virtual ~Config() {}
|
||||
|
@ -99,6 +99,8 @@ class Config {
|
|||
boost::signal<void ()> onConfigReloaded;
|
||||
|
||||
private:
|
||||
int m_argc;
|
||||
char **m_argv;
|
||||
Variables m_variables;
|
||||
std::map<std::string, std::string> m_unregistered;
|
||||
std::string m_file;
|
||||
|
|
|
@ -115,7 +115,7 @@ static void daemonize(const char *cwd, const char *lock_file) {
|
|||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
Config config;
|
||||
Config config(argc, argv);
|
||||
|
||||
boost::program_options::variables_map vm;
|
||||
bool no_daemon = false;
|
||||
|
|
|
@ -8,13 +8,13 @@ backend_host=localhost
|
|||
pidfile=./test.pid
|
||||
# < this option doesn't work yet
|
||||
#backend_port=10001
|
||||
admin_jid=admin@localhost
|
||||
#admin_jid=admin@localhost
|
||||
admin_password=test
|
||||
#cert=server.pfx #patch to PKCS#12 certificate
|
||||
#cert_password=test #password to that certificate if any
|
||||
users_per_backend=10
|
||||
#backend=../..//backends/libpurple/spectrum2_libpurple_backend
|
||||
backend=../../backends/template/template_backend.py
|
||||
backend=../..//backends/libpurple/spectrum2_libpurple_backend
|
||||
#backend=../../backends/template/template_backend.py
|
||||
protocol=prpl-jabber
|
||||
#protocol=prpl-msn
|
||||
#protocol=any
|
||||
|
|
|
@ -189,6 +189,11 @@ bool Config::load(std::istream &ifs, boost::program_options::options_description
|
|||
}
|
||||
}
|
||||
|
||||
// Load configs passed by command line
|
||||
if (m_argc != 0 && m_argv) {
|
||||
store(parse_command_line(m_argc, m_argv, opts), m_variables);
|
||||
}
|
||||
|
||||
store(parsed, m_variables);
|
||||
notify(m_variables);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue