Fixed utf8 issue with avatar cache and server logging.

This commit is contained in:
lotodore
2007-12-11 19:35:02 +00:00
parent 191f2f7b25
commit aa07ae1741
13 changed files with 35 additions and 5 deletions
-2
View File
@@ -38,8 +38,6 @@
using namespace std;
QtToolsInterface *CreateQtToolsWrapper();
ConfigFile::ConfigFile(int argc, char **argv) : noWriteAccess(0)
{
@@ -37,6 +37,12 @@ NonQtHelper::stringToUtf8(const std::string &myString)
return ConvHelper::NativeToUtf8(myString);
}
std::string
NonQtHelper::stringFromUtf8(const std::string &myString)
{
return ConvHelper::Utf8ToNative(myString);
}
std::string
NonQtHelper::getDefaultLanguage()
{
@@ -35,6 +35,7 @@ public:
~NonQtHelper();
std::string stringToUtf8(const std::string &);
std::string stringFromUtf8(const std::string &);
std::string getDefaultLanguage();
std::string getDataPathStdString(const char *argv0);
+1
View File
@@ -45,6 +45,7 @@ NonQtToolsWrapper::~NonQtToolsWrapper()
}
std::string NonQtToolsWrapper::stringToUtf8(const std::string &myString) { return myQtHelper->stringToUtf8(myString); }
std::string NonQtToolsWrapper::stringFromUtf8(const std::string &myString) { return myQtHelper->stringFromUtf8(myString); }
std::string NonQtToolsWrapper::getDefaultLanguage() { return myQtHelper->getDefaultLanguage(); }
std::string NonQtToolsWrapper::getDataPathStdString(const char * argv0) { return myQtHelper->getDataPathStdString(argv0); }
+1
View File
@@ -33,6 +33,7 @@ public:
~NonQtToolsWrapper();
std::string stringToUtf8(const std::string &myString);
std::string stringFromUtf8(const std::string &myString);
std::string getDefaultLanguage();
std::string getDataPathStdString(const char *argv0);
+6
View File
@@ -31,6 +31,12 @@ std::string QtHelper::stringToUtf8(const std::string &myString) {
return myUtf8String;
}
std::string QtHelper::stringFromUtf8(const std::string &myString) {
QString tmpString = QString::fromUtf8(myString.c_str());
return tmpString.toStdString();
}
std::string QtHelper::getDefaultLanguage() { return QLocale::system().name().toStdString(); }
std::string QtHelper::getDataPathStdString(const char * /*argv0*/)
+1
View File
@@ -29,6 +29,7 @@ public:
~QtHelper();
std::string stringToUtf8(const std::string &);
std::string stringFromUtf8(const std::string &);
std::string getDefaultLanguage();
std::string getDataPathStdString(const char *argv0);
+1
View File
@@ -45,6 +45,7 @@ QtToolsWrapper::~QtToolsWrapper()
}
std::string QtToolsWrapper::stringToUtf8(const std::string &myString) { return myQtHelper->stringToUtf8(myString); }
std::string QtToolsWrapper::stringFromUtf8(const std::string &myString) { return myQtHelper->stringFromUtf8(myString); }
std::string QtToolsWrapper::getDefaultLanguage() { return myQtHelper->getDefaultLanguage(); }
std::string QtToolsWrapper::getDataPathStdString(const char * argv0) { return myQtHelper->getDataPathStdString(argv0); }
+1
View File
@@ -34,6 +34,7 @@ public:
~QtToolsWrapper();
std::string stringToUtf8(const std::string &myString);
std::string stringFromUtf8(const std::string &myString);
std::string getDefaultLanguage();
std::string getDataPathStdString(const char *argv0);
+3
View File
@@ -28,10 +28,13 @@ public:
//qthelper.cpp
virtual std::string stringToUtf8(const std::string &) =0;
virtual std::string stringFromUtf8(const std::string &) =0;
virtual std::string getDefaultLanguage() =0;
virtual std::string getDataPathStdString(const char *argv0) =0;
};
QtToolsInterface *CreateQtToolsWrapper();
#endif
+4 -1
View File
@@ -21,11 +21,13 @@
#include "session.h"
#include "configfile.h"
#include <qttoolsinterface.h>
#include <gui/generic/serverguiwrapper.h>
#include <net/socket_startup.h>
#include <core/loghelper.h>
#include <core/thread.h>
#include <memory>
#include <csignal>
#ifdef _MSC_VER
@@ -71,9 +73,10 @@ main(int argc, char *argv[])
// _CrtSetBreakAlloc(4772);
auto_ptr<QtToolsInterface> myQtToolsInterface(CreateQtToolsWrapper());
//create defaultconfig
ConfigFile *myConfig = new ConfigFile(argc, argv);
loghelper_init(myConfig->readConfigString("LogDir"));
loghelper_init(myQtToolsInterface->stringFromUtf8(myConfig->readConfigString("LogDir")));
// TODO: Hack
#ifndef _WIN32
+8 -2
View File
@@ -21,6 +21,7 @@
#include "game.h"
#include "guiinterface.h"
#include "configfile.h"
#include <qttoolsinterface.h>
#include <localenginefactory.h>
#include <clientenginefactory.h>
#include <net/clientthread.h>
@@ -41,6 +42,7 @@ Session::Session(GuiInterface *g, ConfigFile *c)
: currentGameNum(0), myNetClient(NULL), myNetServer(NULL), myClientIrcThread(NULL),
myGui(g), myConfig(c), myGameType(GAME_TYPE_NONE)
{
myQtToolsInterface = CreateQtToolsWrapper();
}
@@ -50,13 +52,17 @@ Session::~Session()
terminateNetworkServer();
delete myConfig;
myConfig = 0;
delete myQtToolsInterface;
myQtToolsInterface = 0;
}
bool Session::init()
{
myAvatarManager.reset(new AvatarManager);
bool retVal = myAvatarManager->Init(myConfig->readConfigString("AppDataDir"), myConfig->readConfigString("CacheDir"));
addOwnAvatar(myConfig->readConfigString("MyAvatar"));
bool retVal = myAvatarManager->Init(
myQtToolsInterface->stringFromUtf8(myConfig->readConfigString("AppDataDir")),
myQtToolsInterface->stringFromUtf8(myConfig->readConfigString("CacheDir")));
addOwnAvatar(myQtToolsInterface->stringFromUtf8(myConfig->readConfigString("MyAvatar")));
myAvatarManager->RemoveOldAvatarCacheEntries();
return retVal;
}
+2
View File
@@ -33,6 +33,7 @@ class ClientThread;
class ServerManager;
class IrcThread;
class AvatarManager;
class QtToolsInterface;
class Session{
public:
@@ -106,6 +107,7 @@ private:
GuiInterface *myGui;
ConfigFile *myConfig;
GameType myGameType;
QtToolsInterface *myQtToolsInterface;
};