-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtask_message.c
More file actions
executable file
·70 lines (66 loc) · 1.64 KB
/
task_message.c
File metadata and controls
executable file
·70 lines (66 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*
* task_message.c
*
* Created on: 2017年12月30日
* Author: tom
*/
#include "task_message.h"
G_DEFINE_TYPE(MyTaskMessage, my_task_message, G_TYPE_OBJECT);
void my_task_message_finalize(MyTaskMessage *self);
static void my_task_message_class_init(MyTaskMessageClass *klass) {
GObjectClass *obj_class = klass;
obj_class->finalize = my_task_message_finalize;
}
;
static void my_task_message_init(MyTaskMessage *self) {
self->uri = NULL;
self->ctxt = NULL;
self->doc = NULL;
self->session = NULL;
self->filename=NULL;
self->web_title=NULL;
self->list_row=NULL;
self->cancel=NULL;
self->charset=NULL;
self->local=NULL;
self->suggest_filename=NULL;
self->xpath_result=g_string_new("");
self->utf8_conv=NULL;
self->msg=NULL;
g_mutex_init(&self->mutex);
}
;
MyTaskMessage *my_task_message_new(SoupSession *session,SoupURI *uri,gpointer task,gint id) {
MyTaskMessage *msg=g_object_new(MY_TYPE_TASK_MESSAGE, NULL);
msg->session=session;
msg->uri=uri;
msg->task=task;
msg->id=id;
msg->reply=0;
return msg;
}
;
gboolean my_task_message_free(MyTaskMessage *self) {
g_object_unref(self);
return TRUE;
}
;
void my_task_message_finalize(MyTaskMessage *self) {
if (self->ctxt != NULL)
xmlXPathFreeContext(self->ctxt);
if (self->doc != NULL)
xmlFreeDoc(self->doc);
if (self->uri != NULL)
soup_uri_free(self->uri);
if(self->filename!=NULL)
g_free(self->filename);
if(self->web_title!=NULL)
g_free(self->web_title);
if(self->charset!=NULL)g_free(self->charset);
g_free(self->local);
g_free(self->suggest_filename);
g_string_free(self->xpath_result,TRUE);
g_free(self->utf8_conv);
if(self->msg!=NULL)g_object_unref(self->msg);
}
;