+
+void SessionThread::addInternalClientToSession(InternalConnection *connection)
+{
+ connection->setParent(0);
+ connection->moveToThread(session()->thread());
+ emit addInternalClient(connection);
+}
+
+
+void SessionThread::run()
+{
+ _session = new CoreSession(user(), _restoreState);
+ connect(this, SIGNAL(addRemoteClient(RemoteConnection*)), _session, SLOT(addClient(RemoteConnection*)));
+ connect(this, SIGNAL(addInternalClient(InternalConnection*)), _session, SLOT(addClient(InternalConnection*)));
+ connect(_session, SIGNAL(sessionState(QVariant)), Core::instance(), SIGNAL(sessionState(QVariant)));
+ emit initialized();
+ exec();
+ delete _session;
+}