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
703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 |
# File 'ext/purple_ruby.c', line 703
static VALUE add_buddy(VALUE self, VALUE buddy)
{
PurpleAccount *account;
Data_Get_Struct(self, PurpleAccount, account);
PurpleBuddy* pb = purple_buddy_new(account, RSTRING(buddy)->ptr, 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
757 758 759 760 761 762 763 |
# File 'ext/purple_ruby.c', line 757
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
667 668 669 670 671 672 673 674 |
# File 'ext/purple_ruby.c', line 667
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(name)->ptr,
(default_value == Qfalse || default_value == Qnil) ? FALSE : TRUE);
return (TRUE == value) ? Qtrue : Qfalse;
}
|
#get_string_setting(name, default_value) ⇒ Object
676 677 678 679 680 681 682 |
# File 'ext/purple_ruby.c', line 676
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(name)->ptr, RSTRING(default_value)->ptr);
return (NULL == value) ? Qnil : rb_str_new2(value);
}
|
#has_buddy?(buddy) ⇒ Boolean
746 747 748 749 750 751 752 753 754 755 |
# File 'ext/purple_ruby.c', line 746
static VALUE has_buddy(VALUE self, VALUE buddy)
{
PurpleAccount *account;
Data_Get_Struct(self, PurpleAccount, account);
if (purple_find_buddy(account, RSTRING(buddy)->ptr) != NULL) {
return Qtrue;
} else {
return Qfalse;
}
}
|
#protocol_id ⇒ Object
653 654 655 656 657 658 |
# File 'ext/purple_ruby.c', line 653
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
660 661 662 663 664 665 |
# File 'ext/purple_ruby.c', line 660
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
723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 |
# File 'ext/purple_ruby.c', line 723
static VALUE remove_buddy(VALUE self, VALUE buddy)
{
PurpleAccount *account;
Data_Get_Struct(self, PurpleAccount, account);
PurpleBuddy* pb = purple_find_buddy(account, RSTRING(buddy)->ptr);
if (NULL == pb) {
rb_raise(rb_eRuntimeError, "Failed to remove buddy for %s : %s does not exist", purple_account_get_username(account), RSTRING(buddy)->ptr);
}
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
633 634 635 636 637 638 639 640 641 642 643 644 |
# File 'ext/purple_ruby.c', line 633
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(name)->ptr, RSTRING(message)->ptr, 0);
return INT2FIX(i);
} else {
return Qnil;
}
}
|
#username ⇒ Object
646 647 648 649 650 651 |
# File 'ext/purple_ruby.c', line 646
static VALUE username(VALUE self)
{
PurpleAccount *account;
Data_Get_Struct(self, PurpleAccount, account);
return rb_str_new2(purple_account_get_username(account));
}
|