aboutsummaryrefslogtreecommitdiffstats
path: root/camel/tests/folder/test3.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/tests/folder/test3.c')
-rw-r--r--camel/tests/folder/test3.c66
1 files changed, 59 insertions, 7 deletions
diff --git a/camel/tests/folder/test3.c b/camel/tests/folder/test3.c
index 99369e5317..4fb67c1423 100644
--- a/camel/tests/folder/test3.c
+++ b/camel/tests/folder/test3.c
@@ -15,16 +15,68 @@
#define ARRAY_LEN(x) (sizeof(x)/sizeof(x[0]))
+#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))
-/* god, who designed this horrid interface */
-static char *auth_callback(CamelAuthCallbackMode mode,
- char *data, gboolean secret,
- CamelService *service, char *item,
- CamelException *ex)
+
+typedef struct _CamelTestSession {
+ CamelSession parent_object;
+
+} CamelTestSession;
+
+typedef struct _CamelTestSessionClass {
+ CamelSessionClass parent_class;
+
+} CamelTestSessionClass;
+
+static void
+init (CamelTestSession *session)
{
- return NULL;
+ ;
}
+static void
+class_init (CamelTestSessionClass *camel_test_session_class)
+{
+ CamelSessionClass *camel_session_class =
+ CAMEL_SESSION_CLASS (camel_test_session_class);
+
+ /* virtual method override */
+}
+
+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;
+}
static void
test_folder_search_sub(CamelFolder *folder, const char *expr, int expected)
@@ -172,7 +224,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, NULL, NULL);
+ session = camel_test_session_new ("/tmp/camel-test");
/* todo: cross-check everything with folder_info checks as well */
/* todo: work out how to do imap/pop/nntp tests */