static void add_room (GPtrArray *rooms) { GHashTable *hash; hash = tp_asv_new ( "handle-name", G_TYPE_STRING, "the handle name", "name", G_TYPE_STRING, "the name", "description", G_TYPE_STRING, "the description", "subject", G_TYPE_STRING, "the subject", "members", G_TYPE_UINT, 10, "password", G_TYPE_BOOLEAN, TRUE, "invite-only", G_TYPE_BOOLEAN, TRUE, "room-id", G_TYPE_STRING, "the room id", "server", G_TYPE_STRING, "the server", NULL); g_ptr_array_add (rooms, tp_value_array_build (3, G_TYPE_UINT, 0, G_TYPE_STRING, TP_IFACE_CHANNEL_TYPE_TEXT, TP_HASH_TYPE_STRING_VARIANT_MAP, hash, G_TYPE_INVALID)); g_hash_table_unref (hash); }
static void return_from_request_inbox_url (GabbleConnection *conn) { GValueArray *result = NULL; GPtrArray *empty_array = NULL; GError *error = NULL; GList *it; GabbleConnectionMailNotificationPrivate *priv = conn->mail_priv; if (priv->inbox_url != NULL && priv->inbox_url[0] == '\0') { error = g_error_new (TP_ERRORS, TP_ERROR_NETWORK_ERROR, "Server did not provide base URL."); } else if (priv->inbox_url == NULL) { error = g_error_new (TP_ERRORS, TP_ERROR_DISCONNECTED, "Connection was disconnected during request."); } else { empty_array = g_ptr_array_new (); result = tp_value_array_build (3, G_TYPE_STRING, priv->inbox_url, G_TYPE_UINT, TP_HTTP_METHOD_GET, TP_ARRAY_TYPE_HTTP_POST_DATA_LIST, empty_array, G_TYPE_INVALID); } it = priv->inbox_url_requests; while (it != NULL) { DBusGMethodInvocation *context = it->data; if (error != NULL) dbus_g_method_return_error (context, error); else tp_svc_connection_interface_mail_notification_return_from_request_inbox_url ( context, result); it = g_list_next (it); } if (error == NULL) { g_value_array_free (result); g_ptr_array_free (empty_array, TRUE); } else { g_error_free (error); } g_list_free (priv->inbox_url_requests); priv->inbox_url_requests = NULL; }
void conn_location_properties_getter (GObject *object, GQuark interface, GQuark name, GValue *value, gpointer getter_data) { GabbleConnection *conn = GABBLE_CONNECTION (object); if (!tp_strdiff (g_quark_to_string (name), "LocationAccessControlTypes")) { guint access_control_type = TP_RICH_PRESENCE_ACCESS_CONTROL_TYPE_PUBLISH_LIST; GArray *access_control = g_array_sized_new (FALSE, FALSE, sizeof (guint), 1); g_array_append_val (access_control, access_control_type); g_value_take_boxed (value, access_control); } else if (!tp_strdiff (g_quark_to_string (name), "LocationAccessControl")) { GValueArray *access_control; GValue dummy = G_VALUE_INIT; /* For Publish_List, the variant isn't used, so we set a dummy value, * (guint) 0 */ g_value_init (&dummy, G_TYPE_UINT); g_value_set_uint (&dummy, 0); access_control = tp_value_array_build (2, G_TYPE_UINT, (guint) TP_RICH_PRESENCE_ACCESS_CONTROL_TYPE_PUBLISH_LIST, G_TYPE_VALUE, &dummy, G_TYPE_INVALID); g_value_unset (&dummy); g_value_take_boxed (value, access_control); } else if (name == g_quark_from_static_string ("SupportedLocationFeatures")) { TpLocationFeatures flags = 0; if (conn->features & GABBLE_CONNECTION_FEATURES_PEP) flags |= TP_LOCATION_FEATURE_CAN_SET; g_value_set_uint (value, flags); } else { g_assert_not_reached (); } }
static void gabble_mail_notification_request_mail_url ( TpSvcConnectionInterfaceMailNotification *iface, const gchar *in_id, const GValue *in_url_data, DBusGMethodInvocation *context) { GabbleConnection *conn = GABBLE_CONNECTION (iface); GabbleConnectionMailNotificationPrivate *priv = conn->mail_priv; if (check_supported_or_dbus_return (conn, context)) return; /* TODO Make sure we don't have to authenticate again */ if (priv->inbox_url != NULL && priv->inbox_url[0] != 0) { GValueArray *result; gchar *url = NULL; GPtrArray *empty_array; /* IDs are decimal on the XMPP side and hexadecimal on the wemail side. */ guint64 tid = g_ascii_strtoull (in_id, NULL, 0); url = g_strdup_printf ("%s/#inbox/%" G_GINT64_MODIFIER "x", priv->inbox_url, tid); empty_array = g_ptr_array_new (); result = tp_value_array_build (3, G_TYPE_STRING, url ? url : "", G_TYPE_UINT, TP_HTTP_METHOD_GET, TP_ARRAY_TYPE_HTTP_POST_DATA_LIST, empty_array, G_TYPE_INVALID); tp_svc_connection_interface_mail_notification_return_from_request_mail_url ( context, result); g_value_array_free (result); g_ptr_array_free (empty_array, TRUE); g_free (url); } else { GError error = { TP_ERRORS, TP_ERROR_NETWORK_ERROR, "Failed to retrieve URL from server."}; dbus_g_method_return_error (context, &error); } }
static GPtrArray * build_rejections_array (EmpTLSCertificateRejectReason reason, GHashTable *details) { GPtrArray *retval; GValueArray *rejection; retval = g_ptr_array_new (); rejection = tp_value_array_build (3, G_TYPE_UINT, reason, G_TYPE_STRING, reject_reason_get_dbus_error (reason), TP_HASH_TYPE_STRING_VARIANT_MAP, details, NULL); g_ptr_array_add (retval, rejection); return retval; }
static GPtrArray * build_rejections_array(TpTLSCertificateRejectReason reason, GHashTable *details) { GPtrArray *retval = NULL; GValueArray *rejection = NULL; g_debug("%s:%d[%s]", __FILE__, __LINE__, __FUNCTION__); retval = g_ptr_array_new(); rejection = tp_value_array_build(3, G_TYPE_UINT, reason, G_TYPE_STRING, reject_reason_get_dbus_error(reason), TP_HASH_TYPE_STRING_VARIANT_MAP, details, NULL); g_ptr_array_add(retval, rejection); return retval; }
static gboolean sender_each (WockyNode *node, gpointer user_data) { GPtrArray *senders = user_data; if (!tp_strdiff ("1", wocky_node_get_attribute (node, "unread"))) { GValueArray *sender; const gchar *name; const gchar *address; name = wocky_node_get_attribute (node, "name"); address = wocky_node_get_attribute (node, "address"); sender = tp_value_array_build (2, G_TYPE_STRING, name ? name : "", G_TYPE_STRING, address ? address : "", G_TYPE_INVALID); g_ptr_array_add (senders, sender); } return TRUE; }
static void tp_tests_simple_account_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *spec) { GValue identifier = { 0, }; g_value_init (&identifier, G_TYPE_STRING); g_value_set_string (&identifier, "unique-identifier"); switch (property_id) { case PROP_INTERFACES: g_value_set_boxed (value, ACCOUNT_INTERFACES); break; case PROP_DISPLAY_NAME: g_value_set_string (value, "Fake Account"); break; case PROP_ICON: g_value_set_string (value, ""); break; case PROP_VALID: g_value_set_boolean (value, TRUE); break; case PROP_ENABLED: g_value_set_boolean (value, TRUE); break; case PROP_NICKNAME: g_value_set_string (value, "badger"); break; case PROP_PARAMETERS: g_value_take_boxed (value, g_hash_table_new (NULL, NULL)); break; case PROP_AUTOMATIC_PRESENCE: g_value_take_boxed (value, tp_value_array_build (3, G_TYPE_UINT, TP_CONNECTION_PRESENCE_TYPE_AVAILABLE, G_TYPE_STRING, "automatically-available", G_TYPE_STRING, "this is my AutomaticPresence", G_TYPE_INVALID)); break; case PROP_CONNECT_AUTO: g_value_set_boolean (value, FALSE); break; case PROP_CONNECTION: g_value_set_boxed (value, "/"); break; case PROP_CONNECTION_STATUS: g_value_set_uint (value, TP_CONNECTION_STATUS_CONNECTED); break; case PROP_CONNECTION_STATUS_REASON: g_value_set_uint (value, TP_CONNECTION_STATUS_REASON_REQUESTED); break; case PROP_CURRENT_PRESENCE: g_value_take_boxed (value, tp_value_array_build (3, G_TYPE_UINT, TP_CONNECTION_PRESENCE_TYPE_AWAY, G_TYPE_STRING, "currently-away", G_TYPE_STRING, "this is my CurrentPresence", G_TYPE_INVALID)); break; case PROP_REQUESTED_PRESENCE: g_value_take_boxed (value, tp_value_array_build (3, G_TYPE_UINT, TP_CONNECTION_PRESENCE_TYPE_BUSY, G_TYPE_STRING, "requesting", G_TYPE_STRING, "this is my RequestedPresence", G_TYPE_INVALID)); break; case PROP_NORMALIZED_NAME: g_value_set_string (value, "*****@*****.**"); break; case PROP_HAS_BEEN_ONLINE: g_value_set_boolean (value, TRUE); break; case PROP_STORAGE_PROVIDER: g_value_set_string (value, "org.freedesktop.Telepathy.glib.test"); break; case PROP_STORAGE_IDENTIFIER: g_value_set_boxed (value, &identifier); break; case PROP_STORAGE_SPECIFIC_INFORMATION: g_value_take_boxed (value, tp_asv_new ( "one", G_TYPE_INT, 1, "two", G_TYPE_UINT, 2, "marco", G_TYPE_STRING, "polo", NULL)); break; case PROP_STORAGE_RESTRICTIONS: g_value_set_uint (value, TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_ENABLED | TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_PARAMETERS); break; case PROP_URI_SCHEMES: g_value_set_boxed (value, uri_schemes); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, spec); break; } g_value_unset (&identifier); }
static void tp_base_media_call_stream_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { TpBaseMediaCallStream *self = TP_BASE_MEDIA_CALL_STREAM (object); switch (property_id) { case PROP_SENDING_STATE: g_value_set_uint (value, self->priv->sending_state); break; case PROP_RECEIVING_STATE: g_value_set_uint (value, self->priv->receiving_state); break; case PROP_TRANSPORT: g_value_set_uint (value, self->priv->transport); break; case PROP_LOCAL_CANDIDATES: g_value_set_boxed (value, self->priv->local_candidates); break; case PROP_LOCAL_CREDENTIALS: { g_value_take_boxed (value, tp_value_array_build (2, G_TYPE_STRING, self->priv->username, G_TYPE_STRING, self->priv->password, G_TYPE_INVALID)); break; } case PROP_STUN_SERVERS: { if (self->priv->stun_servers != NULL) g_value_set_boxed (value, self->priv->stun_servers); else g_value_take_boxed (value, g_ptr_array_new ()); break; } case PROP_RELAY_INFO: { if (self->priv->relay_info != NULL) g_value_set_boxed (value, self->priv->relay_info); else g_value_take_boxed (value, g_ptr_array_new ()); break; } case PROP_HAS_SERVER_INFO: g_value_set_boolean (value, self->priv->has_server_info); break; case PROP_ENDPOINTS: { GPtrArray *arr = g_ptr_array_sized_new (1); GList *l; for (l = self->priv->endpoints; l != NULL; l = g_list_next (l)) { TpCallStreamEndpoint *e = l->data; g_ptr_array_add (arr, g_strdup (tp_call_stream_endpoint_get_object_path (e))); } g_value_take_boxed (value, arr); break; } case PROP_ICE_RESTART_PENDING: g_value_set_boolean (value, self->priv->ice_restart_pending); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } }