1500bb630SOliver Tappe /* 2500bb630SOliver Tappe * Copyright 2011, Haiku, Inc. 3500bb630SOliver Tappe * Distributed under the terms of the MIT License. 4500bb630SOliver Tappe */ 57d7ed9bfSOliver Tappe #ifndef _PACKAGE__REPOSITORY_CACHE_H_ 67d7ed9bfSOliver Tappe #define _PACKAGE__REPOSITORY_CACHE_H_ 7500bb630SOliver Tappe 8500bb630SOliver Tappe 935edda8fSOliver Tappe #include <Entry.h> 1035edda8fSOliver Tappe #include <String.h> 11500bb630SOliver Tappe 12*db9a50a2SIngo Weinhold #include <package/PackageInfoSet.h> 130d68f6afSOliver Tappe #include <package/RepositoryInfo.h> 14500bb630SOliver Tappe 15500bb630SOliver Tappe 167d7ed9bfSOliver Tappe namespace BPackageKit { 1735edda8fSOliver Tappe 1835edda8fSOliver Tappe 197d7ed9bfSOliver Tappe class BRepositoryCache { 20500bb630SOliver Tappe public: 21*db9a50a2SIngo Weinhold typedef BPackageInfoSet::Iterator Iterator; 2210e1bc52SIngo Weinhold 2310e1bc52SIngo Weinhold public: 247d7ed9bfSOliver Tappe BRepositoryCache(); 257d7ed9bfSOliver Tappe virtual ~BRepositoryCache(); 26500bb630SOliver Tappe 2735edda8fSOliver Tappe status_t SetTo(const BEntry& entry); 2835edda8fSOliver Tappe 290d68f6afSOliver Tappe const BRepositoryInfo& Info() const; 3035edda8fSOliver Tappe const BEntry& Entry() const; 3135edda8fSOliver Tappe bool IsUserSpecific() const; 3235edda8fSOliver Tappe 3335edda8fSOliver Tappe void SetIsUserSpecific(bool isUserSpecific); 3435edda8fSOliver Tappe 3510e1bc52SIngo Weinhold uint32 CountPackages() const; 3610e1bc52SIngo Weinhold Iterator GetIterator() const; 37c9acc4f8SOliver Tappe 38c9acc4f8SOliver Tappe private: 3910e1bc52SIngo Weinhold struct RepositoryContentHandler; 4010e1bc52SIngo Weinhold 4135edda8fSOliver Tappe private: 4235edda8fSOliver Tappe BEntry fEntry; 430d68f6afSOliver Tappe BRepositoryInfo fInfo; 4435edda8fSOliver Tappe bool fIsUserSpecific; 45c9acc4f8SOliver Tappe 46*db9a50a2SIngo Weinhold BPackageInfoSet fPackages; 4710e1bc52SIngo Weinhold }; 4810e1bc52SIngo Weinhold 4910e1bc52SIngo Weinhold 507d7ed9bfSOliver Tappe } // namespace BPackageKit 5135edda8fSOliver Tappe 5235edda8fSOliver Tappe 537d7ed9bfSOliver Tappe #endif // _PACKAGE__REPOSITORY_CACHE_H_ 54