#include "webserver.h"
#include "groupdav.h"
+#ifdef DBG_PREFS_HASH
inline const char *PrintPref(void *Prefstr)
{
return ChrPtr(Prefstr);
}
+#endif
/*
* display preferences dialog
}
FreeStrBuf(&Key);
}
+ FreeStrBuf(&ReadBuf);
}
}
StrBuf *SubBuf = NULL;
Hash = WC->hash_prefs;
+#ifdef DBG_PREFS_HASH
dbg_PrintHash(Hash, PrintPref, NULL);
+#endif
HashPos = GetNewHashPos();
while (GetNextHashPos(Hash, HashPos, &len, &Key, &Value)!=0)
{
int get_PREFERENCE(const char *key, size_t keylen, StrBuf **value)
{
void *hash_value = NULL;
-
+#ifdef DBG_PREFS_HASH
dbg_PrintHash(WC->hash_prefs, PrintPref, NULL);
+#endif
if (GetHash(WC->hash_prefs, key, keylen, &hash_value) == 0) {
*value = NULL;
return 0;
}
}
+StrBuf *get_ROOM_PREFS(const char *key, size_t keylen)
+{
+ StrBuf *pref_name, *pref_value;
+
+ pref_name = NewStrBuf ();
+ StrBufPrintf(pref_name, "%s %s", key, WC->wc_roomname);
+ get_pref(pref_name, &pref_value);
+ FreeStrBuf(&pref_name);
+ return pref_value;
+}
+
+void set_ROOM_PREFS(const char *key, size_t keylen, StrBuf *value, int save_to_server)
+{
+ StrBuf *pref_name;
+
+ pref_name = NewStrBuf ();
+ StrBufPrintf(pref_name, "%s %s", key, WC->wc_roomname);
+ set_PREFERENCE(ChrPtr(pref_name), StrLength(pref_name), value, save_to_server);
+ FreeStrBuf(&pref_name);
+}
+
/**
* \brief display form for changing your preferences and settings
*/