Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/browser/sugar-download.c
blob: 01ad809e26270a8865faca5194cdc18559f4d9b5 (plain)
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include "sugar-download.h"

static void	sugar_download_finalize (GObject *object);

G_DEFINE_TYPE (SugarDownload, sugar_download, G_TYPE_OBJECT)

static void
sugar_download_init (SugarDownload *download)
{
	download->file_name = NULL;
	download->url = NULL;
	download->mime_type = NULL;
	download->percent = 0;
}

static void
sugar_download_class_init (SugarDownloadClass *download_class)
{
	GObjectClass *gobject_class = G_OBJECT_CLASS (download_class);

	gobject_class->finalize = sugar_download_finalize;
}

void
sugar_download_set_file_name (SugarDownload *download, const gchar *file_name)
{
	gchar *new_file_name;
  
	g_return_if_fail (SUGAR_IS_DOWNLOAD (download));

	new_file_name = g_strdup (file_name);
	g_free (download->file_name);
	download->file_name = new_file_name;
}

void
sugar_download_set_url (SugarDownload *download, const gchar *url)
{
	gchar *new_url;
  
	g_return_if_fail (SUGAR_IS_DOWNLOAD (download));

	new_url = g_strdup (url);
	g_free (download->url);
	download->url = new_url;
}

void
sugar_download_set_mime_type (SugarDownload *download, const gchar *mime_type)
{
	gchar *new_mime_type;
  
	g_return_if_fail (SUGAR_IS_DOWNLOAD (download));

	new_mime_type = g_strdup (mime_type);
	g_free (download->mime_type);
	download->mime_type = new_mime_type;
}

void
sugar_download_set_percent (SugarDownload *download, const gint percent)
{
	g_return_if_fail (SUGAR_IS_DOWNLOAD (download));

	download->percent = percent;
}

const gchar *
sugar_download_get_file_name (SugarDownload *download)
{
	g_return_val_if_fail (SUGAR_IS_DOWNLOAD (download), NULL);
  
	return download->file_name;
}

const gchar *
sugar_download_get_url (SugarDownload *download)
{
	g_return_val_if_fail (SUGAR_IS_DOWNLOAD (download), NULL);
  
	return download->url;
}

const gchar *
sugar_download_get_mime_type (SugarDownload *download)
{
	g_return_val_if_fail (SUGAR_IS_DOWNLOAD (download), NULL);
  
	return download->mime_type;
}

gint
sugar_download_get_percent (SugarDownload *download)
{
	g_return_val_if_fail (SUGAR_IS_DOWNLOAD (download), -1);
  
	return download->percent;
}

static void
sugar_download_finalize (GObject *object)
{
	SugarDownload *download = SUGAR_DOWNLOAD (object);
	
	g_free (download->file_name);
	g_free (download->url);
	g_free (download->mime_type);
}