Class: PurpleRuby::Account
- Inherits:
-
Object
- Object
- PurpleRuby::Account
- Defined in:
- ext/purple_ruby.c
Instance Method Summary collapse
- #add_buddy(buddy) ⇒ Object
- #delete ⇒ Object
- #get_bool_setting(name, default_value) ⇒ Object
- #get_string_setting(name, default_value) ⇒ Object
- #has_buddy?(buddy) ⇒ Boolean
- #protocol_id ⇒ Object
- #protocol_name ⇒ Object
- #remove_buddy(buddy) ⇒ Object
- #send_im(name, message) ⇒ Object
- #username ⇒ Object
Instance Method Details
#add_buddy(buddy) ⇒ Object
718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 |
# File 'ext/purple_ruby.c', line 718
static VALUE add_buddy(VALUE self, VALUE buddy)
{
PurpleAccount *account;
Data_Get_Struct(self, PurpleAccount, account);
PurpleBuddy* pb = purple_buddy_new(account, RSTRING_PTR(buddy), NULL);
char* group = _("Buddies");
PurpleGroup* grp = purple_find_group(group);
if (!grp)
{
grp = purple_group_new(group);
purple_blist_add_group(grp, NULL);
}
purple_blist_add_buddy(pb, NULL, grp, NULL);
purple_account_add_buddy(account, pb);
return Qtrue;
}
|
#delete ⇒ Object
772 773 774 775 776 777 778 |
# File 'ext/purple_ruby.c', line 772
static VALUE acc_delete(VALUE self)
{
PurpleAccount *account;
Data_Get_Struct(self, PurpleAccount, account);
purple_accounts_delete(account);
return Qnil;
}
|
#get_bool_setting(name, default_value) ⇒ Object
682 683 684 685 686 687 688 689 |
# File 'ext/purple_ruby.c', line 682
static VALUE get_bool_setting(VALUE self, VALUE name, VALUE default_value)
{
PurpleAccount *account;
Data_Get_Struct(self, PurpleAccount, account);
gboolean value = purple_account_get_bool(account, RSTRING_PTR(name),
(default_value == Qfalse || default_value == Qnil) ? FALSE : TRUE);
return (TRUE == value) ? Qtrue : Qfalse;
}
|
#get_string_setting(name, default_value) ⇒ Object
691 692 693 694 695 696 697 |
# File 'ext/purple_ruby.c', line 691
static VALUE get_string_setting(VALUE self, VALUE name, VALUE default_value)
{
PurpleAccount *account;
Data_Get_Struct(self, PurpleAccount, account);
const char* value = purple_account_get_string(account, RSTRING_PTR(name), RSTRING_PTR(default_value));
return (NULL == value) ? Qnil : rb_str_new2(value);
}
|
#has_buddy?(buddy) ⇒ Boolean
761 762 763 764 765 766 767 768 769 770 |
# File 'ext/purple_ruby.c', line 761
static VALUE has_buddy(VALUE self, VALUE buddy)
{
PurpleAccount *account;
Data_Get_Struct(self, PurpleAccount, account);
if (purple_find_buddy(account, RSTRING_PTR(buddy)) != NULL) {
return Qtrue;
} else {
return Qfalse;
}
}
|
#protocol_id ⇒ Object
668 669 670 671 672 673 |
# File 'ext/purple_ruby.c', line 668
static VALUE protocol_id(VALUE self)
{
PurpleAccount *account;
Data_Get_Struct(self, PurpleAccount, account);
return rb_str_new2(purple_account_get_protocol_id(account));
}
|
#protocol_name ⇒ Object
675 676 677 678 679 680 |
# File 'ext/purple_ruby.c', line 675
static VALUE protocol_name(VALUE self)
{
PurpleAccount *account;
Data_Get_Struct(self, PurpleAccount, account);
return rb_str_new2(purple_account_get_protocol_name(account));
}
|
#remove_buddy(buddy) ⇒ Object
738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 |
# File 'ext/purple_ruby.c', line 738
static VALUE remove_buddy(VALUE self, VALUE buddy)
{
PurpleAccount *account;
Data_Get_Struct(self, PurpleAccount, account);
PurpleBuddy* pb = purple_find_buddy(account, RSTRING_PTR(buddy));
if (NULL == pb) {
rb_raise(rb_eRuntimeError, "Failed to remove buddy for %s : %s does not exist", purple_account_get_username(account), RSTRING_PTR(buddy));
}
char* group = _("Buddies");
PurpleGroup* grp = purple_find_group(group);
if (!grp)
{
grp = purple_group_new(group);
purple_blist_add_group(grp, NULL);
}
purple_blist_remove_buddy(pb);
purple_account_remove_buddy(account, pb, grp);
return Qtrue;
}
|
#send_im(name, message) ⇒ Object
648 649 650 651 652 653 654 655 656 657 658 659 |
# File 'ext/purple_ruby.c', line 648
static VALUE send_im(VALUE self, VALUE name, VALUE message)
{
PurpleAccount *account;
Data_Get_Struct(self, PurpleAccount, account);
if (purple_account_is_connected(account)) {
int i = serv_send_im(purple_account_get_connection(account), RSTRING_PTR(name), RSTRING_PTR(message), 0);
return INT2FIX(i);
} else {
return Qnil;
}
}
|
#username ⇒ Object
661 662 663 664 665 666 |
# File 'ext/purple_ruby.c', line 661
static VALUE username(VALUE self)
{
PurpleAccount *account;
Data_Get_Struct(self, PurpleAccount, account);
return rb_str_new2(purple_account_get_username(account));
}
|