Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 113102 | Differences between
and this patch

Collapse All | Expand All

(-)work.orig/nxcomp/RenderExtension.h (-91 / +93 lines)
Lines 142-238 class RenderExtensionMessage : public Me Link Here
142
  } raw_data;
142
  } raw_data;
143
};
143
};
144
144
145
class RenderExtensionStore : public MessageStore
146
{
147
  public:
148
149
  RenderExtensionStore(Compressor *compressor, Decompressor *decompressor);
150
151
  virtual ~RenderExtensionStore();
152
153
  virtual const char *name() const
154
  {
155
    return "RenderExtension";
156
  }
157
158
  virtual unsigned char opcode() const
159
  {
160
    return opcode_;
161
  }
162
163
  virtual unsigned int storage() const
164
  {
165
    return sizeof(RenderExtensionMessage);
166
  }
167
168
  //
169
  // Message handling methods.
170
  //
171
172
  public:
173
174
  virtual Message *create() const
175
  {
176
    return new RenderExtensionMessage();
177
  }
178
179
  virtual Message *create(const Message &message) const
180
  {
181
    return new RenderExtensionMessage((const RenderExtensionMessage &) message);
182
  }
183
184
  virtual void destroy(Message *message) const
185
  {
186
    delete (RenderExtensionMessage *) message;
187
  }
188
189
  //
190
  // In protocol step 5 these methods must be
191
  // specialized for each of the RENDER opcodes
192
  // in their minor stores.
193
  //
194
195
  virtual int identitySize(const unsigned char *buffer, unsigned int size);
196
197
  virtual int encodeIdentity(EncodeBuffer &encodeBuffer, const unsigned char *buffer,
198
                                 const unsigned int size, int bigEndian,
199
                                     ChannelCache *channelCache) const;
200
201
  virtual int decodeIdentity(DecodeBuffer &decodeBuffer, unsigned char *&buffer,
202
                                 unsigned int &size, int bigEndian, WriteBuffer *writeBuffer,
203
                                     ChannelCache *channelCache) const;
204
205
  virtual int parseIdentity(Message *message, const unsigned char *buffer,
206
                                unsigned int size, int bigEndian) const;
207
208
  virtual int unparseIdentity(const Message *message, unsigned char *buffer,
209
                                  unsigned int size, int bigEndian) const;
210
211
  virtual void updateIdentity(EncodeBuffer &encodeBuffer, const Message *message,
212
                                  const Message *cachedMessage,
213
                                      ChannelCache *channelCache) const;
214
215
  virtual void updateIdentity(DecodeBuffer &decodeBuffer, const Message *message,
216
                                  ChannelCache *channelCache) const;
217
218
  virtual void identityChecksum(const Message *message, const unsigned char *buffer,
219
                                    unsigned int size, int bigEndian) const;
220
221
  virtual void dumpIdentity(const Message *message) const;
222
223
  private:
224
225
  unsigned char opcode_;
226
227
  //
228
  // Keep pointers to specialized classes.
229
  //
230
231
  RenderMinorExtensionStore *minors_[RENDEREXTENSION_MINOR_OPCODE_LIMIT];
232
233
  RenderMinorExtensionStore *generic_;
234
};
235
236
class RenderMinorExtensionStore : public MinorMessageStore
145
class RenderMinorExtensionStore : public MinorMessageStore
237
{
146
{
238
  public:
147
  public:
Lines 329-332 class RenderMinorExtensionStore : public Link Here
329
                              ChannelCache *channelCache) const;
238
                              ChannelCache *channelCache) const;
330
};
239
};
331
240
241
class RenderExtensionStore : public MessageStore
242
{
243
  public:
244
245
  RenderExtensionStore(Compressor *compressor, Decompressor *decompressor);
246
247
  virtual ~RenderExtensionStore();
248
249
  virtual const char *name() const
250
  {
251
    return "RenderExtension";
252
  }
253
254
  virtual unsigned char opcode() const
255
  {
256
    return opcode_;
257
  }
258
259
  virtual unsigned int storage() const
260
  {
261
    return sizeof(RenderExtensionMessage);
262
  }
263
264
  //
265
  // Message handling methods.
266
  //
267
268
  public:
269
270
  virtual Message *create() const
271
  {
272
    return new RenderExtensionMessage();
273
  }
274
275
  virtual Message *create(const Message &message) const
276
  {
277
    return new RenderExtensionMessage((const RenderExtensionMessage &) message);
278
  }
279
280
  virtual void destroy(Message *message) const
281
  {
282
    delete (RenderExtensionMessage *) message;
283
  }
284
285
  //
286
  // In protocol step 5 these methods must be
287
  // specialized for each of the RENDER opcodes
288
  // in their minor stores.
289
  //
290
291
  virtual int identitySize(const unsigned char *buffer, unsigned int size);
292
293
  virtual int encodeIdentity(EncodeBuffer &encodeBuffer, const unsigned char *buffer,
294
                                 const unsigned int size, int bigEndian,
295
                                     ChannelCache *channelCache) const;
296
297
  virtual int decodeIdentity(DecodeBuffer &decodeBuffer, unsigned char *&buffer,
298
                                 unsigned int &size, int bigEndian, WriteBuffer *writeBuffer,
299
                                     ChannelCache *channelCache) const;
300
301
  virtual int parseIdentity(Message *message, const unsigned char *buffer,
302
                                unsigned int size, int bigEndian) const;
303
304
  virtual int unparseIdentity(const Message *message, unsigned char *buffer,
305
                                  unsigned int size, int bigEndian) const;
306
307
  virtual void updateIdentity(EncodeBuffer &encodeBuffer, const Message *message,
308
                                  const Message *cachedMessage,
309
                                      ChannelCache *channelCache) const;
310
311
  virtual void updateIdentity(DecodeBuffer &decodeBuffer, const Message *message,
312
                                  ChannelCache *channelCache) const;
313
314
  virtual void identityChecksum(const Message *message, const unsigned char *buffer,
315
                                    unsigned int size, int bigEndian) const;
316
317
  virtual void dumpIdentity(const Message *message) const;
318
319
  private:
320
321
  unsigned char opcode_;
322
323
  //
324
  // Keep pointers to specialized classes.
325
  //
326
327
  RenderMinorExtensionStore *minors_[RENDEREXTENSION_MINOR_OPCODE_LIMIT];
328
329
  RenderMinorExtensionStore *generic_;
330
};
331
332
333
332
#endif /* RenderExtension_H */
334
#endif /* RenderExtension_H */

Return to bug 113102