libpurple/conversation.c

branch
soc.2013.gobjectification.plugins
changeset 37119
fdd7282fdad6
parent 37113
cb24b99a09ea
parent 35599
8dd8c949add3
child 37133
832cd077145e
equal deleted inserted replaced
37118:5bbf6b8c30fd 37119:fdd7282fdad6
308 *ops_new = *ops; 308 *ops_new = *ops;
309 309
310 return ops_new; 310 return ops_new;
311 } 311 }
312 312
313 static void
314 purple_conversation_ui_ops_free(PurpleConversationUiOps *ops)
315 {
316 g_return_if_fail(ops != NULL);
317
318 g_free(ops);
319 }
320
321 GType 313 GType
322 purple_conversation_ui_ops_get_type(void) 314 purple_conversation_ui_ops_get_type(void)
323 { 315 {
324 static GType type = 0; 316 static GType type = 0;
325 317
326 if (type == 0) { 318 if (type == 0) {
327 type = g_boxed_type_register_static("PurpleConversationUiOps", 319 type = g_boxed_type_register_static("PurpleConversationUiOps",
328 (GBoxedCopyFunc)purple_conversation_ui_ops_copy, 320 (GBoxedCopyFunc)purple_conversation_ui_ops_copy,
329 (GBoxedFreeFunc)purple_conversation_ui_ops_free); 321 (GBoxedFreeFunc)g_free);
330 } 322 }
331 323
332 return type; 324 return type;
333 } 325 }
334 326
918 g_return_val_if_fail(msg, NULL); 910 g_return_val_if_fail(msg, NULL);
919 return msg->conv; 911 return msg->conv;
920 } 912 }
921 913
922 static PurpleConversationMessage * 914 static PurpleConversationMessage *
923 purple_conversation_message_copy(PurpleConversationMessage *msg) 915 copy_conv_message(PurpleConversationMessage *msg)
924 { 916 {
925 PurpleConversationMessage *newmsg; 917 PurpleConversationMessage *newmsg;
926 918
927 g_return_val_if_fail(msg != NULL, NULL); 919 g_return_val_if_fail(msg != NULL, NULL);
928 920
929 newmsg = g_new(PurpleConversationMessage, 1); 921 newmsg = g_new(PurpleConversationMessage, 1);
922 PURPLE_DBUS_REGISTER_POINTER(newmsg, PurpleConversationMessage);
923
930 *newmsg = *msg; 924 *newmsg = *msg;
931 newmsg->who = g_strdup(msg->who); 925 newmsg->who = g_strdup(msg->who);
932 newmsg->what = g_strdup(msg->what); 926 newmsg->what = g_strdup(msg->what);
933 newmsg->alias = g_strdup(msg->alias); 927 newmsg->alias = g_strdup(msg->alias);
934 928
935 return newmsg; 929 return newmsg;
936 } 930 }
937 931
938 static void
939 purple_conversation_message_free(PurpleConversationMessage *msg)
940 {
941 g_return_if_fail(msg != NULL);
942
943 g_free(msg->who);
944 g_free(msg->what);
945 g_free(msg->alias);
946
947 g_free(msg);
948 }
949
950 GType 932 GType
951 purple_conversation_message_get_type(void) 933 purple_conversation_message_get_type(void)
952 { 934 {
953 static GType type = 0; 935 static GType type = 0;
954 936
955 if (type == 0) { 937 if (type == 0) {
956 type = g_boxed_type_register_static("PurpleConversationMessage", 938 type = g_boxed_type_register_static("PurpleConversationMessage",
957 (GBoxedCopyFunc)purple_conversation_message_copy, 939 (GBoxedCopyFunc)copy_conv_message,
958 (GBoxedFreeFunc)purple_conversation_message_free); 940 (GBoxedFreeFunc)free_conv_message);
959 } 941 }
960 942
961 return type; 943 return type;
962 } 944 }
963 945

mercurial