~ubuntu-branches/debian/sid/glib2.0/sid

« back to all changes in this revision

Viewing changes to gio/gdummyproxyresolver.c

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2013-05-08 06:25:57 UTC
  • mfrom: (1.27.14) (3.1.181 experimental)
  • Revision ID: package-import@ubuntu.com-20130508062557-i7gbku66mls70gi2
Tags: 2.36.1-2
Merge experimental branch, upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
#include "gasyncresult.h"
30
30
#include "gcancellable.h"
31
31
#include "gproxyresolver.h"
32
 
#include "gsimpleasyncresult.h"
 
32
#include "gtask.h"
33
33
 
34
34
#include "giomodule.h"
35
35
#include "giomodule-priv.h"
93
93
                                     gpointer             user_data)
94
94
{
95
95
  GError *error = NULL;
96
 
  GSimpleAsyncResult *simple;
 
96
  GTask *task;
97
97
  gchar **proxies;
98
98
 
 
99
  task = g_task_new (resolver, cancellable, callback, user_data);
 
100
 
99
101
  proxies = g_dummy_proxy_resolver_lookup (resolver, uri, cancellable, &error);
100
 
 
101
 
  
102
 
  simple = g_simple_async_result_new (G_OBJECT (resolver),
103
 
                                      callback, user_data,
104
 
                                      g_dummy_proxy_resolver_lookup_async);
105
 
 
106
 
  if (proxies == NULL)
107
 
    {
108
 
      g_simple_async_result_take_error (simple, error);
109
 
    }
 
102
  if (proxies)
 
103
    g_task_return_pointer (task, proxies, (GDestroyNotify) g_strfreev);
110
104
  else
111
 
    {
112
 
      g_simple_async_result_set_op_res_gpointer (simple,
113
 
                                                 proxies,
114
 
                                                 NULL);
115
 
    }
116
 
 
117
 
  g_simple_async_result_complete_in_idle (simple);
118
 
  g_object_unref (simple);
 
105
    g_task_return_error (task, error);
 
106
  g_object_unref (task);
119
107
}
120
108
 
121
109
static gchar **
123
111
                                      GAsyncResult       *result,
124
112
                                      GError            **error)
125
113
{
126
 
  if (G_IS_SIMPLE_ASYNC_RESULT (result))
127
 
    {
128
 
      GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (result);
129
 
 
130
 
      if (g_simple_async_result_propagate_error (simple, error))
131
 
        return NULL;
132
 
 
133
 
      return g_simple_async_result_get_op_res_gpointer (simple);
134
 
    }
135
 
 
136
 
  return NULL;
 
114
  g_return_val_if_fail (g_task_is_valid (result, resolver), NULL);
 
115
 
 
116
  return g_task_propagate_pointer (G_TASK (result), error);
137
117
}
138
118
 
139
119
static void