Home | History | Annotate | Download | only in media_galleries
      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