Updated account definition, added rss.c placeholder

This commit is contained in:
Pierre Pronchery 2006-11-03 07:30:36 +00:00
parent d05a0de5a6
commit d404678bc7
7 changed files with 86 additions and 6 deletions

View File

@ -1,4 +1,4 @@
TARGETS = mbox.a mbox.so pop3.a pop3.so imap4.a imap4.so TARGETS = mbox.a mbox.so pop3.a pop3.so imap4.a imap4.so rss.a rss.so
PREFIX = /usr/local PREFIX = /usr/local
DESTDIR = DESTDIR =
LIBDIR = $(PREFIX)/lib LIBDIR = $(PREFIX)/lib
@ -36,17 +36,28 @@ imap4.a: $(imap4_OBJS)
imap4.so: $(imap4_OBJS) imap4.so: $(imap4_OBJS)
$(LD) -o imap4.so $(imap4_OBJS) $(LD) -o imap4.so $(imap4_OBJS)
mbox.o: mbox.c rss_OBJS = rss.o
rss_CFLAGS = $(CFLAGSF) $(CFLAGS)
rss.a: $(rss_OBJS)
$(AR) rss.a $(rss_OBJS)
$(RANLIB) rss.a
rss.so: $(rss_OBJS)
$(LD) -o rss.so $(rss_OBJS)
mbox.o: mbox.c account.h
$(CC) $(mbox_CFLAGS) -c mbox.c $(CC) $(mbox_CFLAGS) -c mbox.c
pop3.o: pop3.c pop3.o: pop3.c account.h
$(CC) $(pop3_CFLAGS) -c pop3.c $(CC) $(pop3_CFLAGS) -c pop3.c
imap4.o: imap4.c imap4.o: imap4.c account.h
$(CC) $(imap4_CFLAGS) -c imap4.c $(CC) $(imap4_CFLAGS) -c imap4.c
rss.o: rss.c account.h
$(CC) $(rss_CFLAGS) -c rss.c
clean: clean:
$(RM) $(mbox_OBJS) $(pop3_OBJS) $(imap4_OBJS) $(RM) $(mbox_OBJS) $(pop3_OBJS) $(imap4_OBJS) $(rss_OBJS)
distclean: clean distclean: clean
$(RM) $(TARGETS) $(RM) $(TARGETS)
@ -59,6 +70,8 @@ install: all
$(INSTALL) -m 0755 pop3.so $(DESTDIR)$(LIBDIR)/pop3.so $(INSTALL) -m 0755 pop3.so $(DESTDIR)$(LIBDIR)/pop3.so
$(INSTALL) -m 0644 imap4.a $(DESTDIR)$(LIBDIR)/imap4.a $(INSTALL) -m 0644 imap4.a $(DESTDIR)$(LIBDIR)/imap4.a
$(INSTALL) -m 0755 imap4.so $(DESTDIR)$(LIBDIR)/imap4.so $(INSTALL) -m 0755 imap4.so $(DESTDIR)$(LIBDIR)/imap4.so
$(INSTALL) -m 0644 rss.a $(DESTDIR)$(LIBDIR)/rss.a
$(INSTALL) -m 0755 rss.so $(DESTDIR)$(LIBDIR)/rss.so
uninstall: uninstall:
$(RM) $(DESTDIR)$(LIBDIR)/mbox.a $(RM) $(DESTDIR)$(LIBDIR)/mbox.a
@ -67,5 +80,7 @@ uninstall:
$(RM) $(DESTDIR)$(LIBDIR)/pop3.so $(RM) $(DESTDIR)$(LIBDIR)/pop3.so
$(RM) $(DESTDIR)$(LIBDIR)/imap4.a $(RM) $(DESTDIR)$(LIBDIR)/imap4.a
$(RM) $(DESTDIR)$(LIBDIR)/imap4.so $(RM) $(DESTDIR)$(LIBDIR)/imap4.so
$(RM) $(DESTDIR)$(LIBDIR)/rss.a
$(RM) $(DESTDIR)$(LIBDIR)/rss.so
.PHONY: all clean distclean install uninstall .PHONY: all clean distclean install uninstall

