aboutsummaryrefslogtreecommitdiffstats
path: root/camel/tests/folder/test5.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/tests/folder/test5.c')
-rw-r--r--camel/tests/folder/test5.c76
1 files changed, 66 insertions, 10 deletions
diff --git a/camel/tests/folder/test5.c b/camel/tests/folder/test5.c
index 9e2544d7e5..c2a3e9af19 100644
--- a/camel/tests/folder/test5.c
+++ b/camel/tests/folder/test5.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;
@@ -28,6 +19,71 @@ static int unregtimeout()
}
+#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[] = {
@@ -48,7 +104,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? */