~gerboland/+junk/qml-demo-shell

« back to all changes in this revision

Viewing changes to unity-mir/modules/Unity/ApplicationManager/application_manager.cpp

  • Committer: gerboland
  • Date: 2013-07-16 22:52:08 UTC
  • Revision ID: gerry.boland@canonical.com-20130716225208-5k98k7vm7kx1qr7h
Refactor to make use of QML plugins

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//local
1
2
#include "application_manager.h"
2
3
#include "application_list_model.h"
3
4
#include "application.h"
4
5
#include "desktopfilereader.h"
5
 
#include "logging.h"
6
6
 
 
7
// unity-mir
 
8
#include "qmirserverapplication.h"
7
9
#include "shellserverconfiguration.h"
8
10
#include "sessionlistener.h"
 
11
#include "logging.h"
9
12
 
 
13
// mir
10
14
#include <mir/shell/session_manager.h>
11
15
 
12
 
#include <QDebug>
 
16
// qt
 
17
#include <QCoreApplication>
13
18
#include <QProcess>
14
19
 
15
20
#define USE_UPSTART 0
18
23
  #include <pwd.h>
19
24
#endif
20
25
 
21
 
ApplicationManager::ApplicationManager(ShellServerConfiguration* server, QObject *parent)
 
26
ApplicationManager::ApplicationManager(QObject *parent)
22
27
:   QObject(parent)
23
28
,   m_mainStageApplications(new ApplicationListModel())
24
29
,   m_mainStageFocusedApplication(NULL)
25
 
,   m_mirServer(server)
26
30
{
27
31
    DLOG("ApplicationManager::ApplicationManager (this=%p)", this);
28
 
    qRegisterMetaType<ApplicationManager*>("ApplicationManager*"); //need if queueing signals
 
32
 
 
33
    QMirServerApplication* mirServerApplication = static_cast<QMirServerApplication*>(QCoreApplication::instance());
 
34
    LOG_IF(mirServerApplication != NULL, "Need to use QMirServerApplication");
 
35
    m_mirServer = mirServerApplication->server();
29
36
 
30
37
    std::shared_ptr<SessionListener> sessionListener
31
38
            = std::dynamic_pointer_cast<SessionListener>(m_mirServer->the_shell_session_listener());