View File

@ -40,6 +40,7 @@ typedef struct _AccountFolder
typedef struct _AccountPlugin typedef struct _AccountPlugin
{ {
char const * type;
char const * name; char const * name;
AccountConfig * config; AccountConfig * config;
AccountFolder ** (*folders)(void); AccountFolder ** (*folders)(void);
@ -54,9 +55,13 @@ typedef struct _Account
/* functions */ /* functions */
/* FIXME type should be automatically "account" and wrap plug-in engine */
Account * account_new(char const * type, char const * name); Account * account_new(char const * type, char const * name);
void account_delete(Account * account); void account_delete(Account * account);
/* accessors */
int account_set_title(Account * account, char const * title);
/* useful */ /* useful */
/* FIXME wrong we just need receive, then it calls callbacks */ /* FIXME wrong we just need receive, then it calls callbacks */
AccountFolder ** account_folders(Account * account); AccountFolder ** account_folders(Account * account);

View File

@ -8,6 +8,7 @@
/* variables */ /* variables */
char const imap4_type[] = "IMAP4";
char const imap4_name[] = "IMAP4 server"; char const imap4_name[] = "IMAP4 server";
AccountConfig imap4_config[] = AccountConfig imap4_config[] =
@ -42,6 +43,7 @@ AccountFolder ** imap4_folders(void)
AccountPlugin account_plugin = AccountPlugin account_plugin =
{ {
imap4_type,
imap4_name, imap4_name,
imap4_config, imap4_config,
imap4_folders imap4_folders

View File

@ -8,6 +8,7 @@
/* variables */ /* variables */
char const mbox_type[] = "MBOX";
char const mbox_name[] = "Local folder"; char const mbox_name[] = "Local folder";
AccountConfig mbox_config[] = AccountConfig mbox_config[] =
@ -39,6 +40,7 @@ AccountFolder ** mbox_folders(void)
AccountPlugin account_plugin = AccountPlugin account_plugin =
{ {
mbox_type,
mbox_name, mbox_name,
mbox_config, mbox_config,
mbox_folders mbox_folders

View File

@ -8,6 +8,7 @@
/* variables */ /* variables */
char const pop3_type[] = "POP3";
char const pop3_name[] = "POP3 server"; char const pop3_name[] = "POP3 server";
AccountConfig pop3_config[] = AccountConfig pop3_config[] =
@ -40,6 +41,7 @@ AccountFolder ** pop3_folders(void)
AccountPlugin account_plugin = AccountPlugin account_plugin =
{ {
pop3_type,
pop3_name, pop3_name,
pop3_config, pop3_config,
pop3_folders pop3_folders

View File

@ -1,13 +1,29 @@
targets=mbox,pop3,imap4 targets=mbox,pop3,imap4,rss
[mbox] [mbox]
type=library type=library
sources=mbox.c sources=mbox.c
[mbox.c]
depends=account.h
[pop3] [pop3]
type=library type=library
sources=pop3.c sources=pop3.c
[pop3.c]
depends=account.h
[imap4] [imap4]
type=library type=library
sources=imap4.c sources=imap4.c
[imap4.c]
depends=account.h
[rss]
type=library
sources=rss.c
[rss.c]
depends=account.h

38
src/account/rss.c Normal file
View File

@ -0,0 +1,38 @@
/* $Id$ */
/* Copyright (c) 2006 The DeforaOS Project */
#include <stdlib.h>
#include "account.h"
/* variables */
char const rss_type[] = "RSS";
char const rss_name[] = "RSS reader";
AccountConfig rss_config[] =
{
{ "uri", "Address", ACT_STRING, NULL },
{ NULL, NULL, ACT_NONE, NULL }
};
/* functions */
AccountFolder ** rss_folders(void)
{
/* FIXME implement */
static AccountFolder feed = { AF_INBOX, "Feed" };
static AccountFolder * folders[] = { &feed, NULL };
return folders;
}
AccountPlugin account_plugin =
{
rss_type,
rss_name,
rss_config,
rss_folders
};