12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- // The authors have released ID3Lib as Public Domain(PD) and claim no copyright,
- // patent or other intellectual property protection in this work. This means that
- // it may be modified, redistributed and used in commercial and non-commercial
- // software and hardware without restrictions. ID3Lib is distributed on an "AS IS"
- // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
- //
- // The ID3Lib authors encourage improvements and optimisations to be sent to the
- // ID3Lib coordinator, currently Dirk Mahoney([email protected]). Approved
- // submissions may be altered, and will be included and released under these terms.
- //
- // Mon Nov 23 18:34:01 1998
- #pragma once
- #include "id3_types.h"
- #include "id3_field.h"
- #include "id3_header_frame.h"
- class ID3_Frame
- {
- public:
- ID3_Frame(ID3_FrameID id = ID3FID_NOFRAME);
- ~ID3_Frame(void);
- void Clear(void);
- void SetID(ID3_FrameID id);
- ID3_FrameID GetID(void);
- ID3_Field& Field(ID3_FieldID name);
- // *** PRIVATE INTERNAL DATA - DO NOT USE *** PRIVATE INTERNAL DATA - DO NOT USE ***
- bool HasChanged(void);
- void SetVersion(uchar ver, uchar rev);
- void Parse(uchar *buffer, luint size);
- luint Size(void);
- luint Render(uchar *buffer);
- char encryptionID[256]; // the encryption method with which this frame is encrypted
- char groupingID[256]; // the group to which this frame belongs
- bool compression; // should we try to compress?
- bool hasChanged; // has the frame changed since the last parse/render?
- bitset fieldBits; // which fields are present?
- ID3_FrameID frameID; // what frame are we?
- protected:
- void UpdateStringTypes(void);
- void UpdateFieldDeps(void);
- lsint FindField(ID3_FieldID name);
- uchar version; // what version tag?
- uchar revision; // what revision tag?
- luint numFields; // how many fields are in this frame?
- ID3_Field **fields; // an array of field object pointers
- };
|