]> code.citadel.org Git - citadel.git/blobdiff - webcit/webcit.h
Added some glue code for attachment of an OpenID to
[citadel.git] / webcit / webcit.h
index 74e161428cf9975a6e93da9e40f50b4757bae0a0..cacacc181180ad2e9054281a52a2dbd7d2e2d679 100644 (file)
@@ -126,7 +126,7 @@ extern locale_t wc_locales[];
 #define CLIENT_ID              4
 #define CLIENT_VERSION         735             /* This version of WebCit */
 #define MINIMUM_CIT_VERSION    730             /* min required Citadel ver */
-#define        LIBCITADEL_MIN          111             /* min required libcitadel ver */
+#define        LIBCITADEL_MIN          113             /* min required libcitadel ver */
 #define DEFAULT_HOST           "localhost"     /* Default Citadel server */
 #define DEFAULT_PORT           "504"
 #define LB                     (1)             /* Internal escape chars */
@@ -338,6 +338,20 @@ struct folder {
        int num_rooms;  /**< If this is a floor, how many rooms does it have */
 };
 
+typedef struct _disp_cal {                                     
+       icalcomponent *cal;             /**< cal items for display */
+       long cal_msgnum;                /**< cal msgids for display */
+       char *from;                     /**< owner of this component */
+       int unread;                     /**< already seen by the user? */
+
+       time_t event_start;
+       time_t event_end;
+
+       int multi_day_event;
+       int is_repeat;
+} disp_cal;                                            
+
+
 /**
  * \brief One of these is kept for each active Citadel session.
  * HTTP transactions are bound to on e at a time.
@@ -388,13 +402,7 @@ struct wcsession {
        char this_page[512];                    /**< URL of current page */
        char http_host[512];                    /**< HTTP Host: header */
        HashList *hash_prefs;                   /**< WebCit preferences for this user */
-       struct disp_cal {                                       
-               icalcomponent *cal;             /**< cal items for display */
-               long cal_msgnum;                /**< cal msgids for display */
-               char *from;                     /**< owner of this component */
-               int unread;                     /**< already seen by the user? */
-       } *disp_cal;                                            
-       int num_cal;                            /**< number of calendar items for display */
+       HashList *disp_cal_items;               /**< sorted list of calendar items; startdate is the sort criteria. */
        struct wc_attachment *first_attachment; /**< linked list of attachments for 'enter message' */
        char last_chat_user[256];               /**< ??? todo */
        char ImportantMessage[SIZ];             /**< ??? todo */
@@ -476,7 +484,12 @@ void cookie_to_stuff(char *cookie, int *session,
 void locate_host(char *, int);
 void become_logged_in(char *, char *, char *);
 void do_login(void);
+void do_openid_login(void);
+void finalize_openid_login(void);
 void display_login(char *mesg);
+void display_openid_login(char *mesg);
+void display_openids(void);
+void openid_attach(void);
 void do_welcome(void);
 void do_logout(void);
 void display_main_menu(void);
@@ -699,7 +712,6 @@ void updatenote(void);
 void ajax_update_note(void);
 void do_calendar_view(void);
 void do_tasks_view(void);
-void free_calendar_buffer(void);
 void calendar_summary_view(void);
 int load_msg_ptrs(char *servcmd, int with_headers);
 void free_attachments(struct wcsession *sess);
@@ -798,6 +810,7 @@ void display_wiki_page(void);
 int get_time_format_cached (void);
 int xtoi(char *in, size_t len);
 void webcit_fmt_date(char *buf, time_t thetime, int brief);
+int fetch_http(char *url, char *target_buf, int maxbytes);
 
 
 #ifdef HAVE_ICONV