1 /* 2 * Copyright 2011, Haiku, Inc. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef _PACKAGE__REPOSITORY_CACHE_H_ 6 #define _PACKAGE__REPOSITORY_CACHE_H_ 7 8 9 #include <Entry.h> 10 #include <String.h> 11 12 #include <package/PackageInfoSet.h> 13 #include <package/RepositoryInfo.h> 14 15 16 namespace BPackageKit { 17 18 19 class BRepositoryCache { 20 public: 21 typedef BPackageInfoSet::Iterator Iterator; 22 23 public: 24 BRepositoryCache(); 25 virtual ~BRepositoryCache(); 26 27 status_t SetTo(const BEntry& entry); 28 29 const BRepositoryInfo& Info() const; 30 const BEntry& Entry() const; 31 bool IsUserSpecific() const; 32 33 void SetIsUserSpecific(bool isUserSpecific); 34 35 uint32 CountPackages() const; 36 Iterator GetIterator() const; 37 38 private: 39 struct RepositoryContentHandler; 40 41 private: 42 BEntry fEntry; 43 BRepositoryInfo fInfo; 44 bool fIsUserSpecific; 45 46 BPackageInfoSet fPackages; 47 }; 48 49 50 } // namespace BPackageKit 51 52 53 #endif // _PACKAGE__REPOSITORY_CACHE_H_ 54