1 /*
2 
3   tag::read::ID3
4 
5   copyright (c) 2004, 2005 squell <squell@alumina.nl>
6 
7   use, modification, copying and distribution of this software is permitted
8   under the conditions described in the file 'COPYING'.
9 
10   Usage:
11 
12   The read::ID3 class implements the reader interface for ID3 tags
13 
14 */
15 
16 #ifndef __ZF_GETID3
17 #define __ZF_GETID3
18 
19 #include <string>
20 #include "set_base.h"
21 #include "id3v1.h"
22 
23 namespace tag {
24     namespace read {
25 
26         class ID3 : public metadata {
27         public:
28             ID3v1 const tag;
29 
30             typedef metadata::factory<ID3> factory;
31             explicit ID3(const char* fn);
32             value_string operator[](ID3field field) const;
33             array listing() const;
34             operator bool() const { return tag.TAG[0]; }
35         };
36 
37     }
38 }
39 
40 #endif
41 
42