Added IMAP4 and POP3 place-holder plug-ins

This commit is contained in:
Pierre Pronchery 2006-11-02 06:57:06 +00:00
parent ee4552be3e
commit 199b2bfd03
6 changed files with 140 additions and 5 deletions

View File

@ -1,4 +1,4 @@
TARGETS = mbox.a mbox.so TARGETS = mbox.a mbox.so pop3.a pop3.so imap4.a imap4.so
PREFIX = /usr/local PREFIX = /usr/local
DESTDIR = DESTDIR =
LIBDIR = $(PREFIX)/lib LIBDIR = $(PREFIX)/lib
@ -20,11 +20,33 @@ mbox.a: $(mbox_OBJS)
mbox.so: $(mbox_OBJS) mbox.so: $(mbox_OBJS)
$(LD) -o mbox.so $(mbox_OBJS) $(LD) -o mbox.so $(mbox_OBJS)
pop3_OBJS = pop3.o
pop3_CFLAGS = $(CFLAGSF) $(CFLAGS)
pop3.a: $(pop3_OBJS)
$(AR) pop3.a $(pop3_OBJS)
$(RANLIB) pop3.a
pop3.so: $(pop3_OBJS)
$(LD) -o pop3.so $(pop3_OBJS)
imap4_OBJS = imap4.o
imap4_CFLAGS = $(CFLAGSF) $(CFLAGS)
imap4.a: $(imap4_OBJS)
$(AR) imap4.a $(imap4_OBJS)
$(RANLIB) imap4.a
imap4.so: $(imap4_OBJS)
$(LD) -o imap4.so $(imap4_OBJS)
mbox.o: mbox.c mbox.o: mbox.c
$(CC) $(mbox_CFLAGS) -c mbox.c $(CC) $(mbox_CFLAGS) -c mbox.c
pop3.o: pop3.c
$(CC) $(pop3_CFLAGS) -c pop3.c
imap4.o: imap4.c
$(CC) $(imap4_CFLAGS) -c imap4.c
clean: clean:
$(RM) $(mbox_OBJS) $(RM) $(mbox_OBJS) $(pop3_OBJS) $(imap4_OBJS)
distclean: clean distclean: clean
$(RM) $(TARGETS) $(RM) $(TARGETS)
@ -33,9 +55,17 @@ install: all
$(MKDIR) $(DESTDIR)$(LIBDIR) $(MKDIR) $(DESTDIR)$(LIBDIR)
$(INSTALL) -m 0644 mbox.a $(DESTDIR)$(LIBDIR)/mbox.a $(INSTALL) -m 0644 mbox.a $(DESTDIR)$(LIBDIR)/mbox.a
$(INSTALL) -m 0755 mbox.so $(DESTDIR)$(LIBDIR)/mbox.so $(INSTALL) -m 0755 mbox.so $(DESTDIR)$(LIBDIR)/mbox.so
$(INSTALL) -m 0644 pop3.a $(DESTDIR)$(LIBDIR)/pop3.a
$(INSTALL) -m 0755 pop3.so $(DESTDIR)$(LIBDIR)/pop3.so
$(INSTALL) -m 0644 imap4.a $(DESTDIR)$(LIBDIR)/imap4.a
$(INSTALL) -m 0755 imap4.so $(DESTDIR)$(LIBDIR)/imap4.so
uninstall: uninstall:
$(RM) $(DESTDIR)$(LIBDIR)/mbox.a $(RM) $(DESTDIR)$(LIBDIR)/mbox.a
$(RM) $(DESTDIR)$(LIBDIR)/mbox.so $(RM) $(DESTDIR)$(LIBDIR)/mbox.so
$(RM) $(DESTDIR)$(LIBDIR)/pop3.a
$(RM) $(DESTDIR)$(LIBDIR)/pop3.so
$(RM) $(DESTDIR)$(LIBDIR)/imap4.a
$(RM) $(DESTDIR)$(LIBDIR)/imap4.so
.PHONY: all clean distclean install uninstall .PHONY: all clean distclean install uninstall

View File

@ -11,7 +11,10 @@
typedef enum _AccountConfigType typedef enum _AccountConfigType
{ {
ACT_NONE = 0, ACT_NONE = 0,
ACT_STRING ACT_STRING,
ACT_PASSWORD,
ACT_UINT16,
ACT_BOOLEAN
} AccountConfigType; } AccountConfigType;
typedef struct _AccountConfig typedef struct _AccountConfig
{ {

48
src/account/imap4.c Normal file
View File

@ -0,0 +1,48 @@
/* $Id$ */
/* Copyright (c) 2006 The DeforaOS Project */
#include <stdlib.h>
#include "account.h"
/* variables */
char const imap4_name[] = "IMAP4 server";
AccountConfig imap4_config[] =
{
{ "username", "Username", ACT_STRING, NULL },
{ "password", "Password", ACT_PASSWORD, NULL },
{ "hostname", "Server hostname", ACT_STRING, NULL },
{ "port", "Server port", ACT_UINT16, NULL },
{ "ssl", "Use SSL", ACT_BOOLEAN, NULL },
{ "sent", "Sent mails folder", ACT_NONE, NULL },
{ "draft", "Draft mails folder", ACT_NONE, NULL },
{ NULL, NULL, ACT_NONE, NULL }
};
/* functions */
AccountFolder ** imap4_folders(void)
{
/* FIXME implement */
static AccountFolder inbox = { AF_INBOX, "Inbox" };
static AccountFolder drafts = { AF_DRAFTS, "Drafts"};
static AccountFolder sent = { AF_SENT, "Sent" };
static AccountFolder trash = { AF_TRASH, "Trash" };
static AccountFolder * folders[] =
{
&inbox, &drafts, &sent, &trash, NULL
};
return folders;
}
AccountPlugin account_plugin =
{
imap4_name,
imap4_config,
imap4_folders
};

View File

@ -8,7 +8,7 @@
/* variables */ /* variables */
char const mbox_name[] = "Local folders (MBOX)"; char const mbox_name[] = "Local folder";
AccountConfig mbox_config[] = AccountConfig mbox_config[] =
{ {

46
src/account/pop3.c Normal file
View File

@ -0,0 +1,46 @@
/* $Id$ */
/* Copyright (c) 2006 The DeforaOS Project */
#include <stdlib.h>
#include "account.h"
/* variables */
char const pop3_name[] = "POP3 server";
AccountConfig pop3_config[] =
{
{ "username", "Username", ACT_STRING, NULL },
{ "password", "Password", ACT_PASSWORD, NULL },
{ "hostname", "Server hostname", ACT_STRING, NULL },
{ "port", "Server port", ACT_UINT16, NULL },
{ "ssl", "Use SSL", ACT_BOOLEAN, NULL },
{ "delete", "Delete read mails on server",
ACT_BOOLEAN, NULL },
{ NULL, NULL, ACT_NONE, NULL }
};
/* functions */
AccountFolder ** pop3_folders(void)
{
/* FIXME implement */
static AccountFolder inbox = { AF_INBOX, "Inbox" };
static AccountFolder trash = { AF_TRASH, "Trash" };
static AccountFolder * folders[] =
{
&inbox, &trash, NULL
};
return folders;
}
AccountPlugin account_plugin =
{
pop3_name,
pop3_config,
pop3_folders
};

View File

@ -1,5 +1,13 @@
targets=mbox targets=mbox,pop3,imap4
[mbox] [mbox]
type=library type=library
sources=mbox.c sources=mbox.c
[pop3]
type=library
sources=pop3.c
[imap4]
type=library
sources=imap4.c