Lomiri
LightDMService.qml
1 /*
2  * Copyright (C) 2015 Canonical Ltd.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; version 3.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 /**
18  * Lightweight wrapper that allows for loading integrated/real LightDM
19  * plugin
20  */
21 
22 pragma Singleton
23 import QtQuick 2.4
24 
25 Loader {
26  id: loader
27 
28  property var greeter: d.valid ? loader.item.greeter : null
29  property var infographic: d.valid ? loader.item.infographic : null
30  property var prompts: d.valid ? loader.item.prompts : null
31  property var sessions: d.valid ? loader.item.sessions : null
32  property var sessionRoles: d.valid ? loader.item.sessionRoles : null
33  property var users: d.valid ? loader.item.users : null
34  property var userRoles: d.valid ? loader.item.userRoles : null
35 
36  // This trickery handles cases where applicationArguments aren't provided
37  // such as during testing
38  property var fullLightDM: {
39  if (typeof applicationArguments === "undefined" ||
40  applicationArguments.mode === "greeter") {
41  return true;
42  }
43  return false;
44  }
45 
46  source: fullLightDM ?
47  "FullLightDMImpl.qml" : "IntegratedLightDMImpl.qml"
48 
49  QtObject {
50  id: d
51 
52  property bool valid: loader.item !== null
53  }
54 }