Updating IContext to our current style and making it less reliant on macros.

Updating code that uses IContext to a more conformant pattern of usage.
This commit is contained in:
Mathew Sutcliffe
2013-10-05 18:12:16 +01:00
parent 01af31d4da
commit e607121cc4
26 changed files with 235 additions and 200 deletions

View File

@@ -4,6 +4,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "blackcore/network_vatlib.h"
#include "blackmisc/context.h"
#include "client.h"
#include "reader.h"
#include <QCoreApplication>
@@ -12,11 +13,15 @@
int main(int argc, char *argv[])
{
QCoreApplication app (argc, argv);
BlackMisc::CApplicationContext myApplicationContext;
BlackMisc::IContext::getInstance().setSingleton(new BlackMisc::CDebug());
BlackMisc::IContext::getInstance().setSingleton<BlackCore::INetwork>(new BlackCore::NetworkVatlib());
Client client;
BlackMisc::CApplicationContext ctx;
BlackMisc::IContext::setInstance(ctx);
BlackMisc::CDebug debug;
ctx.setObject(debug);
BlackCore::NetworkVatlib net;
ctx.setObject<BlackCore::INetwork>(net);
Client client(ctx);
LineReader reader;
QObject::connect(&reader, SIGNAL(command(const QString&)), &client, SLOT(command(const QString&)));
QObject::connect(&client, SIGNAL(quit()), &reader, SLOT(terminate()));