libpurple/purpleauthorizationrequestnotification.c

Sun, 14 Apr 2024 01:14:59 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Sun, 14 Apr 2024 01:14:59 -0500
changeset 42725
ceb13f1de2d2
parent 42651
5ad29b5bf1c7
child 42805
3e77e81168a5
permissions
-rw-r--r--

Remove PurpleBuddy

PurpleContactInfo was created long ago to replace this, it is now its time!

Testing Done:
Ran the turtles.

Reviewed at https://reviews.imfreedom.org/r/3123/

42651
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Purple - Internet Messaging Library
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * Purple is the legal property of its developers, whose names are too numerous
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * source distribution.
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 *
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 * This library is free software; you can redistribute it and/or modify it
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * under the terms of the GNU General Public License as published by the Free
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * Software Foundation; either version 2 of the License, or (at your option)
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * any later version.
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 *
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 * This library is distributed in the hope that it will be useful, but WITHOUT
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 * more details.
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18 *
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License along with
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 * this library; if not, see <https://www.gnu.org/licenses/>.
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 */
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 #include <glib/gi18n-lib.h>
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25 #include "purpleauthorizationrequestnotification.h"
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26
42725
ceb13f1de2d2 Remove PurpleBuddy
Gary Kramlich <grim@reaperworld.com>
parents: 42651
diff changeset
27 #include "util.h"
ceb13f1de2d2 Remove PurpleBuddy
Gary Kramlich <grim@reaperworld.com>
parents: 42651
diff changeset
28
42651
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29 enum {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 PROP_0,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31 PROP_AUTHORIZATION_REQUEST,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32 N_PROPERTIES,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33 };
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
34 static GParamSpec *properties[N_PROPERTIES] = {NULL, 0};
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36 struct _PurpleAuthorizationRequestNotification {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37 PurpleNotification parent;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 PurpleAuthorizationRequest *authorization_request;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40 };
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42 static void
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 purple_authorization_request_notification_request_changed_cb(GObject *obj,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44 GParamSpec *pspec,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
45 gpointer data);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47 /******************************************************************************
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 * Helpers
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49 *****************************************************************************/
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 static void
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51 purple_authorization_request_notification_update(PurpleAuthorizationRequestNotification *auth_notification)
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52 {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 PurpleAccount *account = NULL;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54 PurpleAuthorizationRequest *request = NULL;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55 PurpleContactInfo *info = NULL;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56 PurpleNotification *notification = PURPLE_NOTIFICATION(auth_notification);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57 char *title = NULL;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 const char *alias = NULL;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 const char *username = NULL;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 request = auth_notification->authorization_request;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 account = purple_authorization_request_get_account(request);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 info = PURPLE_CONTACT_INFO(account);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 username = purple_authorization_request_get_username(request);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 alias = purple_authorization_request_get_alias(request);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 if(!purple_strempty(alias)) {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 title = g_strdup_printf(_("%s (%s) would like to add %s to their"
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 " contact list"),
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 alias, username,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 purple_contact_info_get_username(info));
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 } else {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 title = g_strdup_printf(_("%s would like to add %s to their contact"
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 " list"),
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75 username,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76 purple_contact_info_get_username(info));
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 }
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79 purple_notification_set_title(notification, title);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 g_free(title);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81 }
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 static void
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 purple_authorization_request_notification_set_request(PurpleAuthorizationRequestNotification *notification,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 PurpleAuthorizationRequest *request)
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86 {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87 g_return_if_fail(PURPLE_IS_AUTHORIZATION_REQUEST_NOTIFICATION(notification));
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
89 if(g_set_object(&notification->authorization_request, request)) {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 if(PURPLE_IS_AUTHORIZATION_REQUEST(request)) {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
91 g_signal_connect_object(request, "notify",
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 G_CALLBACK(purple_authorization_request_notification_request_changed_cb),
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93 notification, 0);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95 purple_authorization_request_notification_update(notification);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
96 }
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
98 g_object_notify_by_pspec(G_OBJECT(notification),
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
99 properties[PROP_AUTHORIZATION_REQUEST]);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
100 }
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
101 }
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
102
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 /******************************************************************************
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104 * Callbacks
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105 *****************************************************************************/
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106 static void
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107 purple_authorization_request_notification_request_changed_cb(G_GNUC_UNUSED GObject *obj,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
108 G_GNUC_UNUSED GParamSpec *pspec,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
109 gpointer data)
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
110 {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
111 purple_authorization_request_notification_update(data);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
112 }
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
113
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
114 /******************************************************************************
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
115 * GObject Implementation
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
116 *****************************************************************************/
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
117 G_DEFINE_FINAL_TYPE(PurpleAuthorizationRequestNotification,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
118 purple_authorization_request_notification,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
119 PURPLE_TYPE_NOTIFICATION)
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
120
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
121 static void
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
122 purple_authorization_request_notification_finalize(GObject *object) {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
123 PurpleAuthorizationRequestNotification *notification = NULL;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
124
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
125 notification = PURPLE_AUTHORIZATION_REQUEST_NOTIFICATION(object);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
126
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
127 g_clear_object(&notification->authorization_request);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
128
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
129 G_OBJECT_CLASS(purple_authorization_request_notification_parent_class)->finalize(object);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
130 }
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
131
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
132 static void
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
133 purple_authorization_request_notification_get_property(GObject *obj,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
134 guint param_id,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
135 GValue *value,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
136 GParamSpec *pspec)
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
137 {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
138 PurpleAuthorizationRequestNotification *notification = NULL;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
139
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
140 notification = PURPLE_AUTHORIZATION_REQUEST_NOTIFICATION(obj);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
141
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
142 switch(param_id) {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
143 case PROP_AUTHORIZATION_REQUEST:
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
144 g_value_set_object(value,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
145 purple_authorization_request_notification_get_request(notification));
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
146 break;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
147 default:
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
148 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
149 break;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
150 }
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
151 }
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
152
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
153 static void
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
154 purple_authorization_request_notification_set_property(GObject *obj,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
155 guint param_id,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
156 const GValue *value,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
157 GParamSpec *pspec)
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
158 {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
159 PurpleAuthorizationRequestNotification *notification = NULL;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
160
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
161 notification = PURPLE_AUTHORIZATION_REQUEST_NOTIFICATION(obj);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
162
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
163 switch(param_id) {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
164 case PROP_AUTHORIZATION_REQUEST:
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
165 purple_authorization_request_notification_set_request(notification,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
166 g_value_get_object(value));
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
167 break;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
168 default:
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
169 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
170 break;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
171 }
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
172 }
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
173
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
174 static void
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
175 purple_authorization_request_notification_init(G_GNUC_UNUSED PurpleAuthorizationRequestNotification *notification)
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
176 {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
177 }
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
178
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
179 static void
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
180 purple_authorization_request_notification_class_init(PurpleAuthorizationRequestNotificationClass *klass)
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
181 {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
182 GObjectClass *obj_class = G_OBJECT_CLASS(klass);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
183
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
184 obj_class->finalize = purple_authorization_request_notification_finalize;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
185 obj_class->get_property = purple_authorization_request_notification_get_property;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
186 obj_class->set_property = purple_authorization_request_notification_set_property;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
187
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
188 /**
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
189 * PurpleAuthorizationRequestNotification:authorization-request:
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
190 *
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
191 * The [class@AuthorizationRequest] that this notification was created for.
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
192 *
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
193 * Since: 3.0
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
194 */
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
195 properties[PROP_AUTHORIZATION_REQUEST] = g_param_spec_object(
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
196 "authorization-request", "authorization-request",
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
197 "The authorization request this notification is for.",
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
198 PURPLE_TYPE_AUTHORIZATION_REQUEST,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
199 G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
200
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
201 g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
202 }
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
203
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
204 /******************************************************************************
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
205 * Public API
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
206 *****************************************************************************/
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
207 PurpleNotification *
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
208 purple_authorization_request_notification_new(PurpleAuthorizationRequest *request)
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
209 {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
210 PurpleAccount *account = NULL;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
211
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
212 g_return_val_if_fail(PURPLE_IS_AUTHORIZATION_REQUEST(request), NULL);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
213
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
214 account = purple_authorization_request_get_account(request);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
215
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
216 return g_object_new(
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
217 PURPLE_TYPE_AUTHORIZATION_REQUEST_NOTIFICATION,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
218 "account", account,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
219 "authorization-request", request,
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
220 NULL);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
221 }
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
222
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
223 PurpleAuthorizationRequest *
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
224 purple_authorization_request_notification_get_request(PurpleAuthorizationRequestNotification *notification)
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
225 {
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
226 g_return_val_if_fail(PURPLE_IS_AUTHORIZATION_REQUEST_NOTIFICATION(notification),
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
227 NULL);
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
228
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
229 return notification->authorization_request;
5ad29b5bf1c7 Create PurpleAuthorizationRequestNotification
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
230 }

mercurial