]> code.citadel.org Git - citadel.git/blobdiff - webcit/webcit.h
Implemented the ajax call for updating notes.
[citadel.git] / webcit / webcit.h
index 68e64fa2f90325727db8dff7996748542f4d6411..9d531d86c88e7262fe7e694ad4562190d668b570 100644 (file)
@@ -124,9 +124,9 @@ extern locale_t wc_locales[];
 #define PORT_NUM               2000            /* port number to listen on */
 #define DEVELOPER_ID           0
 #define CLIENT_ID              4
-#define CLIENT_VERSION         734             /* This version of WebCit */
+#define CLIENT_VERSION         735             /* This version of WebCit */
 #define MINIMUM_CIT_VERSION    730             /* min required Citadel ver */
-#define        LIBCITADEL_MIN          109             /* min required libcitadel ver */
+#define        LIBCITADEL_MIN          110             /* min required libcitadel ver */
 #define DEFAULT_HOST           "localhost"     /* Default Citadel server */
 #define DEFAULT_PORT           "504"
 #define LB                     (1)             /* Internal escape chars */
@@ -459,6 +459,7 @@ extern int setup_wizard;
 extern char wizard_filename[];
 extern time_t if_modified_since;
 extern int follow_xff;
+extern HashList *HandlerHash;
 void do_setup_wizard(void);
 
 
@@ -502,13 +503,33 @@ void fmout(char *align);
 void pullquote_fmout(void);
 void wDumpContent(int);
 void serv_printf(const char *format,...);
-const char *Bstr(char *key, size_t keylen);
-const char *XBstr(char *key, size_t keylen, size_t *len);
+
 /* TODO: get rid of the non-const-typecast */
 #define bstr(a) (char*) Bstr(a, sizeof(a) - 1)
-#define xbstr(a, b) (char*) XBstr(a, sizeof(a) - 1, b)
 const char *BSTR(char *key);
+const char *Bstr(char *key, size_t keylen);
+
+#define xbstr(a, b) (char*) XBstr(a, sizeof(a) - 1, b)
+const char *XBstr(char *key, size_t keylen, size_t *len);
 const char *XBSTR(char *key, size_t *len);
+
+#define lbstr(a) LBstr(a, sizeof(a) - 1)
+long LBstr(char *key, size_t keylen);
+long LBSTR(char *key);
+
+#define ibstr(a) IBstr(a, sizeof(a) - 1)
+int IBstr(char *key, size_t keylen);
+int IBSTR(char *key);
+
+#define havebstr(a) HaveBstr(a, sizeof(a) - 1)
+int HaveBstr(char *key, size_t keylen);
+int HAVEBSTR(char *key);
+
+#define yesbstr(a) YesBstr(a, sizeof(a) - 1)
+int YesBstr(char *key, size_t keylen);
+int YESBSTR(char *key);
+
+
 void urlescputs(char *);
 void jsesc(char *, size_t, char *);
 void jsescputs(char *);
@@ -524,7 +545,7 @@ void display_mime_icon(void);
 void print_menu_box(char* Title, char *Class, int nLines, ...);
 long stresc(char *target, long tSize, char *strbuf, int nbsp, int nolinebreaks);
 void escputs(char *strbuf);
-void url(char *buf);
+void url(char *buf, size_t bufsize);
 void escputs1(char *strbuf, int nbsp, int nolinebreaks);
 void msgesc(char *target, size_t tlen, char *strbuf);
 void msgescputs(char *strbuf);
@@ -662,6 +683,7 @@ void display_calendar(long msgnum, int unread);
 void display_task(long msgnum, int unread);
 void display_note(long msgnum, int unread);
 void updatenote(void);
+void ajax_update_note(void);
 void do_calendar_view(void);
 void do_tasks_view(void);
 void free_calendar_buffer(void);
@@ -803,6 +825,15 @@ extern char *hourname[];   /**< Names of hours (12am, 1am, etc.) */
 void http_datestring(char *buf, size_t n, time_t xtime);
 
 
+typedef void (*WebcitHandlerFunc)(void);
+typedef struct  _WebcitHandler{
+       WebcitHandlerFunc F;
+       int IsAjax;
+} WebcitHandler;
+void WebcitAddUrlHandler(const char * UrlString, long UrlSLen, WebcitHandlerFunc F, int IsAjax);
+
+
+
 /* These should be empty, but we have them for testing */
 #define DEFAULT_HTTPAUTH_USER  ""
 #define DEFAULT_HTTPAUTH_PASS  ""