~robert-ancell/lightdm/process-cleanup

« back to all changes in this revision

Viewing changes to tests/src/test-qt-greeter.cpp

  • Committer: Tarmac
  • Author(s): Robert Ancell
  • Date: 2014-02-26 05:06:33 UTC
  • mfrom: (1902.2.2 test-request-refactor)
  • Revision ID: tarmac-20140226050633-g7o5p1zz1p024cfd
Convert all test programs to use key value pairs for requests.

Approved by PS Jenkins bot, Robert Ancell.

Show diffs side-by-side

added added

removed removed

Lines of Context:
80
80
}
81
81
 
82
82
static void
83
 
request_cb (const gchar *request)
 
83
request_cb (const gchar *name, GHashTable *params)
84
84
{
85
85
    gchar *r;
86
86
 
87
 
    if (!request)
 
87
    if (!name)
88
88
    {
89
89
        app->quit ();
90
90
        return;
91
91
    }
92
92
  
93
 
    r = g_strdup_printf ("%s AUTHENTICATE", greeter_id);
94
 
    if (strcmp (request, r) == 0)
95
 
        greeter->authenticate ();
96
 
    g_free (r);
97
 
 
98
 
    r = g_strdup_printf ("%s AUTHENTICATE USERNAME=", greeter_id);
99
 
    if (g_str_has_prefix (request, r))
100
 
        greeter->authenticate (request + strlen (r));
101
 
    g_free (r);
102
 
 
103
 
    r = g_strdup_printf ("%s AUTHENTICATE-GUEST", greeter_id);
104
 
    if (strcmp (request, r) == 0)
 
93
    if (strcmp (name, "AUTHENTICATE") == 0)
 
94
    {
 
95
        if (g_hash_table_lookup (params, "USERNAME"))
 
96
            greeter->authenticate ((const gchar *) g_hash_table_lookup (params, "USERNAME"));
 
97
        else
 
98
            greeter->authenticate ();
 
99
    }
 
100
 
 
101
    else if (strcmp (name, "AUTHENTICATE-GUEST") == 0)
105
102
        greeter->authenticateAsGuest ();
106
 
    g_free (r);
107
 
 
108
 
    r = g_strdup_printf ("%s AUTHENTICATE-AUTOLOGIN", greeter_id);
109
 
    if (strcmp (request, r) == 0)
 
103
  
 
104
    else if (strcmp (name, "AUTHENTICATE-AUTOLOGIN") == 0)
110
105
        greeter->authenticateAutologin ();
111
 
    g_free (r);
112
 
 
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);
116
 
    g_free (r);
117
 
 
118
 
    r = g_strdup_printf ("%s RESPOND TEXT=\"", greeter_id);
119
 
    if (g_str_has_prefix (request, r))
120
 
    {
121
 
        gchar *text = g_strdup (request + strlen (r));
122
 
        text[strlen (text) - 1] = '\0';
123
 
        greeter->respond (text);
124
 
        g_free (text);
125
 
    }
126
 
    g_free (r);
127
 
 
128
 
    r = g_strdup_printf ("%s CANCEL-AUTHENTICATION", greeter_id);
129
 
    if (strcmp (request, r) == 0)
 
106
 
 
107
    else if (strcmp (name, "AUTHENTICATE-REMOTE") == 0)
 
108
        greeter->authenticateRemote ((const gchar *) g_hash_table_lookup (params, "SESSION"), NULL);
 
109
 
 
110
    else if (strcmp (name, "RESPOND") == 0)
 
111
        greeter->respond ((const gchar *) g_hash_table_lookup (params, "TEXT"));
 
112
 
 
113
    else if (strcmp (name, "CANCEL-AUTHENTICATION") == 0)
130
114
        greeter->cancelAuthentication ();
131
 
    g_free (r);
132
 
 
133
 
    r = g_strdup_printf ("%s START-SESSION", greeter_id);
134
 
    if (strcmp (request, r) == 0)
135
 
    {
136
 
        if (!greeter->startSessionSync ())
137
 
            status_notify ("%s SESSION-FAILED", greeter_id);
138
 
    }
139
 
    g_free (r);
140
 
 
141
 
    r = g_strdup_printf ("%s START-SESSION SESSION=", greeter_id);
142
 
    if (g_str_has_prefix (request, r))
143
 
    {
144
 
        if (!greeter->startSessionSync (request + strlen (r)))
145
 
            status_notify ("%s SESSION-FAILED", greeter_id);
146
 
    }
147
 
    g_free (r);
148
 
 
149
 
    r = g_strdup_printf ("%s LOG-USER-LIST-LENGTH", greeter_id);
150
 
    if (strcmp (request, r) == 0)
 
