1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // These data structures can be used to describe the contents of an iTunes 6 // library. 7 8 #ifndef CHROME_COMMON_MEDIA_GALLERIES_ITUNES_LIBRARY_H_ 9 #define CHROME_COMMON_MEDIA_GALLERIES_ITUNES_LIBRARY_H_ 10 11 #include <map> 12 #include <set> 13 14 #include "base/files/file_path.h" 15 16 namespace itunes { 17 namespace parser { 18 19 struct Track { 20 Track(); 21 Track(uint64 id, const base::FilePath& location); 22 bool operator<(const Track& other) const; 23 24 uint64 id; 25 base::FilePath location; 26 }; 27 28 typedef std::set<Track> Album; 29 typedef std::map<std::string /*album name*/, Album> Albums; 30 typedef std::map<std::string /*artist name*/, Albums> Library; 31 32 } // namespace parser 33 } // namespace itunes 34 35 #endif // CHROME_COMMON_MEDIA_GALLERIES_ITUNES_LIBRARY_H_ 36 37