This file is indexed.

/usr/include/gnelib/WrapperPacket.h is in libgnelib-dev 0.75+svn20091130-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
#ifndef _WRAPPERPACKET_H_ADG234
#define _WRAPPERPACKET_H_ADG234

/* GNE - Game Networking Engine, a portable multithreaded networking library.
 * Copyright (C) 2001-2006 Jason Winnebeck 
 * Project website: http://www.gillius.org/gne/
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#include <gnelib/Packet.h>

namespace GNE {
  
/**
 * @ingroup midlevel
 *
 * WrapperPacket is a Packet that encapsulates another packet for the purposes
 * of adding information to that packet.  A WrapperPacket on its own has no
 * identity; it is meant only to be used as a base class for the real packet
 * types that perform this common functionality.
 */
class WrapperPacket : public Packet {
public: //typedefs
  typedef SmartPtr<WrapperPacket> sptr;
  typedef WeakPtr<WrapperPacket> wptr;

public:
  virtual ~WrapperPacket();

  /**
   * Returns the current size of this packet in bytes.
   */
  virtual int getSize() const;

  /**
   * Returns the encapsulated data in this WrapperPacket.  There may not
   * currently be an encapsulated Packet, so this method may return NULL.
   */
  const Packet* getData() const;

  /**
   * Returns the encapsulated data in this WrapperPacket.  There may not
   * currently be an encapsulated Packet, so this method may return NULL.
   */
  Packet* getData();

  /**
   * Replaces the given packet with the current packet as this WrapperPacket's
   * data.  The given packet is copied with the Packet::makeClone method, if
   * it is not NULL.
   */
  void setData( const Packet* packet );

  /**
   * Writes the packet to the given Buffer. 
   */
  virtual void writePacket(Buffer& raw) const;

  /**
   * Reads this packet from the given Buffer.
   */
  virtual void readPacket(Buffer& raw);

  /**
   * Copies the given WrapperPacket into this one.  Calls Packet::operator=(
   * const Packet& rhs ).
   */
  WrapperPacket& operator= ( const WrapperPacket& rhs );
  
protected:
  /**
   * Initializes a new WrapperPacket with the given Packet ID and no
   * encapsulated Packet.
   */
  WrapperPacket( int id );

  /**
   * Initializes a new WrapperPacket with the given Packet ID and encapsulated
   * Packet.  The encapsulated Packet may be NULL.
   */
  WrapperPacket( int id, const Packet* packet );

  /**
   * Initializes this WrapperPacket with the given WrapperPacket.
   */
  WrapperPacket( const WrapperPacket& o );

private:
  /**
   * The encapsulated Packet.
   */
  Packet* packet;
};

} //namespace GNE

#endif