115
 
 
116
    else if (strcmp (name, "START-SESSION") == 0)
 
117
    {
 
118
        if (g_hash_table_lookup (params, "SESSION"))
 
119
        {
 
120
            if (!greeter->startSessionSync ((const gchar *) g_hash_table_lookup (params, "SESSION")))
 
121
                status_notify ("%s SESSION-FAILED", greeter_id);
 
122
        }
 
123
        else
 
124
        {
 
125
            if (!greeter->startSessionSync ())
 
126
                status_notify ("%s SESSION-FAILED", greeter_id);
 
127
        }
 
128
    }
 
129
 
 
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 ()));
152
 
    g_free (r);
153
132
 
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)
156
134
    {
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++)
159
137
        {
160
138
            QString name = users_model->data (users_model->index (i, 0), QLightDM::UsersModel::NameRole).toString ();
162
140
                status_notify ("%s LOG-USER USERNAME=%s", greeter_id, qPrintable (name));
163
141
        }
164
142
    }
165
 
    g_free (r);
166
143
 
167
 
    r = g_strdup_printf ("%s LOG-USER-LIST", greeter_id);
168
 
    if (strcmp (request, r) == 0)
 
144
    else if (strcmp (name, "LOG-USER-LIST") == 0)
169
145
    {
170
146
        for (int i = 0; i < users_model->rowCount (QModelIndex ()); i++)
171
147
        {
173
149
            status_notify ("%s LOG-USER USERNAME=%s", greeter_id, qPrintable (name));
174
150
        }
175
151
    }
176
 
    g_free (r);
177
152
 
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)
180
154
    {
181
155
        gboolean can_suspend = power->canSuspend ();
182
156
        status_notify ("%s CAN-SUSPEND ALLOWED=%s", greeter_id, can_suspend ? "TRUE" : "FALSE");
183
157
    }
184
 
    g_free (r);
185
158
 
186
 
    r = g_strdup_printf ("%s SUSPEND", greeter_id);
187
 
    if (strcmp (request, r) == 0)
 
159
    else if (strcmp (name, "SUSPEND") == 0)
188
160
    {
189
161
        if (!power->suspend ())
190
162
            status_notify ("%s FAIL-SUSPEND", greeter_id);
191
163
    }
192
 
    g_free (r);
193
164
 
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)
196
166
    {
197
167
        gboolean can_hibernate = power->canHibernate ();
198
168
        status_notify ("%s CAN-HIBERNATE ALLOWED=%s", greeter_id, can_hibernate ? "TRUE" : "FALSE");
199
169
    }
200
 
    g_free (r);
201
170
 
202
 
    r = g_strdup_printf ("%s HIBERNATE", greeter_id);
203
 
    if (strcmp (request, r) == 0)
 
171
    else if (strcmp (name, "HIBERNATE") == 0)
204
172
    {
205
173
        if (!power->hibernate ())
206
174
            status_notify ("%s FAIL-HIBERNATE", greeter_id);
207
175
    }
208
 
    g_free (r);
209
176
 
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)
212
178
    {
213
179
        gboolean can_restart = power->canRestart ();
214
180
        status_notify ("%s CAN-RESTART ALLOWED=%s", greeter_id, can_restart ? "TRUE" : "FALSE");
215
181
    }
216
 
    g_free (r);
217
182
 
218
 
    r = g_strdup_printf ("%s RESTART", greeter_id);
219
 
    if (strcmp (request, r) == 0)
 
183
    else if (strcmp (name, "RESTART") == 0)
220
184
    {
221
185
        if (!power->restart ())
222
186
            status_notify ("%s FAIL-RESTART", greeter_id);
223
187
    }
224
 
    g_free (r);
225
188
 
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)
228
190
    {
229
191
        gboolean can_shutdown = power->canShutdown ();
230
192
        status_notify ("%s CAN-SHUTDOWN ALLOWED=%s", greeter_id, can_shutdown ? "TRUE" : "FALSE");
231
193
    }
232
 
    g_free (r);
233
194
 
234
 
    r = g_strdup_printf ("%s SHUTDOWN", greeter_id);
235
 
    if (strcmp (request, r) == 0)
 
195
    else if (strcmp (name, "SHUTDOWN") == 0)
236
196
    {
237
197
        if (!power->shutdown ())
238
198
            status_notify ("%s FAIL-SHUTDOWN", greeter_id);
239
199
    }
240
 
    g_free (r);
241
200
}
242
201
 
243
202
int
265
224
    else
266
225
        greeter_id = g_strdup ("GREETER-?");
267
226
 
268
 
    status_connect (request_cb);
 
227
    status_connect (request_cb, greeter_id);
269
228
 
270
229
    app = new QCoreApplication (argc, argv);
271
230