/* * Copyright 2011-2018, Haiku, Inc. * Distributed under the terms of the MIT License. */ #ifndef _PACKAGE__REPOSITORY_CONFIG_H_ #define _PACKAGE__REPOSITORY_CONFIG_H_ #include #include namespace BPackageKit { class BRepositoryConfig { public: BRepositoryConfig(); BRepositoryConfig(const BString& name, const BString& url, uint8 priority); BRepositoryConfig(const BEntry& entry); virtual ~BRepositoryConfig(); status_t Store(const BEntry& entry) const; status_t SetTo(const BEntry& entry); status_t InitCheck() const; const BString& Name() const; const BString& BaseURL() const; const BString& Identifier() const; uint8 Priority() const; bool IsUserSpecific() const; const BEntry& Entry() const; BString PackagesURL() const; void SetName(const BString& name); void SetBaseURL(const BString& url); void SetIdentifier(const BString& url); void SetPriority(uint8 priority); void SetIsUserSpecific(bool isUserSpecific); public: static const uint8 kUnsetPriority = 0; private: status_t fInitStatus; BString fName; BString fBaseURL; // this URL is the URL that can be used to access the data of // the repository - it points to a single mirror. BString fIdentifier; // an identifier for the repository that is consistent across // mirrors. Usually a tag: or uuid: URI. uint8 fPriority; bool fIsUserSpecific; BEntry fEntry; }; } // namespace BPackageKit #endif // _PACKAGE__REPOSITORY_CONFIG_H_