This file is indexed.

/usr/include/taglib/generalencapsulatedobjectframe.h is in libtag1-dev 1.9.1-2.4ubuntu1.

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
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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
/***************************************************************************
    copyright            : (C) 2002 - 2008 by Scott Wheeler
    email                : wheeler@kde.org
    copyright            : (C) 2006 by Aaron VonderHaar
    email                : avh4@users.sourceforge.net
 ***************************************************************************/

/***************************************************************************
 *   This library is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU Lesser General Public License version   *
 *   2.1 as published by the Free Software Foundation.                     *
 *                                                                         *
 *   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., 51 Franklin Street, Fifth Floor, Boston, MA         *
 *   02110-1301  USA                                                       *
 *                                                                         *
 *   Alternatively, this file is available under the Mozilla Public        *
 *   License Version 1.1.  You may obtain a copy of the License at         *
 *   http://www.mozilla.org/MPL/                                           *
 ***************************************************************************/

#ifndef TAGLIB_GENERALENCAPSULATEDOBJECT_H
#define TAGLIB_GENERALENCAPSULATEDOBJECT_H

#include "id3v2frame.h"
#include "id3v2header.h"
#include "taglib_export.h"

namespace TagLib {

  namespace ID3v2 {

    //! An ID3v2 general encapsulated object frame implementation

    /*!
     * This is an implementation of ID3v2 general encapsulated objects.
     * Arbitrary binary data may be included in tags, stored in GEOB frames.
     * There may be multiple GEOB frames in a single tag.  Each GEOB it
     * labelled with a content description (which may be blank), a required
     * mime-type, and a file name (may be blank).  The content description
     * uniquely identifies the GEOB frame in the tag.
     */

    class TAGLIB_EXPORT GeneralEncapsulatedObjectFrame : public Frame
    {
      friend class FrameFactory;

    public:

      /*!
       * Constructs an empty object frame.  The description, file name and text
       * encoding should be set manually.
       */
      GeneralEncapsulatedObjectFrame();

      /*!
       * Constructs a GeneralEncapsulatedObjectFrame frame based on \a data.
       *
       * \warning This is \em not data for the encapsulated object, for that use
       * setObject().  This constructor is used when reading the frame from the
       * disk.
       */
      explicit GeneralEncapsulatedObjectFrame(const ByteVector &data);

      /*!
       * Destroys the GeneralEncapsulatedObjectFrame instance.
       */
      virtual ~GeneralEncapsulatedObjectFrame();

      /*!
       * Returns a string containing the description, file name and mime-type
       */
      virtual String toString() const;

      /*!
       * Returns the text encoding used for the description and file name.
       *
       * \see setTextEncoding()
       * \see description()
       * \see fileName()
       */
      String::Type textEncoding() const;

      /*!
       * Set the text encoding used for the description and file name.
       *
       * \see description()
       * \see fileName()
       */
      void setTextEncoding(String::Type encoding);

      /*!
       * Returns the mime type of the object.
       */
      String mimeType() const;

      /*!
       * Sets the mime type of the object.
       */
      void setMimeType(const String &type);

      /*!
       * Returns the file name of the object.
       *
       * \see setFileName()
       */
      String fileName() const;

      /*!
       * Sets the file name for the object.
       *
       * \see fileName()
       */
      void setFileName(const String &name);

      /*!
       * Returns the content description of the object.
       *
       * \see setDescription()
       * \see textEncoding()
       * \see setTextEncoding()
       */

      String description() const;

      /*!
       * Sets the content description of the object to \a desc.
       *
       * \see description()
       * \see textEncoding()
       * \see setTextEncoding()
       */

      void setDescription(const String &desc);

      /*!
       * Returns the object data as a ByteVector.
       *
       * \note ByteVector has a data() method that returns a const char * which
       * should make it easy to export this data to external programs.
       *
       * \see setObject()
       * \see mimeType()
       */
      ByteVector object() const;

      /*!
       * Sets the object data to \a data.  \a data should be of the type specified in
       * this frame's mime-type specification.
       *
       * \see object()
       * \see mimeType()
       * \see setMimeType()
       */
      void setObject(const ByteVector &object);

    protected:
      virtual void parseFields(const ByteVector &data);
      virtual ByteVector renderFields() const;

    private:
      GeneralEncapsulatedObjectFrame(const ByteVector &data, Header *h);
      GeneralEncapsulatedObjectFrame(const GeneralEncapsulatedObjectFrame &);
      GeneralEncapsulatedObjectFrame &operator=(const GeneralEncapsulatedObjectFrame &);

      class GeneralEncapsulatedObjectFramePrivate;
      GeneralEncapsulatedObjectFramePrivate *d;
    };
  }
}

#endif