Beispiel #1
0
void
empathy_call_new_with_streams (const gchar *contact,
    TpAccount *account,
    gboolean initial_video,
    gint64 timestamp)
{
  TpAccountChannelRequest *call_req;

  call_req = empathy_call_create_call_request (account, contact, initial_video,
      timestamp);

  tp_account_channel_request_create_channel_async (call_req,
      EMPATHY_CALL_TP_BUS_NAME, NULL, create_call_channel_cb, NULL);

  g_object_unref (call_req);
}
void
empathy_share_my_desktop_share_with_contact (EmpathyContact *contact)
{
  TpAccountChannelRequest *req;
  GHashTable *request;
  TpContact *tp_contact;

  tp_contact = empathy_contact_get_tp_contact (contact);

  DEBUG ("Creation of ShareMyDesktop");

  if (!TP_IS_CONTACT (tp_contact))
    {
      DEBUG ("It's not a tp contact");
      return;
    }

  request = tp_asv_new (
      TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING,
        TP_IFACE_CHANNEL_TYPE_STREAM_TUBE,
      TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, G_TYPE_UINT,
        TP_HANDLE_TYPE_CONTACT,
      TP_PROP_CHANNEL_TARGET_HANDLE, G_TYPE_UINT,
        tp_contact_get_handle (tp_contact),
      TP_PROP_CHANNEL_TYPE_STREAM_TUBE_SERVICE, G_TYPE_STRING, "rfb",
      NULL);

  req = tp_account_channel_request_new (empathy_contact_get_account (contact),
      request, TP_USER_ACTION_TIME_CURRENT_TIME);

  tp_account_channel_request_create_channel_async (req, NULL, NULL,
      create_tube_channel_cb, NULL);

  g_object_unref (req);
  g_hash_table_unref (request);
}