| 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 { |
| 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); |