asffile.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef TAGLIB_ASFFILE_H
00027 #define TAGLIB_ASFFILE_H
00028
00029 #include "tag.h"
00030 #include "tfile.h"
00031 #include "taglib_export.h"
00032 #include "asfproperties.h"
00033 #include "asftag.h"
00034
00035 namespace TagLib {
00036
00038 namespace ASF {
00039
00046 class TAGLIB_EXPORT File : public TagLib::File
00047 {
00048 public:
00049
00058 File(FileName file, bool readProperties = true, Properties::ReadStyle propertiesStyle = Properties::Average);
00059
00063 virtual ~File();
00064
00075 virtual Tag *tag() const;
00076
00080 virtual Properties *audioProperties() const;
00081
00087 virtual bool save();
00088
00089 private:
00090
00091 int readBYTE();
00092 int readWORD();
00093 unsigned int readDWORD();
00094 long long readQWORD();
00095 static ByteVector renderString(const String &str, bool includeLength = false);
00096 String readString(int len);
00097 void read(bool readProperties, Properties::ReadStyle propertiesStyle);
00098
00099 friend class Attribute;
00100
00101 class BaseObject;
00102 class UnknownObject;
00103 class FilePropertiesObject;
00104 class StreamPropertiesObject;
00105 class ContentDescriptionObject;
00106 class ExtendedContentDescriptionObject;
00107 class HeaderExtensionObject;
00108 class MetadataObject;
00109 class MetadataLibraryObject;
00110
00111 class FilePrivate;
00112 FilePrivate *d;
00113 };
00114
00115 }
00116
00117 }
00118
00119 #endif