Bugfix for 80400, introduction of connection policies
[modest] / src / modest-default-connection-policy.c
1 /* Your copyright here */
2
3 #include <config.h>
4 #include <glib.h>
5 #include <glib/gi18n-lib.h>
6
7 #define MODEST_DEFAULT_CONNECTION_POLICY_C
8 gboolean exiting = FALSE;
9 #include <modest-default-connection-policy.h>
10 #undef MODEST_DEFAULT_CONNECTION_POLICY_C
11
12 #include <tny-account.h>
13
14 static GObjectClass *parent_class = NULL;
15
16 static void
17 modest_default_connection_policy_set_current (TnyConnectionPolicy *self, TnyAccount *account, TnyFolder *folder)
18 {
19         return;
20 }
21
22 static void
23 modest_default_connection_policy_on_connect (TnyConnectionPolicy *self, TnyAccount *account)
24 {
25         return;
26 }
27
28 static void
29 modest_default_connection_policy_on_connection_broken (TnyConnectionPolicy *self, TnyAccount *account)
30 {
31         return;
32 }
33
34 static void
35 modest_default_connection_policy_on_disconnect (TnyConnectionPolicy *self, TnyAccount *account)
36 {
37         tny_account_cancel (account);
38         return;
39 }
40
41 static void
42 modest_default_connection_policy_finalize (GObject *object)
43 {
44         parent_class->finalize (object);
45 }
46
47 static void
48 modest_default_connection_policy_instance_init (GTypeInstance *instance, gpointer g_class)
49 {
50 }
51
52 static void
53 tny_connection_policy_init (TnyConnectionPolicyIface *klass)
54 {
55         klass->on_connect= modest_default_connection_policy_on_connect;
56         klass->on_connection_broken= modest_default_connection_policy_on_connection_broken;
57         klass->on_disconnect= modest_default_connection_policy_on_disconnect;
58         klass->set_current= modest_default_connection_policy_set_current;
59 }
60
61 static void
62 modest_default_connection_policy_class_init (ModestDefaultConnectionPolicyClass *klass)
63 {
64         GObjectClass *object_class;
65
66         parent_class = g_type_class_peek_parent (klass);
67         object_class = (GObjectClass*) klass;
68         object_class->finalize = modest_default_connection_policy_finalize;
69 }
70
71
72
73 /**
74  * modest_default_connection_policy_new:
75  * 
76  * A connection policy
77  *
78  * Return value: A new #TnyConnectionPolicy instance 
79  **/
80 TnyConnectionPolicy*
81 modest_default_connection_policy_new (void)
82 {
83         return TNY_CONNECTION_POLICY (g_object_new (MODEST_TYPE_DEFAULT_CONNECTION_POLICY, NULL));
84 }
85
86 GType
87 modest_default_connection_policy_get_type (void)
88 {
89         static GType type = 0;
90         if (G_UNLIKELY(type == 0))
91         {
92                 static const GTypeInfo info = 
93                 {
94                         sizeof (ModestDefaultConnectionPolicyClass),
95                         NULL,   /* base_init */
96                         NULL,   /* base_finalize */
97                         (GClassInitFunc) modest_default_connection_policy_class_init,   /* class_init */
98                         NULL,   /* class_finalize */
99                         NULL,   /* class_data */
100                         sizeof (ModestDefaultConnectionPolicy),
101                         0,      /* n_preallocs */
102                         modest_default_connection_policy_instance_init,    /* instance_init */
103                         NULL
104                 };
105
106
107                 static const GInterfaceInfo tny_connection_policy_info = 
108                 {
109                         (GInterfaceInitFunc) tny_connection_policy_init, /* interface_init */
110                         NULL,         /* interface_finalize */
111                         NULL          /* interface_data */
112                 };
113
114                 type = g_type_register_static (G_TYPE_OBJECT,
115                         "ModestDefaultConnectionPolicy",
116                         &info, 0);
117
118                 g_type_add_interface_static (type, TNY_TYPE_CONNECTION_POLICY,
119                         &tny_connection_policy_info);
120
121         }
122         return type;
123 }