#ifndef DBOX_PATH_H

#define DBOX_PATH_H

#include <string>

#include <libdbox.h>
#include <paths.h>

#ifdef __MSDOS__
#define DIRCHAR "\\"
#else
#define DIRCHAR "/"
#endif

#define TEMPDIR "/tmp/"

#ifndef GLOBALMAILDIR
#define GLOBALMAILDIR _PATH_MAILDIR "/"
#endif

//#define DBOXSYSTEMDIR "%s" "system" DIRCHAR
//#define DBOXCLIENTDIR DBOXSYSTEMDIR "clients" DIRCHAR "%s" DIRCHAR
//#define DBOXPORTDIR "%s" "port" DIRCHAR "%u" DIRCHAR
//#define DBOXTEMPDIR "%s" "tmp" DIRCHAR
//#define DBOXSPOOLTEMPDIR "%s" "port" DIRCHAR "0" DIRCHAR
//#define DBOXPORTTEMPDIR "%s" "port" DIRCHAR "%u" DIRCHAR "tmp" DIRCHAR
#define DBOXBOXDIR "%s" "%s" DIRCHAR
//#define DBOXCHATDIR "%s" "chat" DIRCHAR
//#define DBOXBINDIR "%s" "bin" DIRCHAR
//#define DBOXHTMLDIR "%s" "html" DIRCHAR

//#define BOXSYSTEMDIR "%s" "system" DIRCHAR
//#define BOXLOGDIR "%s" "log" DIRCHAR
//#define BOXLOCKDIR "%s" "lock" DIRCHAR
//#define BOXUSERDIR "%s" "user" DIRCHAR "%s" DIRCHAR
//#define BOXUSERMAILDIR "%s" "user" DIRCHAR "%s" DIRCHAR "mail" DIRCHAR "%s" DIRCHAR
//#define BOXTICKETDIR "%s" "ticket" DIRCHAR 
//#define BOXSPOOLDIR "%s" "user" DIRCHAR "%s" DIRCHAR
//#define BOXSPOOLINZCMAILDIR "%s" "spool" DIRCHAR "zcmail" DIRCHAR
//#define BOXSPOOLINZCNEWSDIR "%s" "spool" DIRCHAR "zcnews" DIRCHAR
//#define BOXBADDIR "%s" "bad" DIRCHAR
//#define BOXBRETTERDIR "%s" "bretter" DIRCHAR
//#define BOXGRUPPENDIR "%s" "gruppen" DIRCHAR "%s" DIRCHAR
//#define BOXTODODIR "%s" "todo" DIRCHAR
//#define BOXHTMLDIR "%s" "html" DIRCHAR

void mkboxdir(char *boxdir, const char *boxname);

void getdboxsystemdir(std::string &dest, const std::string &dboxdir);
void getdboxclientdir(std::string &dest, const std::string &dboxdir, const std::string &client);
void getdboxportdir(std::string &dest, const std::string &dboxdir, unsigned port);
void getdboxtempdir(std::string &dest, const std::string &dboxdir);
void getdboxspooltempdir(std::string &dest, const std::string &dboxdir);
void getdboxporttempdir(std::string &dest, const std::string &dboxdir, unsigned port);
void getdboxboxdir(std::string &dest, const std::string &dboxdir, const std::string &box);
void getdboxchatdir(std::string &dest, const std::string &dboxdir);
void getdboxbindir(std::string &dest, const std::string &dboxdir);
void getdboxhtmldir(std::string &dest, const std::string &dboxdir);

void getboxsystemdir(std::string &dest, const std::string &boxdir);
void getboxlogdir(std::string &dest, const std::string &boxdir);
void getboxlockdir(std::string &dest, const std::string &boxdir);
void getboxuserdir(std::string &dest, const std::string &boxdir, const std::string &user);
void getboxusermaildir(std::string &dest, const std::string &boxdir,
                       const std::string &user, const std::string &folder);
void getboxticketdir(std::string &dest, const std::string &boxdir);
void getboxspooldir(std::string &dest, const std::string &boxdir, const std::string &user);
void getboxspoolinzcmaildir(std::string &dest, const std::string &boxdir);
void getboxspoolinzcnewsdir(std::string &dest, const std::string &boxdir);
void getboxbaddir(std::string &dest, const std::string &boxdir);
void getboxbretterdir(std::string &dest, const std::string &boxdir);
void getboxgruppendir(std::string &dest, const std::string &boxdir, const std::string &group);
void getboxtododir(std::string &dest, const std::string &boxdir);
void getboxhtmldir(std::string &dest, const std::string &boxdir);

#endif


syntax highlighted by Code2HTML, v. 0.9.1