libpurple/protocols/myspace/myspace.c

branch
soc.2007.msimprpl
changeset 17961
16c5545a0a95
parent 17960
0c7d41bbf8d7
child 17963
07e61fbc0abe
equal deleted inserted replaced
17960:0c7d41bbf8d7 17961:16c5545a0a95
1438 "persist", MSIM_TYPE_INTEGER, 1, 1438 "persist", MSIM_TYPE_INTEGER, 1,
1439 "sesskey", MSIM_TYPE_INTEGER, session->sesskey, 1439 "sesskey", MSIM_TYPE_INTEGER, session->sesskey,
1440 "cmd", MSIM_TYPE_INTEGER, MSIM_CMD_BIT_ACTION | MSIM_CMD_DELETE, 1440 "cmd", MSIM_TYPE_INTEGER, MSIM_CMD_BIT_ACTION | MSIM_CMD_DELETE,
1441 "dsn", MSIM_TYPE_INTEGER, MD_DELETE_BUDDY_DSN, 1441 "dsn", MSIM_TYPE_INTEGER, MD_DELETE_BUDDY_DSN,
1442 "lid", MSIM_TYPE_INTEGER, MD_DELETE_BUDDY_LID, 1442 "lid", MSIM_TYPE_INTEGER, MD_DELETE_BUDDY_LID,
1443 "uid", MSIM_TYPE_INTEGER, 42, /* TODO: put YOUR userid here */ 1443 "uid", MSIM_TYPE_INTEGER, session->userid,
1444 "rid", MSIM_TYPE_INTEGER, session->next_rid++, 1444 "rid", MSIM_TYPE_INTEGER, session->next_rid++,
1445 "body", MSIM_TYPE_STRING, g_strdup("ContactID=%d"), 1445 "body", MSIM_TYPE_STRING, g_strdup("ContactID=%d"),
1446 NULL); 1446 NULL);
1447 1447
1448 /* TODO: free msg */ 1448 /* TODO: free msg */
1607 g_hash_table_insert(session->user_lookup_cb_data, GUINT_TO_POINTER(rid), data); 1607 g_hash_table_insert(session->user_lookup_cb_data, GUINT_TO_POINTER(rid), data);
1608 1608
1609 return rid; 1609 return rid;
1610 } 1610 }
1611 1611
1612 /** Process reply to get our own userid. */
1613 void msim_get_own_uid_cb(MsimSession *session, MsimMessage *userinfo, gpointer data)
1614 {
1615 /* TODO */
1616 msim_msg_dump("msim_get_own_uid_cb: %s\n", userinfo);
1617 }
1618
1619 /** Request our own userid. */
1620 void msim_get_own_uid(MsimSession *session)
1621 {
1622 guint rid;
1623
1624 rid = msim_new_reply_callback(session, msim_get_own_uid_cb, NULL);
1625
1626 g_return_if_fail(msim_send(session,
1627 "persist", MSIM_TYPE_INTEGER, 1,
1628 "sesskey", MSIM_TYPE_INTEGER, session->sesskey,
1629 "cmd", MSIM_TYPE_INTEGER, 1,
1630 "dsn", MSIM_TYPE_INTEGER, MG_OWN_MYSPACE_INFO_DSN,
1631 "lid", MSIM_TYPE_INTEGER, MG_OWN_MYSPACE_INFO_LID,
1632 "rid", MSIM_TYPE_INTEGER, rid,
1633 "body", MSIM_TYPE_STRING, g_strdup(""),
1634 NULL));
1635 }
1636
1637
1638 /** 1612 /**
1639 * Callback when connected. Sets up input handlers. 1613 * Callback when connected. Sets up input handlers.
1640 * 1614 *
1641 * @param data A PurpleConnection pointer. 1615 * @param data A PurpleConnection pointer.
1642 * @param source File descriptor. 1616 * @param source File descriptor.
1715 g_return_if_fail(MSIM_SESSION_VALID(session)); 1689 g_return_if_fail(MSIM_SESSION_VALID(session));
1716 1690
1717 session->magic = -1; 1691 session->magic = -1;
1718 1692
1719 g_free(session->rxbuf); 1693 g_free(session->rxbuf);
1720 g_free(session->userid);
1721 1694
1722 /* TODO: Remove. */ 1695 /* TODO: Remove. */
1723 g_hash_table_destroy(session->user_lookup_cb); 1696 g_hash_table_destroy(session->user_lookup_cb);
1724 g_hash_table_destroy(session->user_lookup_cb_data); 1697 g_hash_table_destroy(session->user_lookup_cb_data);
1725 g_hash_table_destroy(session->user_lookup_cache); 1698 g_hash_table_destroy(session->user_lookup_cache);
1846 g_return_if_fail(msim_send(session, 1819 g_return_if_fail(msim_send(session,
1847 "persist", MSIM_TYPE_INTEGER, 1, 1820 "persist", MSIM_TYPE_INTEGER, 1,
1848 "sesskey", MSIM_TYPE_INTEGER, session->sesskey, 1821 "sesskey", MSIM_TYPE_INTEGER, session->sesskey,
1849 "cmd", MSIM_TYPE_INTEGER, 1, 1822 "cmd", MSIM_TYPE_INTEGER, 1,
1850 "dsn", MSIM_TYPE_INTEGER, dsn, 1823 "dsn", MSIM_TYPE_INTEGER, dsn,
1851 "uid", MSIM_TYPE_STRING, g_strdup(session->userid), 1824 "uid", MSIM_TYPE_INTEGER, session->userid,
1852 "lid", MSIM_TYPE_INTEGER, lid, 1825 "lid", MSIM_TYPE_INTEGER, lid,
1853 "rid", MSIM_TYPE_INTEGER, rid, 1826 "rid", MSIM_TYPE_INTEGER, rid,
1854 /* TODO: dictionary field type */ 1827 /* TODO: dictionary field type */
1855 "body", MSIM_TYPE_STRING, g_strdup_printf("%s=%s", field_name, user), 1828 "body", MSIM_TYPE_STRING, g_strdup_printf("%s=%s", field_name, user),
1856 NULL)); 1829 NULL));

mercurial