/usr/include/id3/tag.h is in libid3-3.8.3-dev 3.8.3-16.2+b1.
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 | // -*- C++ -*-
// $Id: tag.h,v 1.63 2003/03/02 13:35:59 t1mpy Exp $
// id3lib: a software library for creating and manipulating id3v1/v2 tags
// Copyright 1999, 2000 Scott Thomas Haug
// Copyright 2002 Thijmen Klok (thijmen@id3lib.org)
// This library is free software; you can redistribute it and/or modify it
// under the terms of the GNU Library General Public License as published by
// the Free Software Foundation; either version 2 of the License, or (at your
// option) any later version.
//
// 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 Library General Public
// License for more details.
//
// You should have received a copy of the GNU Library General Public License
// along with this library; if not, write to the Free Software Foundation,
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// The id3lib authors encourage improvements and optimisations to be sent to
// the id3lib coordinator. Please see the README file for details on where to
// send such submissions. See the AUTHORS file for a list of people who have
// contributed to id3lib. See the ChangeLog file for a list of changes to
// id3lib. These files are distributed with id3lib at
// http://download.sourceforge.net/id3lib/
#ifndef _ID3LIB_TAG_H_
#define _ID3LIB_TAG_H_
#include <id3/id3lib_frame.h>
#include <id3/field.h>
#include <id3/utils.h>//for ID3_PATH_LENGTH
class ID3_Reader;
class ID3_Writer;
class ID3_TagImpl;
class ID3_Tag;
class ID3_CPP_EXPORT ID3_Tag
{
ID3_TagImpl* _impl;
char _tmp_filename[ID3_PATH_LENGTH];
public:
class Iterator
{
public:
virtual ID3_Frame* GetNext() = 0;
};
class ConstIterator
{
public:
virtual const ID3_Frame* GetNext() = 0;
};
public:
ID3_Tag(const char *name = NULL);
ID3_Tag(const ID3_Tag &tag);
virtual ~ID3_Tag();
void Clear();
bool HasChanged() const;
size_t Size() const;
bool SetUnsync(bool);
bool SetExtendedHeader(bool);
bool SetExperimental(bool);
bool GetUnsync() const;
bool GetExtendedHeader() const;
bool GetExperimental() const;
bool SetPadding(bool);
void AddFrame(const ID3_Frame&);
void AddFrame(const ID3_Frame*);
bool AttachFrame(ID3_Frame*);
ID3_Frame* RemoveFrame(const ID3_Frame *);
size_t Parse(const uchar*, size_t);
bool Parse(ID3_Reader& reader);
size_t Render(uchar*, ID3_TagType = ID3TT_ID3V2) const;
size_t Render(ID3_Writer&, ID3_TagType = ID3TT_ID3V2) const;
size_t Link(const char *fileInfo, flags_t = (flags_t) ID3TT_ALL);
size_t Link(ID3_Reader &reader, flags_t = (flags_t) ID3TT_ALL);
flags_t Update(flags_t = (flags_t) ID3TT_ALL);
flags_t Strip(flags_t = (flags_t) ID3TT_ALL);
size_t GetPrependedBytes() const;
size_t GetAppendedBytes() const;
size_t GetFileSize() const;
const char* GetFileName() const;
ID3_Frame* Find(ID3_FrameID) const;
ID3_Frame* Find(ID3_FrameID, ID3_FieldID, uint32) const;
ID3_Frame* Find(ID3_FrameID, ID3_FieldID, const char*) const;
ID3_Frame* Find(ID3_FrameID, ID3_FieldID, const unicode_t*) const;
size_t NumFrames() const;
const Mp3_Headerinfo* GetMp3HeaderInfo() const;
Iterator* CreateIterator();
ConstIterator* CreateIterator() const;
ID3_Tag& operator=( const ID3_Tag & );
bool HasTagType(ID3_TagType tt) const;
ID3_V2Spec GetSpec() const;
bool SetSpec(ID3_V2Spec);
static size_t IsV2Tag(const uchar*);
static size_t IsV2Tag(ID3_Reader&);
/* Deprecated! */
void AddNewFrame(ID3_Frame* f);
size_t Link(const char *fileInfo, bool parseID3v1, bool parseLyrics3);
void SetCompression(bool);
void AddFrames(const ID3_Frame *, size_t);
bool HasLyrics() const;
bool HasV2Tag() const;
bool HasV1Tag() const;
size_t Parse(const uchar header[ID3_TAGHEADERSIZE], const uchar *buffer);
//ID3_Frame* operator[](size_t) const;
//ID3_Frame* GetFrameNum(size_t) const;
ID3_Tag& operator<<(const ID3_Frame &);
ID3_Tag& operator<<(const ID3_Frame *);
};
// deprecated!
int32 ID3_C_EXPORT ID3_IsTagHeader(const uchar header[ID3_TAGHEADERSIZE]);
#endif /* _ID3LIB_TAG_H_ */
|