Blame HTTPCacheMacros.h

Packit a4aae4
/*
Packit a4aae4
 * HTTPCacheMacros.h
Packit a4aae4
 *
Packit a4aae4
 *  Created on: Dec 28, 2011
Packit a4aae4
 *      Author: jimg
Packit a4aae4
 */
Packit a4aae4
Packit a4aae4
#ifndef HTTPCACHEMACROS_H_
Packit a4aae4
#define HTTPCACHEMACROS_H_
Packit a4aae4
Packit a4aae4
#ifdef WIN32
Packit a4aae4
#include <direct.h>
Packit a4aae4
#include <time.h>
Packit a4aae4
#include <fcntl.h>
Packit a4aae4
#define MKDIR(a,b) _mkdir((a))
Packit a4aae4
#define UMASK(a) _umask((a))
Packit a4aae4
Packit a4aae4
#if 0
Packit a4aae4
#define REMOVE(a) do { \
Packit a4aae4
        int s = remove((a)); \
Packit a4aae4
        if (s != 0) \
Packit a4aae4
            throw InternalErr(__FILE__, __LINE__, "Cache error; could not remove file: " + long_to_string(s)); \
Packit a4aae4
    } while(0)
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
#define REMOVE_BOOL(a) remove((a))
Packit a4aae4
#define REMOVE(a) ((void)remove((a)))
Packit a4aae4
#define MKSTEMP(a) _open(_mktemp((a)),_O_CREAT,_S_IREAD|_S_IWRITE)
Packit a4aae4
#define DIR_SEPARATOR_CHAR '\\'
Packit a4aae4
#define DIR_SEPARATOR_STR "\\"
Packit a4aae4
Packit a4aae4
#else
Packit a4aae4
#include <cerrno>
Packit a4aae4
#define MKDIR(a,b) mkdir((a), (b))
Packit a4aae4
#define UMASK(a) umask((a))
Packit a4aae4
Packit a4aae4
#if 0
Packit a4aae4
// Replaced this with something that signals errors. jhrg 12/28/2011
Packit a4aae4
// A great idea, but it breaks things in ways that complicate
Packit a4aae4
// testing. Push this change forward to H 1.9. jhrg 12/28/2011
Packit a4aae4
#define REMOVE(a) do { \
Packit a4aae4
        errno = 0; \
Packit a4aae4
        int s = remove((a)); \
Packit a4aae4
        if (s != 0) \
Packit a4aae4
            throw InternalErr(__FILE__, __LINE__, "Cache error; could not remove file: " + long_to_string(errno)); \
Packit a4aae4
    } while(0)
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
#define REMOVE_BOOL(a) remove((a))
Packit a4aae4
#define REMOVE(a) ((void)remove((a)))
Packit a4aae4
Packit a4aae4
#define MKSTEMP(a) mkstemp((a))
Packit a4aae4
#define DIR_SEPARATOR_CHAR '/'
Packit a4aae4
#define DIR_SEPARATOR_STR "/"
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
#ifdef WIN32
Packit a4aae4
#define CACHE_LOCATION "\\tmp\\"
Packit a4aae4
#define CACHE_ROOT "dods-cache\\"
Packit a4aae4
#else
Packit a4aae4
#define CACHE_LOCATION "/tmp/"
Packit a4aae4
#define CACHE_ROOT "dods-cache/"
Packit a4aae4
#endif
Packit a4aae4
Packit a4aae4
#define CACHE_INDEX ".index"
Packit a4aae4
#define CACHE_LOCK ".lock"
Packit a4aae4
#define CACHE_META ".meta"
Packit a4aae4
#define CACHE_EMPTY_ETAG "@cache@"
Packit a4aae4
Packit a4aae4
Packit a4aae4
#endif /* HTTPCACHEMACROS_H_ */