#ifndef TAG_H #define TAG_H #include #include #include class Tag { public: typedef boost::shared_ptr p; typedef std::map Fields; //! Tag fields. Fields fields; //! Generic tag loader. static p load(const std::string filename); //! Check for the existence of a specific field. bool has_field(const std::string name); }; class ID3Tag : public Tag { private: void tag_add_string(struct id3_tag *id3tag, const char *type, const char *id); public: ID3Tag(const std::string filename); }; #endif