<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -86,6 +86,8 @@ struct _TwitterClientPrivate
 {
   SoupSession *session_async;
 
+  gchar *user_agent;
+
   gchar *email;
   gchar *password;
 
@@ -99,7 +101,8 @@ enum
   PROP_0,
 
   PROP_EMAIL,
-  PROP_PASSWORD
+  PROP_PASSWORD,
+  PROP_USER_AGENT
 };
 
 enum
@@ -137,6 +140,7 @@ twitter_client_finalize (GObject *gobject)
   soup_session_abort (priv-&gt;session_async);
   g_object_unref (priv-&gt;session_async);
 
+  g_free (priv-&gt;user_agent);
   g_free (priv-&gt;email);
   g_free (priv-&gt;password);
 
@@ -163,6 +167,11 @@ twitter_client_set_property (GObject      *gobject,
       priv-&gt;password = g_value_dup_string (value);
       break;
 
+    case PROP_USER_AGENT:
+      g_free (priv-&gt;user_agent);
+      priv-&gt;user_agent = g_value_dup_string (value);
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
       break;
@@ -187,6 +196,10 @@ twitter_client_get_property (GObject    *gobject,
       g_value_set_string (value, priv-&gt;password);
       break;
 
+    case PROP_USER_AGENT:
+      g_value_set_string (value, priv-&gt;user_agent);
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
       break;
@@ -194,12 +207,30 @@ twitter_client_get_property (GObject    *gobject,
 }
 
 static void
+twitter_client_constructed (GObject *gobject)
+{
+  TwitterClientPrivate *priv = TWITTER_CLIENT (gobject)-&gt;priv;
+  gchar *user_agent;
+
+  if (!priv-&gt;user_agent)
+    user_agent = g_strdup (&quot;Twitter-GLib/&quot; VERSION);
+  else
+    user_agent = g_strdup (priv-&gt;user_agent);
+
+  priv-&gt;session_async =
+    soup_session_async_new_with_options (&quot;user-agent&quot;, user_agent, NULL);
+
+  g_free (user_agent);
+}
+
+static void
 twitter_client_class_init (TwitterClientClass *klass)
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
   g_type_class_add_private (klass, sizeof (TwitterClientPrivate));
 
+  gobject_class-&gt;constructed = twitter_client_constructed;
   gobject_class-&gt;set_property = twitter_client_set_property;
   gobject_class-&gt;get_property = twitter_client_get_property;
   gobject_class-&gt;finalize = twitter_client_finalize;
@@ -218,6 +249,13 @@ twitter_client_class_init (TwitterClientClass *klass)
                                                         &quot;The password of the user, for authentication purposes&quot;,
                                                         NULL,
                                                         G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class,
+                                   PROP_USER_AGENT,
+                                   g_param_spec_string (&quot;user-agent&quot;,
+                                                        &quot;User Agent&quot;,
+                                                        &quot;The client name to be used when connecting&quot;,
+                                                        NULL,
+                                                        G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE));
 
   /**
    * TwitterClient::authenticate:
@@ -308,10 +346,6 @@ twitter_client_init (TwitterClient *client)
   client-&gt;priv = priv = TWITTER_CLIENT_GET_PRIVATE (client);
 
   priv-&gt;auth_id = 0;
-
-  priv-&gt;session_async =
-    soup_session_async_new_with_options (&quot;user-agent&quot;, &quot;Twitter-GLib/&quot; VERSION,
-                                         NULL);
 }
 
 typedef enum {</diff>
      <filename>twitter-glib/twitter-client.c</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>e215fc5477ad259758406ef100816ece46d54036</id>
    </parent>
  </parents>
  <author>
    <name>Emmanuele Bassi</name>
    <email>ebassi@openedhand.com</email>
  </author>
  <url>http://github.com/ebassi/tweet/commit/ed5200076715e6254f71218efda4ceba376ac909</url>
  <id>ed5200076715e6254f71218efda4ceba376ac909</id>
  <committed-date>2008-06-22T06:26:54-07:00</committed-date>
  <authored-date>2008-06-22T06:26:54-07:00</authored-date>
  <message>Add a new :user-agent property

The :user-agent property should be used to set the corresponding
session property in SoupSession.</message>
  <tree>e5b9d6c9f6665a0701b1aaf1c26a8ffdd3cb28c6</tree>
  <committer>
    <name>Emmanuele Bassi</name>
    <email>ebassi@openedhand.com</email>
  </committer>
</commit>
