1/* 2 * Copyright 2013, Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef _PACKAGE__SOLVER_PACKAGE_SPECIFIER_LIST_H_ 6#define _PACKAGE__SOLVER_PACKAGE_SPECIFIER_LIST_H_ 7 8 9#include <String.h> 10 11 12namespace BPackageKit { 13 14 15class BSolverPackage; 16class BSolverPackageSpecifier; 17 18 19class BSolverPackageSpecifierList { 20public: 21 BSolverPackageSpecifierList(); 22 BSolverPackageSpecifierList( 23 const BSolverPackageSpecifierList& other); 24 ~BSolverPackageSpecifierList(); 25 26 bool IsEmpty() const; 27 int32 CountSpecifiers() const; 28 const BSolverPackageSpecifier* SpecifierAt(int32 index) const; 29 30 bool AppendSpecifier( 31 const BSolverPackageSpecifier& specifier); 32 bool AppendSpecifier(BSolverPackage* package); 33 bool AppendSpecifier(const BString& selectString); 34 bool AppendSpecifiers( 35 const char* const* selectStrings, 36 int32 count); 37 void MakeEmpty(); 38 39 BSolverPackageSpecifierList& operator=( 40 const BSolverPackageSpecifierList& other); 41 42private: 43 class Vector; 44 45private: 46 Vector* fSpecifiers; 47}; 48 49 50} // namespace BPackageKit 51 52 53#endif // _PACKAGE__SOLVER_PACKAGE_SPECIFIER_LIST_H_ 54