generalencapsulatedobjectframe.h
Go to the documentation of this file.
1 /***************************************************************************
2  copyright : (C) 2002 - 2008 by Scott Wheeler
3  email : wheeler@kde.org
4 
5  copyright : (C) 2006 by Aaron VonderHaar
6  email : avh4@users.sourceforge.net
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * This library is free software; you can redistribute it and/or modify *
11  * it under the terms of the GNU Lesser General Public License version *
12  * 2.1 as published by the Free Software Foundation. *
13  * *
14  * This library is distributed in the hope that it will be useful, but *
15  * WITHOUT ANY WARRANTY; without even the implied warranty of *
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
17  * Lesser General Public License for more details. *
18  * *
19  * You should have received a copy of the GNU Lesser General Public *
20  * License along with this library; if not, write to the Free Software *
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
22  * 02110-1301 USA *
23  * *
24  * Alternatively, this file is available under the Mozilla Public *
25  * License Version 1.1. You may obtain a copy of the License at *
26  * http://www.mozilla.org/MPL/ *
27  ***************************************************************************/
28 
29 #ifndef TAGLIB_GENERALENCAPSULATEDOBJECT_H
30 #define TAGLIB_GENERALENCAPSULATEDOBJECT_H
31 
32 #include "id3v2frame.h"
33 #include "id3v2header.h"
34 #include "taglib_export.h"
35 
36 namespace TagLib {
37 
38  namespace ID3v2 {
39 
41 
52  {
53  friend class FrameFactory;
54 
55  public:
56 
62 
70  explicit GeneralEncapsulatedObjectFrame(const ByteVector &data);
71 
76 
80  virtual String toString() const;
81 
89  String::Type textEncoding() const;
90 
97  void setTextEncoding(String::Type encoding);
98 
102  String mimeType() const;
103 
107  void setMimeType(const String &type);
108 
114  String fileName() const;
115 
121  void setFileName(const String &name);
122 
131  String description() const;
132 
141  void setDescription(const String &desc);
142 
152  ByteVector object() const;
153 
162  void setObject(const ByteVector &object);
163 
164  protected:
165  virtual void parseFields(const ByteVector &data);
166  virtual ByteVector renderFields() const;
167 
168  private:
172 
173  class GeneralEncapsulatedObjectFramePrivate;
174  GeneralEncapsulatedObjectFramePrivate *d;
175  };
176  }
177 }
178 
179 #endif
An implementation of ID3v2 headers.
Definition: id3v2header.h:47
A wide string class suitable for unicode.
Definition: tstring.h:84
A byte vector.
Definition: tbytevector.h:45
A factory for creating ID3v2 frames during parsing.
Definition: id3v2framefactory.h:65
ID3v2 frame implementation.
Definition: id3v2frame.h:54
#define TAGLIB_EXPORT
Definition: taglib_export.h:40
An ID3v2 general encapsulated object frame implementation.
Definition: generalencapsulatedobjectframe.h:51
Type
Definition: tstring.h:97