comparison src/status.c @ 10417:823ad21cd95a

[gaim-migrate @ 11668] Save substatuses as well. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sat, 25 Dec 2004 20:24:17 +0000
parents 5b7a74d397cc
children bed2c96bc1fb
comparison
equal deleted inserted replaced
10416:73d3a64d5574 10417:823ad21cd95a
2020 2020
2021 g_free(filename); 2021 g_free(filename);
2022 } 2022 }
2023 2023
2024 static xmlnode * 2024 static xmlnode *
2025 gaim_substatus_get_as_xmlnode(GaimStatusSavedSub *substatus)
2026 {
2027 xmlnode *node, *child;
2028
2029 node = xmlnode_new("substatus");
2030
2031 child = xmlnode_new("account");
2032 xmlnode_set_attrib(node, "protocol",
2033 gaim_account_get_protocol_id(substatus->account));
2034 xmlnode_insert_data(child,
2035 gaim_account_get_username(substatus->account), -1);
2036 xmlnode_insert_child(node, child);
2037
2038 child = xmlnode_new("state");
2039 xmlnode_insert_data(child, substatus->type->id, -1);
2040 xmlnode_insert_child(node, child);
2041
2042 if (substatus->message != NULL)
2043 {
2044 child = xmlnode_new("message");
2045 xmlnode_insert_data(child, substatus->message, -1);
2046 xmlnode_insert_child(node, child);
2047 }
2048
2049 return node;
2050 }
2051
2052 static xmlnode *
2025 gaim_status_get_as_xmlnode(GaimStatusSaved *status) 2053 gaim_status_get_as_xmlnode(GaimStatusSaved *status)
2026 { 2054 {
2027 xmlnode *node, *child; 2055 xmlnode *node, *child;
2056 GList *cur;
2028 2057
2029 node = xmlnode_new("status"); 2058 node = xmlnode_new("status");
2030 xmlnode_set_attrib(node, "name", status->title); 2059 xmlnode_set_attrib(node, "name", status->title);
2031 2060
2032 child = xmlnode_new("state"); 2061 child = xmlnode_new("state");
2035 2064
2036 child = xmlnode_new("message"); 2065 child = xmlnode_new("message");
2037 xmlnode_insert_data(child, status->message, -1); 2066 xmlnode_insert_data(child, status->message, -1);
2038 xmlnode_insert_child(node, child); 2067 xmlnode_insert_child(node, child);
2039 2068
2040 /* TODO: Add substatuses to the tree */ 2069 for (cur = status->substatuses; cur != NULL; cur = cur->next)
2070 {
2071 child = gaim_substatus_get_as_xmlnode(cur->data);
2072 xmlnode_insert_child(node, child);
2073 }
2041 2074
2042 return node; 2075 return node;
2043 } 2076 }
2044 2077
2045 static xmlnode * 2078 static xmlnode *