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 16namespace itunes { 17namespace parser { 18 19struct 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 28typedef std::set<Track> Album; 29typedef std::map<std::string /*album name*/, Album> Albums; 30typedef 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