From d538a34c4bbc028828dac7c147eace3cd8e2a0e2 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Mon, 14 May 2001 20:08:25 +0000 Subject: Subclass CamelSession since we can no longer specify the passwd callback 2001-05-14 Jeffrey Stedfast * tests/folder/test9.c: * tests/folder/test8.c: * tests/folder/test7.c: * tests/folder/test6.c: * tests/folder/test5.c: * tests/folder/test4.c: * tests/folder/test3.c: * tests/folder/test2.c: * tests/folder/test1.c: * tests/smime/pgp-mime.c: * tests/smime/pgp.c: Subclass CamelSession since we can no longer specify the passwd callback any other way and update code accordingly. svn path=/trunk/; revision=9796 --- camel/tests/folder/test7.c | 75 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 65 insertions(+), 10 deletions(-) (limited to 'camel/tests/folder/test7.c') diff --git a/camel/tests/folder/test7.c b/camel/tests/folder/test7.c index 7acacebbcd..5e5015ac0d 100644 --- a/camel/tests/folder/test7.c +++ b/camel/tests/folder/test7.c @@ -12,15 +12,6 @@ #include #include -/* god, who designed this horrid interface */ -static char *auth_callback(CamelAuthCallbackMode mode, - char *data, gboolean secret, - CamelService *service, char *item, - CamelException *ex) -{ - return NULL; -} - static int regtimeout() { return 1; @@ -31,6 +22,70 @@ static int unregtimeout() return 1; } +#define CAMEL_TEST_SESSION_TYPE (camel_test_session_get_type ()) +#define CAMEL_TEST_SESSION(obj) (CAMEL_CHECK_CAST((obj), CAMEL_TEST_SESSION_TYPE, CamelTestSession)) +#define CAMEL_TEST_SESSION_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_TEST_SESSION_TYPE, CamelTestSessionClass)) +#define CAMEL_TEST_IS_SESSION(o) (CAMEL_CHECK_TYPE((o), CAMEL_TEST_SESSION_TYPE)) + +typedef struct _CamelTestSession { + CamelSession parent_object; + +} CamelTestSession; + +typedef struct _CamelTestSessionClass { + CamelSessionClass parent_class; + +} CamelTestSessionClass; + +static void +init (CamelTestSession *session) +{ + ; +} + +static void +class_init (CamelTestSessionClass *camel_test_session_class) +{ + CamelSessionClass *camel_session_class = + CAMEL_SESSION_CLASS (camel_test_session_class); + + /* virtual method override */ + camel_session_class->register_timeout = regtimeout; + camel_session_class->remove_timeout = unregtimeout; +} + +static CamelType +camel_test_session_get_type (void) +{ + static CamelType type = CAMEL_INVALID_TYPE; + + if (type == CAMEL_INVALID_TYPE) { + type = camel_type_register ( + camel_test_session_get_type (), + "CamelTestSession", + sizeof (CamelTestSession), + sizeof (CamelTestSessionClass), + (CamelObjectClassInitFunc) class_init, + NULL, + (CamelObjectInitFunc) init, + NULL); + } + + return type; +} + +static CamelSession * +camel_test_session_new (const char *path) +{ + CamelSession *session; + + session = CAMEL_SESSION (camel_object_new (CAMEL_TEST_SESSION_TYPE)); + + camel_session_construct (session, path); + + return session; +} + #define ARRAY_LEN(x) (sizeof(x)/sizeof(x[0])) static char *remote_providers[] = { @@ -51,7 +106,7 @@ int main(int argc, char **argv) ex = camel_exception_new(); - session = camel_session_new("/tmp/camel-test", auth_callback, regtimeout, unregtimeout); + session = camel_test_session_new ("/tmp/camel-test"); for (i=0;i