| 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 |