* burn our folder cache when zapping/deleting
[citadel.git] / webcit / roomops.h
index adf548c259af1f3b23e855a679759f016c7d41fb..865ad5dcbef4dfcf2d05b7609bde202f4ef159ad 100644 (file)
@@ -73,12 +73,18 @@ typedef struct _folder {
        long nRoomNameParts;
        StrBuf **RoomNameParts;
 
-       const Floor *Floor;   /* pint to the floor we're on.. */
+       const Floor *Floor;   /* point to the floor we're on.. */
 
        int hasnewmsgs; /* are there unread messages inside */
        int is_inbox;   /* is it a mailbox?  */
 
+       int RoomAideLoaded;
+       StrBuf *RoomAide;
 
+       int XALoaded;
+       StrBuf *XAPass;
+       StrBuf *Directory;
+       long Order;
 
        int selectable; /* can we select it ??? */
        long num_rooms; /* If this is a floor, how many rooms does it have */
@@ -93,17 +99,36 @@ typedef struct _folder {
        int UsersNewMAilboxMessages; /* should we notify the user about new messages? */
        int IsTrash;
 
+       int XHaveRoomPic;
+       int XHaveRoomPicLoaded;
+
+       int XHaveInfoTextLoaded;
+       StrBuf *XInfoText;
+
+       int XHaveDownloadCount;
+       int XDownloadCount;
+
+       HashList *IgnetCfgs[maxRoomNetCfg];
+
 }folder;
 
 HashList *GetFloorListHash(StrBuf *Target, WCTemplputParams *TP);
 void vDeleteFolder(void *vFolder);
 void FlushFolder(folder *room);
 void ParseGoto(folder *proom, StrBuf *Line);
+void FlushRoomlist(void); /* release our caches, so a deleted / zapped room disapears */
+
+/*
+ * wrapper around usual sort-comparator; private rooms will allways be prefered, -1 if one of them NULL
+ */
+int CompareRooms(const folder *room1, const folder *room2);
+
 
 #define REST_TOPLEVEL 0
 #define REST_IN_NAMESPACE (1<<0)
 #define REST_IN_FLOOR (1<<1)
 #define REST_IN_ROOM (1<<2)
-#define REST_GOT_EUID (1<<3)
-#define REST_GOT_ID (1<<4)
-#define REST_GOT_FILENAME (1<<5)
+#define REST_HAVE_SUB_ROOMS (1<<3)
+#define REST_GOT_LOCAL_PART (1<<4)
+#define REST_NONEXIST (1<<5)
+