int CreatePixmapStore::decodeIdentity(DecodeBuffer &decodeBuffer, unsigned char *&buffer, unsigned int &size, int bigEndian, WriteBuffer *writeBuffer, ChannelCache *channelCache) const { ClientCache *clientCache = (ClientCache *) channelCache; unsigned char cValue; unsigned int value; size = 16; buffer = writeBuffer -> addMessage(size); decodeBuffer.decodeCachedValue(cValue, 8, clientCache -> depthCache); *(buffer + 1) = cValue; decodeBuffer.decodeNewXidValue(value, clientCache -> lastId, clientCache -> lastIdCache, clientCache -> drawableCache, clientCache -> freeDrawableCache); PutULONG(value, buffer + 4, bigEndian); decodeBuffer.decodeXidValue(value, clientCache -> windowCache); PutULONG(value, buffer + 8, bigEndian); decodeBuffer.decodeCachedValue(value, 16, clientCache -> createPixmapXCache, 8); PutUINT(value, buffer + 12, bigEndian); decodeBuffer.decodeCachedValue(value, 16, clientCache -> createPixmapYCache, 8); PutUINT(value, buffer + 14, bigEndian); #ifdef TEST *logofs << name() << ": Decoded message. Size is " << size << ".\n" << logofs_flush; #endif return 1; }
void CreatePixmapStore::updateIdentity(DecodeBuffer &decodeBuffer, const Message *message, ChannelCache *channelCache) const { CreatePixmapMessage *createPixmap = (CreatePixmapMessage *) message; ClientCache *clientCache = (ClientCache *) channelCache; decodeBuffer.decodeNewXidValue(createPixmap -> id, clientCache -> lastId, clientCache -> lastIdCache, clientCache -> drawableCache, clientCache -> freeDrawableCache); #ifdef TEST *logofs << name() << ": Decoded update. Size is " << createPixmap -> size_ << " identity is " << createPixmap -> i_size_ << ".\n" << logofs_flush; #endif }