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
- #logout ⇒ Object
- #protocol_id ⇒ Object
- #protocol_name ⇒ Object
- #remove_buddy(buddy) ⇒ Object
- #send_im(name, message) ⇒ Object
- #username ⇒ Object
Instance Method Details
#add_buddy(buddy) ⇒ Object
746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 |
# File 'ext/purple_ruby.c', line 746 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
800 801 802 803 804 805 806 |
# File 'ext/purple_ruby.c', line 800 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
710 711 712 713 714 715 716 717 |
# File 'ext/purple_ruby.c', line 710 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
719 720 721 722 723 724 725 |
# File 'ext/purple_ruby.c', line 719 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
789 790 791 792 793 794 795 796 797 798 |
# File 'ext/purple_ruby.c', line 789 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; } } |
#logout ⇒ Object
637 638 639 640 641 642 643 644 |
# File 'ext/purple_ruby.c', line 637 static VALUE logout(VALUE self) { PurpleAccount *account; Data_Get_Struct(self, PurpleAccount, account); purple_account_disconnect(account); return Qnil; } |
#protocol_id ⇒ Object
696 697 698 699 700 701 |
# File 'ext/purple_ruby.c', line 696 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
703 704 705 706 707 708 |
# File 'ext/purple_ruby.c', line 703 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
766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 |
# File 'ext/purple_ruby.c', line 766 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
676 677 678 679 680 681 682 683 684 685 686 687 |
# File 'ext/purple_ruby.c', line 676 static VALUE send_im(VALUE self, VALUE name, VALUE ) { 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(), 0); return INT2FIX(i); } else { return Qnil; } } |
#username ⇒ Object
689 690 691 692 693 694 |
# File 'ext/purple_ruby.c', line 689 static VALUE username(VALUE self) { PurpleAccount *account; Data_Get_Struct(self, PurpleAccount, account); return rb_str_new2(purple_account_get_username(account)); } |