haiku/headers/os/package/solver/SolverPackageSpecifierList.h
Ingo Weinhold 01758ed332 Rework SolverPackageSpecifier
* It no longer consists of a BPackageResolvableExpression and a
  repository. Instead it can now either refer to a package directly or
  consist of a search string.
* SolverPackageSpecifierList: Add AppendSpecifier() convenience
  versions.
* Adjust LibsolvSolver and pkgman accordingly.
2013-04-12 00:21:49 +02:00

51 lines
1.1 KiB
C++

/*
* Copyright 2013, Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _PACKAGE__SOLVER_PACKAGE_SPECIFIER_LIST_H_
#define _PACKAGE__SOLVER_PACKAGE_SPECIFIER_LIST_H_
#include <String.h>
namespace BPackageKit {
class BSolverPackage;
class BSolverPackageSpecifier;
class BSolverPackageSpecifierList {
public:
BSolverPackageSpecifierList();
BSolverPackageSpecifierList(
const BSolverPackageSpecifierList& other);
~BSolverPackageSpecifierList();
bool IsEmpty() const;
int32 CountSpecifiers() const;
const BSolverPackageSpecifier* SpecifierAt(int32 index) const;
bool AppendSpecifier(
const BSolverPackageSpecifier& specifier);
bool AppendSpecifier(BSolverPackage* package);
bool AppendSpecifier(const BString& selectString);
void MakeEmpty();
BSolverPackageSpecifierList& operator=(
const BSolverPackageSpecifierList& other);
private:
class Vector;
private:
Vector* fSpecifiers;
};
} // namespace BPackageKit
#endif // _PACKAGE__SOLVER_PACKAGE_SPECIFIER_LIST_H_