Codebase list libcloudproviders / a2abc3f
Fix test programs Julius Härtl 6 years ago
6 changed file(s) with 23 addition(s) and 52 deletion(s). Raw diff Collapse all Expand all
3030 } CloudProviderPrivate;
3131
3232 G_DEFINE_TYPE_WITH_PRIVATE (CloudProvider, cloud_provider, G_TYPE_OBJECT)
33
34 enum {
35 CHANGED,
36 READY,
37 LAST_SIGNAL
38 };
39
40 static guint gSignals [LAST_SIGNAL];
4133
4234 void
4335 cloud_provider_export_account(CloudProvider* cloud_provider,
113105 {
114106 CloudProviderPrivate *priv = cloud_provider_get_instance_private(cloud_provider);
115107 gchar *object_path = g_strconcat(priv->object_path, "/", account_name, NULL);
116 g_dbus_connection_emit_signal (priv->bus,
117 NULL,
118 object_path,
119 "org.freedesktop.CloudProvider.Account1",
120 "CloudProviderChanged",
121 NULL,
122 NULL /*error*/);
108 GDBusObject *object = g_dbus_object_manager_get_object((GDBusObjectManager*)priv->manager, object_path);
109 CloudProviderAccount1 *account = cloud_provider_object_get_account1 (CLOUD_PROVIDER_OBJECT(object));
110 cloud_provider_account1_emit_cloud_provider_changed (account);
111 g_object_unref (account);
112 g_object_unref (object);
123113 g_free (object_path);
124114 }
115
125116 CloudProvider*
126117 cloud_provider_new (GDBusConnection *bus,
127118 const gchar *bus_name,
153144 g_clear_object (&priv->bus);
154145 g_free (priv->bus_name);
155146 g_free (priv->object_path);
147 g_object_unref(priv->manager);
156148
157149 G_OBJECT_CLASS (cloud_provider_parent_class)->finalize (object);
158150 }
161153 cloud_provider_class_init (CloudProviderClass *klass)
162154 {
163155 GObjectClass *object_class = G_OBJECT_CLASS (klass);
164
165156 object_class->finalize = cloud_provider_finalize;
166
167 gSignals [CHANGED] =
168 g_signal_new ("changed",
169 G_TYPE_FROM_CLASS (klass),
170 G_SIGNAL_RUN_LAST,
171 0,
172 NULL,
173 NULL,
174 g_cclosure_marshal_generic,
175 G_TYPE_NONE,
176 0);
177 gSignals [READY] =
178 g_signal_new ("ready",
179 G_TYPE_FROM_CLASS (klass),
180 G_SIGNAL_RUN_LAST,
181 0,
182 NULL,
183 NULL,
184 g_cclosure_marshal_generic,
185 G_TYPE_NONE,
186 0);
187157 }
188158
189159 static void
2020
2121 #include <gio/gio.h>
2222 #include "cloudprovider-generated.h"
23 /* for CloudProviderStatus enum */
24 #include "cloudproviderproxy.h"
2325
2426 G_BEGIN_DECLS
2527
4345 {
4446 GObject parent_instance;
4547 };
46
47
4848
4949 void
5050 cloud_provider_export_account (CloudProvider* cloud_provider,
66 GMainLoop *loop = g_main_loop_new(NULL, FALSE);
77 CloudProviderManager *manager = cloud_provider_manager_dup_singleton ();
88 g_main_loop_run(loop);
9 g_free(manager);
9 g_object_unref(manager);
1010 g_free(loop);
1111 return 0;
1212 }
220220 * Returns: (transfer none): The list of providers.
221221 */
222222 GList*
223 cloud_providers_get_providers (CloudProviders *manager)
224 {
225 CloudProvidersPrivate *priv = cloud_providers_get_instance_private (manager);
226
223 cloud_providers_get_providers (CloudProviders *self)
224 {
225 CloudProvidersPrivate *priv = cloud_providers_get_instance_private (self);
227226 return priv->providers;
228227 }
229228
00 #include <glib.h>
11 #include <cloudproviderproxy.h>
22 #include <cloudprovidermanager.h>
3 #include <cloudproviders.h>
34
45 static void
56 print_gmenu_model (GMenuModel *model)
3435 }
3536
3637 static void
37 on_manager_changed (CloudProviderManager *manager)
38 on_manager_changed (CloudProviders *manager)
3839 {
3940 GList *providers;
4041 GList *l;
4445 gchar *icon_representation;
4546 GMenuModel *menu;
4647
47 providers = cloud_provider_manager_get_providers (manager);
48 providers = cloud_providers_get_providers (manager);
4849 if(providers == NULL)
4950 return;
5051 g_print ("Providers data\n");
99100 main (gint argc,
100101 gchar *argv[])
101102 {
102 CloudProviderManager *manager;
103 CloudProviders *manager;
103104 GMainLoop *loop = g_main_loop_new(NULL, FALSE);
104105
105 manager = cloud_provider_manager_dup_singleton ();
106 manager = cloud_providers_dup_singleton ();
106107 g_signal_connect (manager, "changed", G_CALLBACK (on_manager_changed), manager);
107 cloud_provider_manager_update (manager);
108 cloud_providers_update (manager);
108109
109110 g_print("Waiting for cloud providers\n\n");
110111
11 #include <stdlib.h>
22 #include <gio/gio.h>
33 #include <cloudprovider.h>
4 /* for CLoudProviderStatus enum */
45 #include <cloudproviderproxy.h>
56
67
214215 static gboolean
215216 change_random_cloud_provider_state (gpointer user_data)
216217 {
217 TestCloudProvider *cloud_provider = (TestCloudProvider *)user_data;
218 TestCloudProvider *test_cloud_provider = (TestCloudProvider *)user_data;
218219 GRand *rand;
219220 gint new_status;
220221 gint account_id;
228229
229230 account_object_name = g_strdup_printf ("MyCloud%d", account_id);
230231 g_print ("Change status of %03d to %d\n", account_id, new_status);
231 test_cloud_provider_set_status (cloud_provider, new_status);
232 cloud_provider_emit_changed (cloud_provider->cloud_provider, account_object_name);
232 test_cloud_provider_set_status (test_cloud_provider, new_status);
233 cloud_provider_emit_changed (test_cloud_provider->cloud_provider, account_object_name);
233234 return TRUE;
234235 }
235236