libpurple/connection.c

branch
soc.2013.gobjectification.plugins
changeset 36872
c0099fc27ace
parent 36868
1aca7f52f1ef
parent 35012
e07a9b9c6bda
child 36928
ae920fa34143
equal deleted inserted replaced
36871:8da5914b107a 36872:c0099fc27ace
239 purple_account_destroy_log(account); 239 purple_account_destroy_log(account);
240 240
241 if (ops != NULL && ops->disconnected != NULL) 241 if (ops != NULL && ops->disconnected != NULL)
242 ops->disconnected(gc); 242 ops->disconnected(gc);
243 } 243 }
244
245 g_object_notify(G_OBJECT(gc), "state");
244 } 246 }
245 247
246 void 248 void
247 purple_connection_set_flags(PurpleConnection *gc, PurpleConnectionFlags flags) 249 purple_connection_set_flags(PurpleConnection *gc, PurpleConnectionFlags flags)
248 { 250 {
249 PurpleConnectionPrivate *priv = PURPLE_CONNECTION_GET_PRIVATE(gc); 251 PurpleConnectionPrivate *priv = PURPLE_CONNECTION_GET_PRIVATE(gc);
250 252
251 g_return_if_fail(priv != NULL); 253 g_return_if_fail(priv != NULL);
252 254
253 priv->flags = flags; 255 priv->flags = flags;
256
257 g_object_notify(G_OBJECT(gc), "flags");
254 } 258 }
255 259
256 void 260 void
257 purple_connection_set_display_name(PurpleConnection *gc, const char *name) 261 purple_connection_set_display_name(PurpleConnection *gc, const char *name)
258 { 262 {
260 264
261 g_return_if_fail(priv != NULL); 265 g_return_if_fail(priv != NULL);
262 266
263 g_free(priv->display_name); 267 g_free(priv->display_name);
264 priv->display_name = g_strdup(name); 268 priv->display_name = g_strdup(name);
269
270 g_object_notify(G_OBJECT(gc), "display-name");
265 } 271 }
266 272
267 void 273 void
268 purple_connection_set_protocol_data(PurpleConnection *gc, void *proto_data) 274 purple_connection_set_protocol_data(PurpleConnection *gc, void *proto_data)
269 { 275 {
585 } 591 }
586 592
587 /************************************************************************** 593 /**************************************************************************
588 * GObject code 594 * GObject code
589 **************************************************************************/ 595 **************************************************************************/
590 /* GObject Property names */
591 #define PROP_PROTOCOL_S "protocol"
592 #define PROP_FLAGS_S "flags"
593 #define PROP_STATE_S "state"
594 #define PROP_ACCOUNT_S "account"
595 #define PROP_PASSWORD_S "password"
596 #define PROP_DISPLAY_NAME_S "display-name"
597 596
598 /* Set method for GObject properties */ 597 /* Set method for GObject properties */
599 static void 598 static void
600 purple_connection_set_property(GObject *obj, guint param_id, const GValue *value, 599 purple_connection_set_property(GObject *obj, guint param_id, const GValue *value,
601 GParamSpec *pspec) 600 GParamSpec *pspec)
680 PurpleConnection *gc = PURPLE_CONNECTION(object); 679 PurpleConnection *gc = PURPLE_CONNECTION(object);
681 PurpleAccount *account; 680 PurpleAccount *account;
682 681
683 G_OBJECT_CLASS(parent_class)->constructed(object); 682 G_OBJECT_CLASS(parent_class)->constructed(object);
684 683
685 g_object_get(gc, PROP_ACCOUNT_S, &account, NULL); 684 g_object_get(gc, "account", &account, NULL);
686 purple_account_set_connection(account, gc); 685 purple_account_set_connection(account, gc);
687 g_object_unref(account); 686 g_object_unref(account);
688 687
689 purple_signal_emit(purple_connections_get_handle(), "signing-on", gc); 688 purple_signal_emit(purple_connections_get_handle(), "signing-on", gc);
690 } 689 }
772 /* Setup properties */ 771 /* Setup properties */
773 obj_class->get_property = purple_connection_get_property; 772 obj_class->get_property = purple_connection_get_property;
774 obj_class->set_property = purple_connection_set_property; 773 obj_class->set_property = purple_connection_set_property;
775 774
776 g_object_class_install_property(obj_class, PROP_PROTOCOL, 775 g_object_class_install_property(obj_class, PROP_PROTOCOL,
777 g_param_spec_object(PROP_PROTOCOL_S, _("Protocol"), 776 g_param_spec_object("protocol", _("Protocol"),
778 _("The protocol that the connection is using."), 777 _("The protocol that the connection is using."),
779 PURPLE_TYPE_PROTOCOL, 778 PURPLE_TYPE_PROTOCOL,
780 G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY) 779 G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)
781 ); 780 );
782 781
783 g_object_class_install_property(obj_class, PROP_FLAGS, 782 g_object_class_install_property(obj_class, PROP_FLAGS,
784 g_param_spec_flags(PROP_FLAGS_S, _("Connection flags"), 783 g_param_spec_flags("flags", _("Connection flags"),
785 _("The flags of the connection."), 784 _("The flags of the connection."),
786 PURPLE_TYPE_CONNECTION_FLAGS, 0, 785 PURPLE_TYPE_CONNECTION_FLAGS, 0,
787 G_PARAM_READWRITE) 786 G_PARAM_READWRITE)
788 ); 787 );
789 788
790 g_object_class_install_property(obj_class, PROP_STATE, 789 g_object_class_install_property(obj_class, PROP_STATE,
791 g_param_spec_enum(PROP_STATE_S, _("Connection state"), 790 g_param_spec_enum("state", _("Connection state"),
792 _("The current state of the connection."), 791 _("The current state of the connection."),
793 PURPLE_TYPE_CONNECTION_STATE, PURPLE_CONNECTION_DISCONNECTED, 792 PURPLE_TYPE_CONNECTION_STATE, PURPLE_CONNECTION_DISCONNECTED,
794 G_PARAM_READWRITE) 793 G_PARAM_READWRITE)
795 ); 794 );
796 795
797 g_object_class_install_property(obj_class, PROP_ACCOUNT, 796 g_object_class_install_property(obj_class, PROP_ACCOUNT,
798 g_param_spec_object(PROP_ACCOUNT_S, _("Account"), 797 g_param_spec_object("account", _("Account"),
799 _("The account using the connection."), PURPLE_TYPE_ACCOUNT, 798 _("The account using the connection."), PURPLE_TYPE_ACCOUNT,
800 G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY) 799 G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)
801 ); 800 );
802 801
803 g_object_class_install_property(obj_class, PROP_PASSWORD, 802 g_object_class_install_property(obj_class, PROP_PASSWORD,
804 g_param_spec_string(PROP_PASSWORD_S, _("Password"), 803 g_param_spec_string("password", _("Password"),
805 _("The password used for connection."), NULL, 804 _("The password used for connection."), NULL,
806 G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY) 805 G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)
807 ); 806 );
808 807
809 g_object_class_install_property(obj_class, PROP_DISPLAY_NAME, 808 g_object_class_install_property(obj_class, PROP_DISPLAY_NAME,
810 g_param_spec_string(PROP_DISPLAY_NAME_S, _("Display name"), 809 g_param_spec_string("display-name", _("Display name"),
811 _("Your name that appears to other people."), NULL, 810 _("Your name that appears to other people."), NULL,
812 G_PARAM_READWRITE) 811 G_PARAM_READWRITE)
813 ); 812 );
814 813
815 g_type_class_add_private(klass, sizeof(PurpleConnectionPrivate)); 814 g_type_class_add_private(klass, sizeof(PurpleConnectionPrivate));
886 if (PURPLE_PROTOCOL_IMPLEMENTS(protocol, FACTORY_IFACE, connection_new)) 885 if (PURPLE_PROTOCOL_IMPLEMENTS(protocol, FACTORY_IFACE, connection_new))
887 gc = purple_protocol_factory_iface_connection_new(protocol, account, 886 gc = purple_protocol_factory_iface_connection_new(protocol, account,
888 password); 887 password);
889 else 888 else
890 gc = g_object_new(PURPLE_TYPE_CONNECTION, 889 gc = g_object_new(PURPLE_TYPE_CONNECTION,
891 PROP_PROTOCOL_S, protocol, 890 "protocol", protocol,
892 PROP_ACCOUNT_S, account, 891 "account", account,
893 PROP_PASSWORD_S, password, 892 "password", password,
894 NULL); 893 NULL);
895 894
896 g_return_if_fail(gc != NULL); 895 g_return_if_fail(gc != NULL);
897 896
898 if (regist) 897 if (regist)
953 if (PURPLE_PROTOCOL_IMPLEMENTS(protocol, FACTORY_IFACE, connection_new)) 952 if (PURPLE_PROTOCOL_IMPLEMENTS(protocol, FACTORY_IFACE, connection_new))
954 gc = purple_protocol_factory_iface_connection_new(protocol, account, 953 gc = purple_protocol_factory_iface_connection_new(protocol, account,
955 password); 954 password);
956 else 955 else
957 gc = g_object_new(PURPLE_TYPE_CONNECTION, 956 gc = g_object_new(PURPLE_TYPE_CONNECTION,
958 PROP_PROTOCOL_S, protocol, 957 "protocol", protocol,
959 PROP_ACCOUNT_S, account, 958 "account", account,
960 PROP_PASSWORD_S, password, 959 "password", password,
961 NULL); 960 NULL);
962 961
963 g_return_if_fail(gc != NULL); 962 g_return_if_fail(gc != NULL);
964 963
965 purple_debug_info("connection", "Unregistering. gc = %p\n", gc); 964 purple_debug_info("connection", "Unregistering. gc = %p\n", gc);

mercurial