#include <utility>
-#include <QtScript>
-
#include "core.h"
#include "corebacklogmanager.h"
#include "corebuffersyncer.h"
, _sessionEventProcessor(new CoreSessionEventProcessor(this))
, _ctcpParser(new CtcpParser(this))
, _ircParser(new IrcParser(this))
- , scriptEngine(new QScriptEngine(this))
, _processMessages(false)
, _ignoreListManager(this)
, _highlightRuleManager(this)
_coreInfo->setCoreData(data);
loadSettings();
- initScriptEngine();
eventManager()->registerObject(ircParser(), EventManager::NormalPriority);
eventManager()->registerObject(sessionEventProcessor(), EventManager::HighPriority); // needs to process events *before* the stringifier!
// migrate to db
QList<IdentityId> ids = s.identityIds();
- QList<NetworkInfo> networkInfos = Core::networks(user());
+ std::vector<NetworkInfo> networkInfos = Core::networks(user());
for (IdentityId id : ids) {
CoreIdentity identity(s.identity(id));
IdentityId newId = Core::createIdentity(user(), identity);
- QList<NetworkInfo>::iterator networkIter = networkInfos.begin();
+ auto networkIter = networkInfos.begin();
while (networkIter != networkInfos.end()) {
if (networkIter->identity == id) {
networkIter->identity = newId;
void CoreSession::restoreSessionState()
{
- QList<NetworkId> nets = Core::connectedNetworks(user());
- CoreNetwork* net = nullptr;
- for (NetworkId id : nets) {
- net = network(id);
+ for (NetworkId id : Core::connectedNetworks(user())) {
+ auto net = network(id);
Q_ASSERT(net);
net->connectToIrc();
}
});
}
-QList<BufferInfo> CoreSession::buffers() const
+std::vector<BufferInfo> CoreSession::buffers() const
{
return Core::requestBuffers(user());
}
return Protocol::SessionState(identities, bufferInfos, networkIds);
}
-void CoreSession::initScriptEngine()
-{
- signalProxy()->attachSlot(SIGNAL(scriptRequest(QString)), this, &CoreSession::scriptRequest);
- signalProxy()->attachSignal(this, &CoreSession::scriptResult);
-
- // FIXME
- // QScriptValue storage_ = scriptEngine->newQObject(storage);
- // scriptEngine->globalObject().setProperty("storage", storage_);
-}
-
-void CoreSession::scriptRequest(QString script)
-{
- emit scriptResult(scriptEngine->evaluate(script).toString());
-}
-
/*** Identity Handling ***/
void CoreSession::createIdentity(const Identity& identity, const QVariantMap& additional)
{
void CoreSession::destroyNetwork(NetworkId id)
{
- QList<BufferId> removedBuffers = Core::requestBufferIdsForNetwork(user(), id);
Network* net = _networks.take(id);
if (net && Core::removeNetwork(user(), id)) {
// make sure that all unprocessed RawMessages from this network are removed
}
}
// remove buffers from syncer
- for (BufferId bufferId : removedBuffers) {
+ for (BufferId bufferId : Core::requestBufferIdsForNetwork(user(), id)) {
_bufferSyncer->removeBuffer(bufferId);
}
emit networkRemoved(id);