|
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_ */
|