diff options
Diffstat (limited to 'camel/tests/smime/pgp-mime.c')
-rw-r--r-- | camel/tests/smime/pgp-mime.c | 82 |
1 files changed, 75 insertions, 7 deletions
diff --git a/camel/tests/smime/pgp-mime.c b/camel/tests/smime/pgp-mime.c index 8564d1bda7..0da41c2542 100644 --- a/camel/tests/smime/pgp-mime.c +++ b/camel/tests/smime/pgp-mime.c @@ -12,15 +12,84 @@ static char test_msg[] = "Since we need to make sure that\nFrom lines work okay, "as well as test 8bit chars and other fun stuff? 8bit chars: Dražen Kačar\n\nOkay, I guess that covers" "the basics at least...\n"; -/* god, who designed this horrid interface */ -static gpointer auth_callback (CamelAuthCallbackMode mode, - char *data, gboolean secret, - CamelService *service, char *item, - CamelException *ex) + +#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 char *get_password (CamelSession *session, const char *prompt, + gboolean secret, CamelService *service, + const char *item, CamelException *ex); + +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->get_password = get_password; +} + +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 char * +get_password (CamelSession *session, const char *prompt, gboolean secret, + CamelService *service, const char *item, CamelException *ex) { return g_strdup ("PGP/MIME is rfc2015, now go and read it."); } +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; +} + + int main (int argc, char **argv) { CamelSession *session; @@ -37,8 +106,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"); ctx = camel_pgp_context_new (session, CAMEL_PGP_TYPE_GPG, "/usr/bin/gpg"); |