X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Froomops.h;fp=webcit%2Froomops.h;h=0000000000000000000000000000000000000000;hb=76a0f8571de023fe6bd20390174a2302e0a0b982;hp=c29a10189f787f0750fa9def921044e698035660;hpb=50511759c152f4ca2e22fb39a9bf31fc9f9d916d;p=citadel.git diff --git a/webcit/roomops.h b/webcit/roomops.h deleted file mode 100644 index c29a10189..000000000 --- a/webcit/roomops.h +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright (c) 1996-2013 by the citadel.org team - * - * This program is open source software. You can redistribute it and/or - * modify it under the terms of the GNU General Public License, version 3. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - - -#define VIRTUAL_MY_FLOOR -1 - -/* - * This struct holds a list of rooms for "Goto" operations. - */ -struct march { - struct march *next; /* pointer to next in linked list */ - char march_name[128]; /* name of room */ - int march_floor; /* floor number of room */ - int march_order; /* sequence in which we are to visit this room */ -}; - -/* - * This struct holds a list of rooms for client display. It is a binary tree. - */ -struct roomlisting { - struct roomlisting *lnext; /* pointer to 'left' tree node */ - struct roomlisting *rnext; /* pointer to 'right' tree node */ - char rlname[128]; /* name of room */ - unsigned rlflags; /* room flags */ - int rlfloor; /* the floor it resides on */ - int rlorder; /* room listing order */ -}; - - - - - -typedef struct _floor { - int ID; - StrBuf *Name; - long NRooms; - long AlphaN; -} Floor; - -/* - * Data structure for roomlist-to-folderlist conversion - */ -struct __ofolder { - int floor; /* which floor is it on */ - char room[SIZ]; /* which roomname ??? */ - char name[SIZ]; /* which is its own name??? */ - int hasnewmsgs; /* are there unread messages inside */ - int is_mailbox; /* is it a mailbox? */ - int selectable; /* can we select it ??? */ - int view; /* whats its default view? inbox/calendar.... */ - int num_rooms; /* If this is a floor, how many rooms does it have */ -}; - - - -/* - * Data structure for roomlist-to-folderlist conversion - */ -typedef struct _folder { - /* Data citserver tells us about the room */ - long QRFlags; /* roomflags */ - long QRFlags2; /* Bitbucket NO2 */ - long RAFlags; - - int view; /* whats its default view? inbox/calendar.... */ - long defview; - long lastchange; /* todo... */ - - /* later evaluated data from the serverdata */ - StrBuf *name; /* the full name of the room we're talking about */ - long nRoomNameParts; - StrBuf **RoomNameParts; - - int floorid; /* which floor is it 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; - -/* only available if GNET contains this */ - const StrBuf* RoomAlias; /* by what mail will this room send mail? */ - -/* only available if GETR was run */ - int XALoaded; - StrBuf *XAPass; - StrBuf *Directory; - long Order; - -/* Only available from the GOTO context... */ - long nNewMessages; - long nTotalMessages; - long LastMessageRead; - long HighestRead; - int ShowInfo; - int IsTrash; -/* Only available if certain other commands ran */ - int XHaveRoomPic; - int XHaveRoomPicLoaded; - - int XHaveInfoTextLoaded; - StrBuf *XInfoText; - - int XHaveDownloadCount; - int XDownloadCount; - - int BumpUsers; /* if SETR set to 1 to make all users who knew this room to forget about it. */ - - HashList *IgnetCfgs[maxRoomNetCfg + 1]; -} folder; - -HashList *GetFloorListHash(StrBuf *Target, WCTemplputParams *TP); -void vDeleteFolder(void *vFolder); -void FlushFolder(folder *room); -void FlushIgnetCfgs(folder *room); -void ParseGoto(folder *proom, StrBuf *Line); -void FlushRoomlist(void); /* release our caches, so a deleted / zapped room disapears */ -void ReloadCurrentRoom(void); /* Flush cache; reload current state */ - -HashList *GetFloorListHash(StrBuf *Target, WCTemplputParams *TP); -HashList *GetRoomListHash(StrBuf *Target, WCTemplputParams *TP); -int SortRoomsByListOrder(const void *room1, const void *room2); -void tmplput_roombanner(StrBuf *Target, WCTemplputParams *TP); - - -void LoadRoomAide(void); -void LoadRoomXA (void); -void LoadXRoomPic(void); -void LoadXRoomInfoText(void); -void LoadXRoomXCountFiles(void); - -long gotoroom(const StrBuf *gname); - -void slrp_highest(void); -void remove_march(const StrBuf *aaa); -void dotskip(void); -void smart_goto(const StrBuf *next_room); -void free_march_list(wcsession *wcf); - -/* - * 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_HAVE_SUB_ROOMS (1<<3) -#define REST_GOT_LOCAL_PART (1<<4) -#define REST_NONEXIST (1<<5) - - -extern CtxType CTX_ROOMS; -extern CtxType CTX_FLOORS;