#define COOKIEUNNEEDED (1<<6)
#define ISSTATIC (1<<7)
#define FORCE_SESSIONCLOSE (1<<8)
-#define PARSE_REST_URL (1<<0)
+#define PARSE_REST_URL (1<<9)
typedef void (*WebcitHandlerFunc)(void);
typedef struct _WebcitHandler{
char ImportantMessage[SIZ];
StrBuf *ImportantMsg;
HashList *Directory; /* Parts of the directory URL in snippets */
- const floor *CurrentFloor; /**< when Parsing REST, which floor are we on? */
+ const Floor *CurrentFloor; /**< when Parsing REST, which floor are we on? */
/* accounting */
StrBuf *wc_username; /* login name of current user */
/* int is_mailbox; / * the current room is a private mailbox */
folder CurRoom; /* information about our current room */
-
+ const folder *ThisRoom; /* if REST found a room, remember it here. */
/* next/previous room thingabob */
struct march *march; /* march mode room list */
char ugname[128]; /* where does 'ungoto' take us */
int remember_new_mail; /* last count of new mail messages */
/* Roomiew control */
- HashList *Floors; /* floors our citserver has... */
+ HashList *Floors; /* floors our citserver has hashed numeric for quicker access*/
+ HashList *FloorsByName; /* same but hashed by its name */
+ HashList *Rooms; /* our directory structure as loaded by LKRA */
HashList *summ; /* list of messages for mailbox summary view */
/** Perhaps these should be within a struct instead */
long startmsg; /* message number to start at */
void locate_host(StrBuf *TBuf, int);
void become_logged_in(const StrBuf *user, const StrBuf *pass, StrBuf *serv_response);
void openid_manual_create(void);
-void display_login();
+void display_login(void);
void display_openids(void);
void do_welcome(void);
void do_logout(void);
void do_addrbook_view(addrbookent *addrbook, int num_ab);
void fetch_ab_name(message_summary *Msg, char **namebuf);
-void display_vcard(StrBuf *Target, StrBuf *vcard_source, char alpha, int full, char **storename, long msgnum);
+void display_vcard(StrBuf *Target, wc_mime_attachment *Mime, char alpha, int full, char **storename, long msgnum);
void jsonMessageList(void);
void new_summary_view(void);
void getseen(void);
-void display_addressbook(long msgnum, char alpha);
void offer_start_page(StrBuf *Target, WCTemplputParams *TP);
void convenience_page(const char *titlebarcolor, const char *titlebarmsg, const char *messagetext);
void output_html(const char *, int, int, StrBuf *, StrBuf *);
extern char *months[];
extern char *days[];
-int read_server_binary(StrBuf *Ret, size_t total_len, StrBuf *Buf);
+int serv_read_binary(StrBuf *Ret, size_t total_len, StrBuf *Buf);
int StrBuf_ServGetBLOB(StrBuf *buf, long BlobSize);
int StrBuf_ServGetBLOBBuffered(StrBuf *buf, long BlobSize);
int read_server_text(StrBuf *Buf, long *nLines);