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