Class: PurpleRuby::Account

Inherits:
Object
  • Object
show all
Defined in:
ext/purple_ruby.c

Instance Method Summary collapse

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 *;
  Data_Get_Struct(self, PurpleAccount, );
  
  PurpleBuddy* pb = purple_buddy_new(, 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);
  (, pb);
  return Qtrue;
}

#deleteObject



800
801
802
803
804
805
806
# File 'ext/purple_ruby.c', line 800

static VALUE acc_delete(VALUE self)
{
  PurpleAccount *;
  Data_Get_Struct(self, PurpleAccount, );
  purple_accounts_delete();
  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 *;
  Data_Get_Struct(self, PurpleAccount, );
  gboolean value = (, 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 *;
  Data_Get_Struct(self, PurpleAccount, );
  const char* value = (, RSTRING_PTR(name), RSTRING_PTR(default_value));
  return (NULL == value) ? Qnil : rb_str_new2(value);
}

#has_buddy?(buddy) ⇒ Boolean

Returns:

  • (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 *;
  Data_Get_Struct(self, PurpleAccount, );
  if (purple_find_buddy(, RSTRING_PTR(buddy)) != NULL) {
    return Qtrue;
  } else {
    return Qfalse;
  }
}

#logoutObject



637
638
639
640
641
642
643
644
# File 'ext/purple_ruby.c', line 637

static VALUE logout(VALUE self)
{
  PurpleAccount *;
  Data_Get_Struct(self, PurpleAccount, );
  ();

  return Qnil;
}

#protocol_idObject



696
697
698
699
700
701
# File 'ext/purple_ruby.c', line 696

static VALUE protocol_id(VALUE self)
{
  PurpleAccount *;
  Data_Get_Struct(self, PurpleAccount, );
  return rb_str_new2(());
}

#protocol_nameObject



703
704
705
706
707
708
# File 'ext/purple_ruby.c', line 703

static VALUE protocol_name(VALUE self)
{
  PurpleAccount *;
  Data_Get_Struct(self, PurpleAccount, );
  return rb_str_new2(());
}

#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 *;
  Data_Get_Struct(self, PurpleAccount, );
  
  PurpleBuddy* pb = purple_find_buddy(, RSTRING_PTR(buddy));
  if (NULL == pb) {
    rb_raise(rb_eRuntimeError, "Failed to remove buddy for %s : %s does not exist", (), 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);
  (, 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 message)
{
  PurpleAccount *;
  Data_Get_Struct(self, PurpleAccount, );
  
  if (()) {
    int i = serv_send_im((), RSTRING_PTR(name), RSTRING_PTR(message), 0);
    return INT2FIX(i);
  } else {
    return Qnil;
  }
}

#usernameObject



689
690
691
692
693
694
# File 'ext/purple_ruby.c', line 689

static VALUE username(VALUE self)
{
  PurpleAccount *;
  Data_Get_Struct(self, PurpleAccount, );
  return rb_str_new2(());
}