diff options
Diffstat (limited to 'camel/tests/folder/test4.c')
-rw-r--r-- | camel/tests/folder/test4.c | 74 |
1 files changed, 64 insertions, 10 deletions
diff --git a/camel/tests/folder/test4.c b/camel/tests/folder/test4.c index bae2b7bb0b..af0bc79e87 100644 --- a/camel/tests/folder/test4.c +++ b/camel/tests/folder/test4.c @@ -8,15 +8,6 @@ #include <camel/camel-session.h> #include <camel/camel-store.h> -/* 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; @@ -27,6 +18,69 @@ 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])) @@ -48,7 +102,7 @@ int main(int argc, char **argv) /* clear out any camel-test data */ system("/bin/rm -rf /tmp/camel-test"); - session = camel_session_new("/tmp/camel-test", auth_callback, regtimeout, unregtimeout); + session = camel_test_session_new ("/tmp/camel-test"); /* todo: cross-check everything with folder_info checks as well */ /* todo: subscriptions? */ |