Mercurial > pidgin
comparison src/protocols/zephyr/zephyr.c @ 9597:d6f398e80b32
[gaim-migrate @ 10440]
denyri added a void *data argument to most of the command related
functions. This makes it easier for language binding and such.
committer: Tailor Script <tailor@pidgin.im>
author | Tim Ringenbach <marv@pidgin.im> |
---|---|
date | Mon, 26 Jul 2004 03:27:03 +0000 |
parents | fe35f55ee984 |
children | a6362795bf2c |
comparison
equal
deleted
inserted
replaced
9596:7b3212aa698c | 9597:d6f398e80b32 |
---|---|
1555 } | 1555 } |
1556 | 1556 |
1557 /* commands */ | 1557 /* commands */ |
1558 | 1558 |
1559 static GaimCmdRet zephyr_gaim_cmd_msg(GaimConversation *conv, | 1559 static GaimCmdRet zephyr_gaim_cmd_msg(GaimConversation *conv, |
1560 const char *cmd, char **args, char **error) | 1560 const char *cmd, char **args, char **error, void *data) |
1561 { | 1561 { |
1562 char *recipient; | 1562 char *recipient; |
1563 | 1563 |
1564 if (!g_ascii_strcasecmp(args[0],"*")) | 1564 if (!g_ascii_strcasecmp(args[0],"*")) |
1565 return GAIM_CMD_RET_FAILED; /* "*" is not a valid argument */ | 1565 return GAIM_CMD_RET_FAILED; /* "*" is not a valid argument */ |
1574 else | 1574 else |
1575 return GAIM_CMD_RET_FAILED; | 1575 return GAIM_CMD_RET_FAILED; |
1576 } | 1576 } |
1577 | 1577 |
1578 static GaimCmdRet zephyr_gaim_cmd_zlocate(GaimConversation *conv, | 1578 static GaimCmdRet zephyr_gaim_cmd_zlocate(GaimConversation *conv, |
1579 const char *cmd, char **args, char **error) | 1579 const char *cmd, char **args, char **error, void *data) |
1580 { | 1580 { |
1581 zephyr_zloc(zgc,args[0]); | 1581 zephyr_zloc(zgc,args[0]); |
1582 return GAIM_CMD_RET_OK; | 1582 return GAIM_CMD_RET_OK; |
1583 } | 1583 } |
1584 | 1584 |
1585 static GaimCmdRet zephyr_gaim_cmd_instance(GaimConversation *conv, | 1585 static GaimCmdRet zephyr_gaim_cmd_instance(GaimConversation *conv, |
1586 const char *cmd, char **args, char **error) | 1586 const char *cmd, char **args, char **error, void *data) |
1587 { | 1587 { |
1588 /* Currently it sets the instance with leading spaces and | 1588 /* Currently it sets the instance with leading spaces and |
1589 * all. This might not be the best thing to do, though having | 1589 * all. This might not be the best thing to do, though having |
1590 * one word isn't ideal either. */ | 1590 * one word isn't ideal either. */ |
1591 | 1591 |
1595 zephyr_chat_set_topic(zgc,id,instance); | 1595 zephyr_chat_set_topic(zgc,id,instance); |
1596 return GAIM_CMD_RET_OK; | 1596 return GAIM_CMD_RET_OK; |
1597 } | 1597 } |
1598 | 1598 |
1599 static GaimCmdRet zephyr_gaim_cmd_joinchat_cir(GaimConversation *conv, | 1599 static GaimCmdRet zephyr_gaim_cmd_joinchat_cir(GaimConversation *conv, |
1600 const char *cmd, char **args, char **error) | 1600 const char *cmd, char **args, char **error, void *data) |
1601 { | 1601 { |
1602 /* Join a new zephyr chat */ | 1602 /* Join a new zephyr chat */ |
1603 GHashTable *triple = g_hash_table_new(NULL,NULL); | 1603 GHashTable *triple = g_hash_table_new(NULL,NULL); |
1604 g_hash_table_insert(triple,"class",args[0]); | 1604 g_hash_table_insert(triple,"class",args[0]); |
1605 g_hash_table_insert(triple,"instance",args[1]); | 1605 g_hash_table_insert(triple,"instance",args[1]); |
1607 zephyr_join_chat(zgc,triple); | 1607 zephyr_join_chat(zgc,triple); |
1608 return GAIM_CMD_RET_OK; | 1608 return GAIM_CMD_RET_OK; |
1609 } | 1609 } |
1610 | 1610 |
1611 static GaimCmdRet zephyr_gaim_cmd_zi(GaimConversation *conv, | 1611 static GaimCmdRet zephyr_gaim_cmd_zi(GaimConversation *conv, |
1612 const char *cmd, char **args, char **error) | 1612 const char *cmd, char **args, char **error, void *data) |
1613 { | 1613 { |
1614 /* args = instance, message */ | 1614 /* args = instance, message */ |
1615 if ( zephyr_send_message("message",args[0],"",args[1],zephyr_get_signature(),"")) | 1615 if ( zephyr_send_message("message",args[0],"",args[1],zephyr_get_signature(),"")) |
1616 return GAIM_CMD_RET_OK; | 1616 return GAIM_CMD_RET_OK; |
1617 else | 1617 else |
1618 return GAIM_CMD_RET_FAILED; | 1618 return GAIM_CMD_RET_FAILED; |
1619 } | 1619 } |
1620 | 1620 |
1621 static GaimCmdRet zephyr_gaim_cmd_zci(GaimConversation *conv, | 1621 static GaimCmdRet zephyr_gaim_cmd_zci(GaimConversation *conv, |
1622 const char *cmd, char **args, char **error) | 1622 const char *cmd, char **args, char **error, void *data) |
1623 { | 1623 { |
1624 /* args = class, instance, message */ | 1624 /* args = class, instance, message */ |
1625 if ( zephyr_send_message(args[0],args[1],"",args[2],zephyr_get_signature(),"")) | 1625 if ( zephyr_send_message(args[0],args[1],"",args[2],zephyr_get_signature(),"")) |
1626 return GAIM_CMD_RET_OK; | 1626 return GAIM_CMD_RET_OK; |
1627 else | 1627 else |
1628 return GAIM_CMD_RET_FAILED; | 1628 return GAIM_CMD_RET_FAILED; |
1629 } | 1629 } |
1630 | 1630 |
1631 static GaimCmdRet zephyr_gaim_cmd_zcir(GaimConversation *conv, | 1631 static GaimCmdRet zephyr_gaim_cmd_zcir(GaimConversation *conv, |
1632 const char *cmd, char **args, char **error) | 1632 const char *cmd, char **args, char **error, void *data) |
1633 { | 1633 { |
1634 /* args = class, instance, recipient, message */ | 1634 /* args = class, instance, recipient, message */ |
1635 if ( zephyr_send_message(args[0],args[1],args[2],args[3],zephyr_get_signature(),"")) | 1635 if ( zephyr_send_message(args[0],args[1],args[2],args[3],zephyr_get_signature(),"")) |
1636 return GAIM_CMD_RET_OK; | 1636 return GAIM_CMD_RET_OK; |
1637 else | 1637 else |
1638 return GAIM_CMD_RET_FAILED; | 1638 return GAIM_CMD_RET_FAILED; |
1639 } | 1639 } |
1640 | 1640 |
1641 static GaimCmdRet zephyr_gaim_cmd_zir(GaimConversation *conv, | 1641 static GaimCmdRet zephyr_gaim_cmd_zir(GaimConversation *conv, |
1642 const char *cmd, char **args, char **error) | 1642 const char *cmd, char **args, char **error, void *data) |
1643 { | 1643 { |
1644 /* args = instance, recipient, message */ | 1644 /* args = instance, recipient, message */ |
1645 if ( zephyr_send_message("message",args[0],args[1],args[2],zephyr_get_signature(),"")) | 1645 if ( zephyr_send_message("message",args[0],args[1],args[2],zephyr_get_signature(),"")) |
1646 return GAIM_CMD_RET_OK; | 1646 return GAIM_CMD_RET_OK; |
1647 else | 1647 else |
1648 return GAIM_CMD_RET_FAILED; | 1648 return GAIM_CMD_RET_FAILED; |
1649 } | 1649 } |
1650 | 1650 |
1651 static GaimCmdRet zephyr_gaim_cmd_zc(GaimConversation *conv, | 1651 static GaimCmdRet zephyr_gaim_cmd_zc(GaimConversation *conv, |
1652 const char *cmd, char **args, char **error) | 1652 const char *cmd, char **args, char **error, void *data) |
1653 { | 1653 { |
1654 /* args = class, message */ | 1654 /* args = class, message */ |
1655 if ( zephyr_send_message(args[0],"PERSONAL","",args[1],zephyr_get_signature(),"")) | 1655 if ( zephyr_send_message(args[0],"PERSONAL","",args[1],zephyr_get_signature(),"")) |
1656 return GAIM_CMD_RET_OK; | 1656 return GAIM_CMD_RET_OK; |
1657 else | 1657 else |
1658 return GAIM_CMD_RET_FAILED; | 1658 return GAIM_CMD_RET_FAILED; |
1659 } | 1659 } |
1660 | 1660 |
1661 static void zephyr_register_slash_commands() | 1661 static void zephyr_register_slash_commands() |
1662 { | 1662 { |
1663 | 1663 |
1664 gaim_cmd_register("msg","ws", GAIM_CMD_P_PRPL, | 1664 gaim_cmd_register("msg","ws", GAIM_CMD_P_PRPL, |
1665 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, | 1665 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, |
1666 "prpl-zephyr", | 1666 "prpl-zephyr", |
1667 zephyr_gaim_cmd_msg, _("msg <nick> <message>: Send a private message to a user")); | 1667 zephyr_gaim_cmd_msg, _("msg <nick> <message>: Send a private message to a user"), NULL); |
1668 | 1668 |
1669 gaim_cmd_register("zlocate","w", GAIM_CMD_P_PRPL, | 1669 gaim_cmd_register("zlocate","w", GAIM_CMD_P_PRPL, |
1670 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, | 1670 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, |
1671 "prpl-zephyr", | 1671 "prpl-zephyr", |
1672 zephyr_gaim_cmd_zlocate, _("zlocate <nick>: Locate user")); | 1672 zephyr_gaim_cmd_zlocate, _("zlocate <nick>: Locate user"), NULL); |
1673 | 1673 |
1674 gaim_cmd_register("zl","w", GAIM_CMD_P_PRPL, | 1674 gaim_cmd_register("zl","w", GAIM_CMD_P_PRPL, |
1675 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, | 1675 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, |
1676 "prpl-zephyr", | 1676 "prpl-zephyr", |
1677 zephyr_gaim_cmd_zlocate, _("zl <nick>: Locate user")); | 1677 zephyr_gaim_cmd_zlocate, _("zl <nick>: Locate user"), NULL); |
1678 | 1678 |
1679 gaim_cmd_register("instance","s", GAIM_CMD_P_PRPL, | 1679 gaim_cmd_register("instance","s", GAIM_CMD_P_PRPL, |
1680 GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, | 1680 GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, |
1681 "prpl-zephyr", | 1681 "prpl-zephyr", |
1682 zephyr_gaim_cmd_instance, _("instance <instance>: Set the instance to be used on this class")); | 1682 zephyr_gaim_cmd_instance, _("instance <instance>: Set the instance to be used on this class"), NULL); |
1683 | 1683 |
1684 gaim_cmd_register("inst","s", GAIM_CMD_P_PRPL, | 1684 gaim_cmd_register("inst","s", GAIM_CMD_P_PRPL, |
1685 GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, | 1685 GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, |
1686 "prpl-zephyr", | 1686 "prpl-zephyr", |
1687 zephyr_gaim_cmd_instance, _("inst <instance>: Set the instance to be used on this class")); | 1687 zephyr_gaim_cmd_instance, _("inst <instance>: Set the instance to be used on this class"), NULL); |
1688 | 1688 |
1689 gaim_cmd_register("sub", "www", GAIM_CMD_P_PRPL, | 1689 gaim_cmd_register("sub", "www", GAIM_CMD_P_PRPL, |
1690 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, | 1690 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, |
1691 "prpl-zephyr", | 1691 "prpl-zephyr", |
1692 zephyr_gaim_cmd_joinchat_cir, | 1692 zephyr_gaim_cmd_joinchat_cir, |
1693 _("sub <class> <instance> <recipient>: Join a new chat")); | 1693 _("sub <class> <instance> <recipient>: Join a new chat"), NULL); |
1694 | 1694 |
1695 gaim_cmd_register("zi","ws", GAIM_CMD_P_PRPL, | 1695 gaim_cmd_register("zi","ws", GAIM_CMD_P_PRPL, |
1696 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, | 1696 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, |
1697 "prpl-zephyr", | 1697 "prpl-zephyr", |
1698 zephyr_gaim_cmd_zi, _("zi <instance>: Send a message to <message,<i>instance</i>,*>")); | 1698 zephyr_gaim_cmd_zi, _("zi <instance>: Send a message to <message,<i>instance</i>,*>"), NULL); |
1699 | 1699 |
1700 gaim_cmd_register("zci","wws",GAIM_CMD_P_PRPL, | 1700 gaim_cmd_register("zci","wws",GAIM_CMD_P_PRPL, |
1701 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, | 1701 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, |
1702 "prpl-zephyr", | 1702 "prpl-zephyr", |
1703 zephyr_gaim_cmd_zci, | 1703 zephyr_gaim_cmd_zci, |
1704 _("zci <class> <instance>: Send a message to <<i>class</i>,<i>instance</i>,*>")); | 1704 _("zci <class> <instance>: Send a message to <<i>class</i>,<i>instance</i>,*>"), NULL); |
1705 | 1705 |
1706 gaim_cmd_register("zcir","wwws",GAIM_CMD_P_PRPL, | 1706 gaim_cmd_register("zcir","wwws",GAIM_CMD_P_PRPL, |
1707 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, | 1707 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, |
1708 "prpl-zephyr", | 1708 "prpl-zephyr", |
1709 zephyr_gaim_cmd_zcir, | 1709 zephyr_gaim_cmd_zcir, |
1710 _("zcir <class> <instance> <recipient>: Send a message to <<i>class</i>,<i>instance</i>,<i>recipient</i>>")); | 1710 _("zcir <class> <instance> <recipient>: Send a message to <<i>class</i>,<i>instance</i>,<i>recipient</i>>"), NULL); |
1711 | 1711 |
1712 gaim_cmd_register("zir","wws",GAIM_CMD_P_PRPL, | 1712 gaim_cmd_register("zir","wws",GAIM_CMD_P_PRPL, |
1713 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, | 1713 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, |
1714 "prpl-zephyr", | 1714 "prpl-zephyr", |
1715 zephyr_gaim_cmd_zir, | 1715 zephyr_gaim_cmd_zir, |
1716 _("zir <instance> <recipient>: Send a message to <MESSAGE,<i>instance</i>,<i>recipient</i>>")); | 1716 _("zir <instance> <recipient>: Send a message to <MESSAGE,<i>instance</i>,<i>recipient</i>>"), NULL); |
1717 | 1717 |
1718 gaim_cmd_register("zc","ws", GAIM_CMD_P_PRPL, | 1718 gaim_cmd_register("zc","ws", GAIM_CMD_P_PRPL, |
1719 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, | 1719 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_PRPL_ONLY, |
1720 "prpl-zephyr", | 1720 "prpl-zephyr", |
1721 zephyr_gaim_cmd_zc, _("zc <class>: Send a message to <<i>class</i>,PERSONAL,*>")); | 1721 zephyr_gaim_cmd_zc, _("zc <class>: Send a message to <<i>class</i>,PERSONAL,*>"), NULL); |
1722 | 1722 |
1723 } | 1723 } |
1724 | 1724 |
1725 | 1725 |
1726 static int zephyr_resubscribe(GaimConnection *gc) | 1726 static int zephyr_resubscribe(GaimConnection *gc) |
1727 { | 1727 { |