1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162
|
#ifndef ServerCache_H
# define ServerCache_H
# include "IntCache.H"
# include "CharCache.H"
# include "TextCompressor.H"
# include "BlockCache.H"
# include "BlockCacheSet.H"
static const unsigned int SERVER_TEXT_CACHE_SIZE = 9999;
class ServerCache
{
public:
ServerCache();
~ServerCache();
// General-purpose caches:
CharCache textCache[SERVER_TEXT_CACHE_SIZE];
unsigned int lastSequenceNum;
IntCache replySequenceNumCache;
IntCache eventSequenceNumCache;
unsigned int lastTimestamp;
CharCache depthCache;
IntCache visualCache;
IntCache colormapCache;
// Opcode prediction caches (predict next opcode based on previous one)
CharCache opcodeCache[256];
unsigned char lastOpcode;
// X connection startup
static BlockCache lastInitReply;
// X errors
CharCache errorCodeCache;
IntCache errorMinorCache;
CharCache errorMajorCache;
// ButtonPress and ButtonRelease events
CharCache buttonCache;
// ColormapNotify event
IntCache colormapNotifyWindowCache;
IntCache colormapNotifyColormapCache;
// ConfigureNotify event
IntCache *configureNotifyWindowCache[3];
IntCache *configureNotifyGeomCache[5];
// CreateNotify event
IntCache createNotifyWindowCache;
unsigned int createNotifyLastWindow;
// Expose event
IntCache exposeWindowCache;
IntCache *exposeGeomCache[5];
// FocusIn event
// (also used for FocusOut)
IntCache focusInWindowCache;
// KeymapNotify event
static BlockCache lastKeymap;
// KeyPress event
unsigned char keyPressLastKey;
unsigned char keyPressCache[23];
// MapNotify event
// (also used for UnmapNotify)
IntCache mapNotifyEventCache;
IntCache mapNotifyWindowCache;
// MotionNotify event
// (also used for KeyPress, KeyRelease, ButtonPress, ButtonRelease,
// EnterNotify, and LeaveNotify events and QueryPointer reply)
IntCache motionNotifyTimestampCache;
unsigned int motionNotifyLastRootX;
unsigned int motionNotifyLastRootY;
IntCache motionNotifyRootXCache;
IntCache motionNotifyRootYCache;
IntCache motionNotifyEventXCache;
IntCache motionNotifyEventYCache;
IntCache motionNotifyStateCache;
IntCache *motionNotifyWindowCache[3];
// NoExpose event
IntCache noExposeDrawableCache;
IntCache noExposeMinorCache;
CharCache noExposeMajorCache;
// PropertyNotify event
IntCache propertyNotifyWindowCache;
IntCache propertyNotifyAtomCache;
// ReparentNotify event
IntCache reparentNotifyWindowCache;
// SelectionClear event
IntCache selectionClearWindowCache;
IntCache selectionClearAtomCache;
// VisibilityNotify event
IntCache visibilityNotifyWindowCache;
// GetGeometry reply
IntCache getGeometryRootCache;
IntCache *getGeometryGeomCache[5];
// GetInputFocus reply
IntCache getInputFocusWindowCache;
// GetKeyboardMapping reply
static unsigned char getKeyboardMappingLastKeysymsPerKeycode;
static BlockCache getKeyboardMappingLastMap;
IntCache getKeyboardMappingKeysymCache;
CharCache getKeyboardMappingLastByteCache;
// GetModifierMapping reply
static BlockCache getModifierMappingLastMap;
// GetProperty reply
CharCache getPropertyFormatCache;
IntCache getPropertyTypeCache;
TextCompressor getPropertyTextCompressor;
static BlockCache xResources;
// GetSelection reply
IntCache getSelectionOwnerCache;
// GetWindowAttributes reply
IntCache getWindowAttributesClassCache;
CharCache getWindowAttributesBitGravityCache;
CharCache getWindowAttributesWinGravityCache;
IntCache getWindowAttributesPlanesCache;
IntCache getWindowAttributesPixelCache;
IntCache getWindowAttributesAllEventsCache;
IntCache getWindowAttributesYourEventsCache;
IntCache getWindowAttributesDontPropagateCache;
// QueryColors reply
BlockCache queryColorsLastReply;
// QueryFont reply
static BlockCacheSet queryFontFontCache;
IntCache *queryFontCharInfoCache[6];
unsigned int queryFontLastCharInfo[6];
// QueryPointer reply
IntCache queryPointerRootCache;
IntCache queryPointerChildCache;
// TranslateCoords reply
IntCache translateCoordsChildCache;
IntCache translateCoordsXCache;
IntCache translateCoordsYCache;
};
#endif /* ServerCache_H */
|