00001 #ifndef __GEMFIRE_ERRORCODES_H__
00002 #define __GEMFIRE_ERRORCODES_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00017 #include "gfcpp_globals.hpp"
00018
00019 namespace gemfire {
00020
00021
00022
00023
00024
00025
00026 class CPPCACHE_EXPORT ErrorCodes {
00027
00028 public:
00032 typedef enum {
00033 IllegalArgument= 0,
00034 IllegalState,
00035 CacheExists,
00036 CacheXml,
00037 CacheWriter,
00038 RegionExists,
00039 CacheClosed,
00040 LeaseExpired,
00041 CacheLoader,
00042 RegionDestroyed,
00043 EntryDestroyed,
00044 NoSystem,
00045 AlreadyConnected,
00046 FileNotFound,
00047 License,
00048 Interrupted,
00049 UnsupportedOperation,
00050 StatisticsDisabled,
00051 ConcurrentModification,
00052 ClassCast,
00053 EntryNotFound,
00054 GemfireIO,
00055 GemfireConfig,
00056 NullPointer,
00057 EntryExists,
00058 NotFound,
00059 NotConnected,
00060 CacheProxy,
00061 OutOfMemory,
00062 NotOwner,
00063 WrongRegionScope,
00064 BufferSizeExceeded,
00065 ValueInvalid,
00066 Timeout,
00067 Unknown,
00068 Success
00069 } Codes;
00070 ErrorCodes();
00071 ~ErrorCodes();
00072
00073 static inline ErrorCodes::Codes GfErrTypeToErrorCodes(GfErrType err)
00074 {
00075 switch(err)
00076 {
00077 case GF_CACHE_ILLEGAL_ARGUMENT_EXCEPTION:
00078 return ErrorCodes::IllegalArgument;
00079 case GF_CACHE_ILLEGAL_STATE_EXCEPTION:
00080 return ErrorCodes::IllegalState;
00081 case GF_CACHE_TIMEOUT_EXCEPTION:
00082 return ErrorCodes::Timeout;
00083 case GF_CACHE_WRITER_EXCEPTION:
00084 return ErrorCodes::CacheWriter;
00085 case GF_CACHE_REGION_EXISTS_EXCEPTION:
00086 return ErrorCodes::RegionExists;
00087 case GF_CACHE_CLOSED_EXCEPTION:
00088 return ErrorCodes::CacheClosed;
00089 case GF_CACHE_LEASE_EXPIRED_EXCEPTION:
00090 return ErrorCodes::LeaseExpired;
00091 case GF_CACHE_LOADER_EXCEPTION:
00092 return ErrorCodes::CacheLoader;
00093 case GF_CACHE_REGION_DESTROYED_EXCEPTION:
00094 return ErrorCodes::RegionDestroyed;
00095 case GF_CACHE_ENTRY_DESTROYED_EXCEPTION:
00096 return ErrorCodes::EntryDestroyed;
00097 case GF_NOTSUP:
00098 return ErrorCodes::UnsupportedOperation;
00099 case GF_CACHE_STATISTICS_DISABLED_EXCEPTION:
00100 return ErrorCodes::StatisticsDisabled;
00101 case GF_CACHE_CONCURRENT_MODIFICATION_EXCEPTION:
00102 return ErrorCodes::ConcurrentModification;
00103 case GF_CACHE_ENTRY_NOT_FOUND:
00104 return ErrorCodes::EntryNotFound;
00105 case GF_ERANGE:
00106 return ErrorCodes::BufferSizeExceeded;
00107 case GF_EINVAL:
00108 return ErrorCodes::ValueInvalid;
00109 case GF_NOERR:
00110 return ErrorCodes::Success;
00111 case GF_ENTRYEXISTS_EXCEPTION:
00112 return ErrorCodes::EntryExists;
00113 default:
00114 return ErrorCodes::Unknown;
00115 }
00116 }
00117 static inline GfErrType ErrorCodesToGfErrType(ErrorCodes::Codes c)
00118 {
00119 switch(c)
00120 {
00121 case ErrorCodes::IllegalArgument:
00122 return GF_CACHE_ILLEGAL_ARGUMENT_EXCEPTION;
00123 case ErrorCodes::IllegalState:
00124 return GF_CACHE_ILLEGAL_STATE_EXCEPTION;
00125 case ErrorCodes::Timeout:
00126 return GF_CACHE_TIMEOUT_EXCEPTION;
00127 case ErrorCodes::CacheWriter:
00128 return GF_CACHE_WRITER_EXCEPTION;
00129 case ErrorCodes::RegionExists:
00130 return GF_CACHE_REGION_EXISTS_EXCEPTION;
00131 case ErrorCodes::CacheClosed:
00132 return GF_CACHE_CLOSED_EXCEPTION;
00133 case ErrorCodes::LeaseExpired:
00134 return GF_CACHE_LEASE_EXPIRED_EXCEPTION;
00135 case ErrorCodes::CacheLoader:
00136 return GF_CACHE_LOADER_EXCEPTION;
00137 case ErrorCodes::RegionDestroyed:
00138 return GF_CACHE_REGION_DESTROYED_EXCEPTION;
00139 case ErrorCodes::EntryDestroyed:
00140 return GF_CACHE_ENTRY_DESTROYED_EXCEPTION;
00141 case ErrorCodes::UnsupportedOperation:
00142 return GF_NOTSUP;
00143 case ErrorCodes::StatisticsDisabled:
00144 return GF_CACHE_STATISTICS_DISABLED_EXCEPTION;
00145 case ErrorCodes::ConcurrentModification:
00146 return GF_CACHE_CONCURRENT_MODIFICATION_EXCEPTION;
00147 case ErrorCodes::EntryNotFound:
00148 return GF_CACHE_ENTRY_NOT_FOUND;
00149 case ErrorCodes::BufferSizeExceeded:
00150 return GF_ERANGE;
00151 case ErrorCodes::ValueInvalid:
00152 return GF_EINVAL;
00153 case ErrorCodes::Success:
00154 return GF_NOERR;
00155 case ErrorCodes::EntryExists:
00156 return GF_ENTRYEXISTS_EXCEPTION;
00157
00158 default:
00159 return GF_NOERR;
00160 }
00161 }
00162 private:
00163 GfErrorInfo m_errStruct;
00164 };
00165
00166 };
00167
00168 #endif //ifndef __GEMFIRE_ERRORCODES_H__