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 12 namespace BPackageKit { 13 14 15 class BSolverPackage; 16 class BSolverPackageSpecifier; 17 18 19 class BSolverPackageSpecifierList { 20 public: 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 42 private: 43 class Vector; 44 45 private: 46 Vector* fSpecifiers; 47 }; 48 49 50 } // namespace BPackageKit 51 52 53 #endif // _PACKAGE__SOLVER_PACKAGE_SPECIFIER_LIST_H_ 54