83
request_cb (const gchar *request)
83
request_cb (const gchar *name, GHashTable *params)
93
r = g_strdup_printf ("%s AUTHENTICATE", greeter_id);
94
if (strcmp (request, r) == 0)
95
greeter->authenticate ();
98
r = g_strdup_printf ("%s AUTHENTICATE USERNAME=", greeter_id);
99
if (g_str_has_prefix (request, r))
100
greeter->authenticate (request + strlen (r));
103
r = g_strdup_printf ("%s AUTHENTICATE-GUEST", greeter_id);
104
if (strcmp (request, r) == 0)
93
if (strcmp (name, "AUTHENTICATE") == 0)
95
if (g_hash_table_lookup (params, "USERNAME"))
96
greeter->authenticate ((const gchar *) g_hash_table_lookup (params, "USERNAME"));
98
greeter->authenticate ();
101
else if (strcmp (name, "AUTHENTICATE-GUEST") == 0)
105
102
greeter->authenticateAsGuest ();
108
r = g_strdup_printf ("%s AUTHENTICATE-AUTOLOGIN", greeter_id);
109
if (strcmp (request, r) == 0)
104
else if (strcmp (name, "AUTHENTICATE-AUTOLOGIN") == 0)
110
105
greeter->authenticateAutologin ();
113
r = g_strdup_printf ("%s AUTHENTICATE-REMOTE SESSION=", greeter_id);
114
if (g_str_has_prefix (request, r))
115
greeter->authenticateRemote (request + strlen (r), NULL);
118
r = g_strdup_printf ("%s RESPOND TEXT=\"", greeter_id);
119
if (g_str_has_prefix (request, r))
121
gchar *text = g_strdup (request + strlen (r));
122
text[strlen (text) - 1] = '\0';
123
greeter->respond (text);
128
r = g_strdup_printf ("%s CANCEL-AUTHENTICATION", greeter_id);
129
if (strcmp (request, r) == 0)
107
else if (strcmp (name, "AUTHENTICATE-REMOTE") == 0)
108
greeter->authenticateRemote ((const gchar *) g_hash_table_lookup (params, "SESSION"), NULL);
110
else if (strcmp (name, "RESPOND") == 0)
111
greeter->respond ((const gchar *) g_hash_table_lookup (params, "TEXT"));
113
else if (strcmp (name, "CANCEL-AUTHENTICATION") == 0)
130
114
greeter->cancelAuthentication ();
133
r = g_strdup_printf ("%s START-SESSION", greeter_id);
134
if (strcmp (request, r) == 0)
136
if (!greeter->startSessionSync ())
137
status_notify ("%s SESSION-FAILED", greeter_id);
141
r = g_strdup_printf ("%s START-SESSION SESSION=", greeter_id);
142
if (g_str_has_prefix (request, r))
144
if (!greeter->startSessionSync (request + strlen (r)))
145
status_notify ("%s SESSION-FAILED", greeter_id);
149
r = g_strdup_printf ("%s LOG-USER-LIST-LENGTH", greeter_id);
150
if (strcmp (request, r) == 0)
116
else if (strcmp (name, "START-SESSION") == 0)
118
if (g_hash_table_lookup (params, "SESSION"))
120
if (!greeter->startSessionSync ((const gchar *) g_hash_table_lookup (params, "SESSION")))
121
status_notify ("%s SESSION-FAILED", greeter_id);
125
if (!greeter->startSessionSync ())
126
status_notify ("%s SESSION-FAILED", greeter_id);
130
else if (strcmp (name, "LOG-USER-LIST-LENGTH") == 0)
151
131
status_notify ("%s LOG-USER-LIST-LENGTH N=%d", greeter_id, users_model->rowCount (QModelIndex ()));
154
r = g_strdup_printf ("%s LOG-USER USERNAME=", greeter_id);
155
if (g_str_has_prefix (request, r))
133
else if (strcmp (name, "LOG-USER") == 0)
157
const gchar *username = request + strlen (r);
135
const gchar *username = (const gchar *) g_hash_table_lookup (params, "USERNAME");
158
136
for (int i = 0; i < users_model->rowCount (QModelIndex ()); i++)
160
138
QString name = users_model->data (users_model->index (i, 0), QLightDM::UsersModel::NameRole).toString ();
173
149
status_notify ("%s LOG-USER USERNAME=%s", greeter_id, qPrintable (name));
178
r = g_strdup_printf ("%s GET-CAN-SUSPEND", greeter_id);
179
if (strcmp (request, r) == 0)
153
else if (strcmp (name, "GET-CAN-SUSPEND") == 0)
181
155
gboolean can_suspend = power->canSuspend ();
182
156
status_notify ("%s CAN-SUSPEND ALLOWED=%s", greeter_id, can_suspend ? "TRUE" : "FALSE");
186
r = g_strdup_printf ("%s SUSPEND", greeter_id);
187
if (strcmp (request, r) == 0)
159
else if (strcmp (name, "SUSPEND") == 0)
189
161
if (!power->suspend ())
190
162
status_notify ("%s FAIL-SUSPEND", greeter_id);
194
r = g_strdup_printf ("%s GET-CAN-HIBERNATE", greeter_id);
195
if (strcmp (request, r) == 0)
165
else if (strcmp (name, "GET-CAN-HIBERNATE") == 0)
197
167
gboolean can_hibernate = power->canHibernate ();
198
168
status_notify ("%s CAN-HIBERNATE ALLOWED=%s", greeter_id, can_hibernate ? "TRUE" : "FALSE");
202
r = g_strdup_printf ("%s HIBERNATE", greeter_id);
203
if (strcmp (request, r) == 0)
171
else if (strcmp (name, "HIBERNATE") == 0)
205
173
if (!power->hibernate ())
206
174
status_notify ("%s FAIL-HIBERNATE", greeter_id);
210
r = g_strdup_printf ("%s GET-CAN-RESTART", greeter_id);
211
if (strcmp (request, r) == 0)
177
else if (strcmp (name, "GET-CAN-RESTART") == 0)
213
179
gboolean can_restart = power->canRestart ();
214
180
status_notify ("%s CAN-RESTART ALLOWED=%s", greeter_id, can_restart ? "TRUE" : "FALSE");
218
r = g_strdup_printf ("%s RESTART", greeter_id);
219
if (strcmp (request, r) == 0)
183
else if (strcmp (name, "RESTART") == 0)
221
185
if (!power->restart ())
222
186
status_notify ("%s FAIL-RESTART", greeter_id);
226
r = g_strdup_printf ("%s GET-CAN-SHUTDOWN", greeter_id);
227
if (strcmp (request, r) == 0)
189
else if (strcmp (name, "GET-CAN-SHUTDOWN") == 0)
229
191
gboolean can_shutdown = power->canShutdown ();
230
192
status_notify ("%s CAN-SHUTDOWN ALLOWED=%s", greeter_id, can_shutdown ? "TRUE" : "FALSE");
234
r = g_strdup_printf ("%s SHUTDOWN", greeter_id);
235
if (strcmp (request, r) == 0)
195
else if (strcmp (name, "SHUTDOWN") == 0)
237
197
if (!power->shutdown ())
238
198
status_notify ("%s FAIL-SHUTDOWN", greeter_id);