Environment.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _ENVIRONMENT_H
00022 #define _ENVIRONMENT_H
00023
00024
00025
00026
00027 #define VERBOSITY 1
00028 #define LOGFILE "/tmp/iipsrv.log"
00029 #define MAX_IMAGE_CACHE_SIZE 10.0
00030 #define FILENAME_PATTERN "_pyr_"
00031 #define JPEG_QUALITY 75
00032 #define MAX_CVT 5000
00033 #define MAX_LAYERS 0
00034 #define FILESYSTEM_PREFIX ""
00035 #define WATERMARK ""
00036 #define WATERMARK_PROBABILITY 1.0
00037 #define WATERMARK_OPACITY 1.0
00038 #define LIBMEMCACHED_SERVERS "localhost"
00039 #define LIBMEMCACHED_TIMEOUT 3600
00040
00041
00042
00043 #include <string>
00044
00045
00047 class Environment {
00048
00049
00050 public:
00051
00052 static int getVerbosity(){
00053 int loglevel = VERBOSITY;
00054 char *envpara = getenv( "VERBOSITY" );
00055 if( envpara ){
00056 loglevel = atoi( envpara );
00057
00058 if( loglevel < 0 ) loglevel = 0;
00059 }
00060 return loglevel;
00061 }
00062
00063
00064 static std::string getLogFile(){
00065 char* envpara = getenv( "LOGFILE" );
00066 if( envpara ) return std::string( envpara );
00067 else return LOGFILE;
00068 }
00069
00070
00071 static float getMaxImageCacheSize(){
00072 float max_image_cache_size = MAX_IMAGE_CACHE_SIZE;
00073 char* envpara = getenv( "MAX_IMAGE_CACHE_SIZE" );
00074 if( envpara ){
00075 max_image_cache_size = atof( envpara );
00076 }
00077 return max_image_cache_size;
00078 }
00079
00080
00081 static std::string getFileNamePattern(){
00082 char* envpara = getenv( "FILENAME_PATTERN" );
00083 std::string filename_pattern;
00084 if( envpara ){
00085 filename_pattern = std::string( envpara );
00086 }
00087 else filename_pattern = FILENAME_PATTERN;
00088
00089 return filename_pattern;
00090 }
00091
00092
00093 static int getJPEGQuality(){
00094 char* envpara = getenv( "JPEG_QUALITY" );
00095 int jpeg_quality;
00096 if( envpara ){
00097 jpeg_quality = atoi( envpara );
00098 if( jpeg_quality > 100 ) jpeg_quality = 100;
00099 if( jpeg_quality < 1 ) jpeg_quality = 1;
00100 }
00101 else jpeg_quality = JPEG_QUALITY;
00102
00103 return jpeg_quality;
00104 }
00105
00106
00107 static int getMaxCVT(){
00108 char* envpara = getenv( "MAX_CVT" );
00109 int max_CVT;
00110 if( envpara ){
00111 max_CVT = atoi( envpara );
00112 if( max_CVT < 64 ) max_CVT = 64;
00113 if( max_CVT == -1 ) max_CVT = -1;
00114 }
00115 else max_CVT = MAX_CVT;
00116
00117 return max_CVT;
00118 }
00119
00120
00121 static int getMaxLayers(){
00122 char* envpara = getenv( "MAX_LAYERS" );
00123 int layers;
00124 if( envpara ) layers = atoi( envpara );
00125 else layers = MAX_LAYERS;
00126
00127 return layers;
00128 }
00129
00130
00131 static std::string getFileSystemPrefix(){
00132 char* envpara = getenv( "FILESYSTEM_PREFIX" );
00133 std::string filesystem_prefix;
00134 if( envpara ){
00135 filesystem_prefix = std::string( envpara );
00136 }
00137 else filesystem_prefix = FILESYSTEM_PREFIX;
00138
00139 return filesystem_prefix;
00140 }
00141
00142
00143 static std::string getWatermark(){
00144 char* envpara = getenv( "WATERMARK" );
00145 std::string watermark;
00146 if( envpara ){
00147 watermark = std::string( envpara );
00148 }
00149 else watermark = WATERMARK;
00150
00151 return watermark;
00152 }
00153
00154
00155 static float getWatermarkProbability(){
00156 float watermark_probability = WATERMARK_PROBABILITY;
00157 char* envpara = getenv( "WATERMARK_PROBABILITY" );
00158
00159 if( envpara ){
00160 watermark_probability = atof( envpara );
00161 if( watermark_probability > 1.0 ) watermark_probability = 1.0;
00162 if( watermark_probability < 0 ) watermark_probability = 0.0;
00163 }
00164
00165 return watermark_probability;
00166 }
00167
00168
00169 static float getWatermarkOpacity(){
00170 float watermark_opacity = WATERMARK_OPACITY;
00171 char* envpara = getenv( "WATERMARK_OPACITY" );
00172
00173 if( envpara ){
00174 watermark_opacity = atof( envpara );
00175 if( watermark_opacity > 1.0 ) watermark_opacity = 1.0;
00176 if( watermark_opacity < 0 ) watermark_opacity = 0.0;
00177 }
00178
00179 return watermark_opacity;
00180 }
00181
00182
00183 static std::string getMemcachedServers(){
00184 char* envpara = getenv( "MEMCACHED_SERVERS" );
00185 std::string memcached_servers;
00186 if( envpara ){
00187 memcached_servers = std::string( envpara );
00188 }
00189 else memcached_servers = LIBMEMCACHED_SERVERS;
00190
00191 return memcached_servers;
00192 }
00193
00194
00195 static unsigned int getMemcachedTimeout(){
00196 char* envpara = getenv( "MEMCACHED_TIMEOUT" );
00197 unsigned int memcached_timeout;
00198 if( envpara ) memcached_timeout = atoi( envpara );
00199 else memcached_timeout = LIBMEMCACHED_TIMEOUT;
00200
00201 return memcached_timeout;
00202 }
00203
00204
00205
00206
00207 };
00208
00209
00210 #endif