aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-service.c
diff options
context:
space:
mode:
authorbertrand <Bertrand.Guiheneuf@inria.fr>1999-04-21 04:23:48 +0800
committerBertrand Guiheneuf <bertrand@src.gnome.org>1999-04-21 04:23:48 +0800
commitbba607613cf4ce59fa72e6fe841003e2d71a0aa9 (patch)
tree87617cd42bfe2d2cd8135bd99fc6478494ce46b4 /camel/camel-service.c
parent9fc7c06fc4f7decdf8c753eb5237216eb6902e3b (diff)
downloadgsoc2013-evolution-bba607613cf4ce59fa72e6fe841003e2d71a0aa9.tar.gz
gsoc2013-evolution-bba607613cf4ce59fa72e6fe841003e2d71a0aa9.tar.zst
gsoc2013-evolution-bba607613cf4ce59fa72e6fe841003e2d71a0aa9.zip
basic abstract service class.
1999-04-20 bertrand <Bertrand.Guiheneuf@inria.fr> * camel/camel-service.c (camel_service_class_init): basic abstract service class. svn path=/trunk/; revision=860
Diffstat (limited to 'camel/camel-service.c')
-rw-r--r--camel/camel-service.c104
1 files changed, 103 insertions, 1 deletions
diff --git a/camel/camel-service.c b/camel/camel-service.c
index 6f9d6a07cc..57df967c5e 100644
--- a/camel/camel-service.c
+++ b/camel/camel-service.c
@@ -28,7 +28,11 @@ static GtkObjectClass *camel_service_parent_class=NULL;
/* Returns the class for a CamelService */
#define CSERV_CLASS(so) CAMEL_SERVICE_CLASS (GTK_OBJECT(so)->klass)
-
+static void camel_service_connect(CamelService *service);
+static void camel_service_connect_to_with_login_passwd(CamelService *service, GString *host, GString *login, GString *passwd);
+static void camel_service_connect_to_with_login_passwd_port(CamelService *service, GString *host, GString *login, GString *passwd, guint port);
+static gboolean camel_service_is_connected(CamelService *service);
+static void camel_service_set_connected(CamelService *service, gboolean state);
static void
camel_service_class_init (CamelServiceClass *camel_service_class)
@@ -36,6 +40,13 @@ camel_service_class_init (CamelServiceClass *camel_service_class)
camel_service_parent_class = gtk_type_class (gtk_object_get_type ());
/* virtual method definition */
+ camel_service_class->connect = camel_service_connect;
+ camel_service_class->connect_to_with_login_passwd = camel_service_connect_to_with_login_passwd;
+ camel_service_class->connect_to_with_login_passwd_port = camel_service_connect_to_with_login_passwd_port;
+ camel_service_class->is_connected = camel_service_is_connected;
+ camel_service_class->set_connected = camel_service_set_connected;
+
+
/* virtual method overload */
}
@@ -71,3 +82,94 @@ camel_service__get_type (void)
+
+
+/**
+ * camel_service_connect : connect to a service
+ *
+ * connect to the service using the parameters
+ * stored in the session it is initialized with
+ * WARNING: session not implemented for the moment
+ *
+ * @service: object to connect
+ **/
+static void
+camel_service_connect(CamelService *service)
+{
+
+}
+
+
+
+/**
+ * camel_service_connect_to:login:password : connect to the specified address
+ *
+ * Connect to the service, but do not use the session
+ * default parameters to retrieve server's address
+ *
+ * @service: object to connect
+ * @host: host to connect to
+ * @login: user name used to log in
+ * @passwd: password used to log in
+ **/
+static void
+camel_service_connect_to_with_login_passwd(CamelService *service, GString *host, GString *login, GString *passwd)
+{
+ camel_service_set_connected(service, TRUE);
+}
+
+
+/**
+ * camel_service_connect_to:login:password : connect to the specified address
+ *
+ * Connect to the service, but do not use the session
+ * default parameters to retrieve server's address
+ *
+ * @service: object to connect
+ * @host: host to connect to
+ * @login: user name used to log in
+ * @passwd: password used to log in
+ * @port: port to connect to
+ *
+ **/
+static void
+camel_service_connect_to_with_login_passwd_port(CamelService *service, GString *host, GString *login, GString *passwd, guint port)
+{
+ camel_service_set_connected(service, TRUE);
+}
+
+
+
+
+/**
+ * camel_service_is_connected: test if the service object is connected
+ *
+ *
+ * @service: object to test
+ *
+ **/
+static gboolean
+camel_service_is_connected(CamelService *service)
+{
+ return service->connected;
+}
+
+
+/**
+ * camel_service_set_connected: set the connected state
+ *
+ * This routine has to be called by providers to set the
+ * connection state, mainly when the service is disconnected
+ * wheras the close() method has not been called.
+ *
+ * @service: object to set the state of
+ * @state: connected/disconnected
+ *
+ **/
+static void
+camel_service_set_connected(CamelService *service, gboolean state)
+{
+ service->connected = state;
+}
+
+