move config message loading from msgbase.c -> config.c
[citadel.git] / citadel / include / ctdl_module.h
index 3525504a8eaec726f3f208094e850e029837ada4..8950a47ed9800b48f29743199d028c5fe00e6408 100644 (file)
@@ -77,7 +77,7 @@
                SUBJECT) 
 
 
-#define CtdlAideFPMessage(TEXT, SUBJECT, N, STR, STRLEN) \
+#define CtdlAideFPMessage(TEXT, SUBJECT, N, STR, STRLEN, ccid, ioid, TIME) \
        flood_protect_quickie_message(                   \
                "Citadel",                               \
                NULL,                                    \
                SUBJECT,                                 \
                N,                                       \
                STR,                                     \
-               STRLEN)
+               STRLEN,                                  \
+               ccid,                                    \
+               ioid,                                    \
+               TIME)
 /*
  * Hook functions available to modules.
  */
 #define PRIO_UNSTEALTH 45000
 /* Priorities for EVT_STEALTH */
 #define PRIO_STEALTH 50000
+void CtdlRegisterTDAPVetoHook(int (*fcn_ptr)(StrBuf*), int EventType, int Priority);
+void CtdlUnregisterTDAPVetoHook(int (*fcn_ptr) (StrBuf*), int EventType);
+
+
 void CtdlRegisterSessionHook(void (*fcn_ptr)(void), int EventType, int Priority);
 void CtdlUnregisterSessionHook(void (*fcn_ptr)(void), int EventType);
 void CtdlShutdownServiceHooks(void);
@@ -237,7 +244,7 @@ unsigned CtdlCreateRoom(char *new_room_name,
                        int really_create,
                        int avoid_access,
                        int new_room_view);
-int CtdlGetRoom(struct ctdlroom *qrbuf, char *room_name);
+int CtdlGetRoom(struct ctdlroom *qrbuf, const char *room_name);
 int CtdlGetRoomLock(struct ctdlroom *qrbuf, char *room_name);
 int CtdlDoIHavePermissionToDeleteThisRoom(struct ctdlroom *qr);
 void CtdlRoomAccess(struct ctdlroom *roombuf, struct ctdluser *userbuf,
@@ -245,10 +252,11 @@ void CtdlRoomAccess(struct ctdlroom *roombuf, struct ctdluser *userbuf,
 void CtdlPutRoomLock(struct ctdlroom *qrbuf);
 typedef void (*ForEachRoomCallBack)(struct ctdlroom *EachRoom, void *out_data);
 void CtdlForEachRoom(ForEachRoomCallBack CB, void *in_data);
-typedef void (*ForEachRoomNetCfgCallBack)(struct ctdlroom *EachRoom, void *out_data, const OneRoomNetCfg *OneRNCFG);
+typedef void (*ForEachRoomNetCfgCallBack)(struct ctdlroom *EachRoom, void *out_data, OneRoomNetCfg *OneRNCFG);
 void CtdlForEachNetCfgRoom(ForEachRoomNetCfgCallBack CB,
                           void *in_data,
                           RoomNetCfg filter);
+void SaveChangedConfigs(void);
 
 void CtdlDeleteRoom(struct ctdlroom *qrbuf);
 int CtdlRenameRoom(char *old_name, char *new_name, int new_floor);
@@ -357,7 +365,7 @@ struct config {
        int c_pop3s_port;
        int c_smtps_port;
        char c_auto_cull;
-       char c_instant_expunge;
+       char c_niu_5;
        char c_allow_spoofing;
        char c_journal_email;
        char c_journal_pubmsgs;
@@ -408,6 +416,7 @@ struct RoomNetCfgLine {
 
 struct OneRoomNetCfg {
        long lastsent;
+       long changed;
        StrBuf *Sender;
        StrBuf *RoomInfo;
        RoomNetCfgLine *NetConfigs[maxRoomNetCfg];
@@ -420,8 +429,10 @@ void RegisterRoomCfgType(const char* Name, long len, RoomNetCfg eCfg, CfgLinePar
 void ParseGeneric(const CfgLineType *ThisOne, StrBuf *Line, const char *LinePos, OneRoomNetCfg *sc);
 void SerializeGeneric(const CfgLineType *ThisOne, StrBuf *OutputBuffer, OneRoomNetCfg *sc, RoomNetCfgLine *data);
 void DeleteGenericCfgLine(const CfgLineType *ThisOne, RoomNetCfgLine **data);
+RoomNetCfgLine *DuplicateOneGenericCfgLine(const RoomNetCfgLine *data);
+void AddRoomCfgLine(OneRoomNetCfg *OneRNCfg, struct ctdlroom *qrbuf, RoomNetCfg LineType, RoomNetCfgLine *Line);
 
-const OneRoomNetCfg* CtdlGetNetCfgForRoom(long QRNumber);
+OneRoomNetCfg* CtdlGetNetCfgForRoom(long QRNumber);
 
 typedef struct _nodeconf {
        int DeleteMe;
@@ -517,9 +528,6 @@ void CtdlUserLogout(void);
 /*
  * Expose API calls from msgbase.c
  */
-char *CtdlGetSysConfig(char *sysconfname);
-void CtdlPutSysConfig(char *sysconfname, char *sysconfdata);
-