#define ZYPP_PACKAGE_H
#include "zypp/ResObject.h"
-#include "zypp/detail/PackageImplIf.h"
+#include "zypp/PackageKeyword.h"
+#include "zypp/Changelog.h"
+#include "zypp/VendorSupportOptions.h"
///////////////////////////////////////////////////////////////////
namespace zypp
class Package : public ResObject
{
public:
- typedef detail::PackageImplIf Impl;
typedef Package Self;
typedef ResTraits<Self> TraitsType;
typedef TraitsType::PtrType Ptr;
typedef TraitsType::constPtrType constPtr;
public:
- typedef std::set<PackageKeyword> Keywords;
+ typedef sat::ArrayAttr<PackageKeyword,IdString> Keywords;
public:
+ /**
+ * Returns the level of supportability the vendor
+ * gives to this package.
+ *
+ * This is one value from \ref VendorSupportOption
+ */
+ VendorSupportOption vendorSupport() const;
+
+ /**
+ * True if the vendor support for this package
+ * is unknown or explictly unsupported.
+ */
+ bool maybeUnsupported() const;
+
/** Get the package change log */
Changelog changelog() const;
/** */
/** */
std::string distribution() const;
/** */
- Label license() const;
+ std::string license() const;
/** */
std::string packager() const;
/** */
- PackageGroup group() const;
+ std::string group() const;
/** */
Keywords keywords() const;
/** Don't ship it as class Url, because it might be
* in fact anything but a legal Url. */
std::string url() const;
- /** */
- std::string os() const;
- /** */
- Text prein() const;
- /** */
- Text postin() const;
- /** */
- Text preun() const;
- /** */
- Text postun() const;
- /** */
+ /** Size of corresponding the source package. */
ByteCount sourcesize() const;
/** */
std::list<std::string> authors() const;
std::list<std::string> filenames() const;
/** Name of the source rpm this package was built from.
- * Empty if unknown.
*/
std::string sourcePkgName() const;
/** Edition of the source rpm this package was built from.
- * Empty if unknown.
*/
Edition sourcePkgEdition() const;
/**
- * Checksum the source says this package should have
- * \deprecated Use location().checksum()
+ * Checksum the source says this package should have.
+ * \see \ref location
*/
- ZYPP_DEPRECATED CheckSum checksum() const
- { return location().checksum(); }
+ CheckSum checksum() const;
- /**
- * \short Location of the resolvable in the repository
+ /** Location of the resolvable in the repository.
+ * \ref OnMediaLocation conatins all information required to
+ * retrieve the packge (url, checksum, etc.).
*/
OnMediaLocation location() const;
protected:
- Package( const NVRAD & nvrad_r );
+ friend Ptr make<Self>( const sat::Solvable & solvable_r );
+ /** Ctor */
+ Package( const sat::Solvable & solvable_r );
/** Dtor */
virtual ~Package();
-
- private:
- /** Access implementation */
- virtual Impl & pimpl() = 0;
- /** Access implementation */
- virtual const Impl & pimpl() const = 0;
};
+
///////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////