X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/b2e465d6d32d2dc884f58b94acb7e35f671a87fe..b2fd852459a6b9234255644730f48f071ccad64d:/apt-pkg/pkgsystem.cc?ds=sidebyside diff --git a/apt-pkg/pkgsystem.cc b/apt-pkg/pkgsystem.cc index 530f69c91..530150221 100644 --- a/apt-pkg/pkgsystem.cc +++ b/apt-pkg/pkgsystem.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: pkgsystem.cc,v 1.2 2001/02/20 07:03:17 jgg Exp $ +// $Id: pkgsystem.cc,v 1.3 2004/02/27 00:43:16 mdz Exp $ /* ###################################################################### System - Abstraction for running on different systems. @@ -10,12 +10,14 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#ifdef __GNUG__ -#pragma implementation "apt-pkg/pkgsystem.h" -#endif +#include +#include #include -#include +#include + +#include +#include /*}}}*/ pkgSystem *_system = 0; @@ -26,16 +28,18 @@ unsigned long pkgSystem::GlobalListLen = 0; // System::pkgSystem - Constructor /*{{{*/ // --------------------------------------------------------------------- /* Add it to the global list.. */ -pkgSystem::pkgSystem() +pkgSystem::pkgSystem(char const * const label, pkgVersioningSystem * const vs) : + Label(label), VS(vs), d(NULL) { + assert(GlobalListLen < sizeof(SysList)/sizeof(*SysList)); SysList[GlobalListLen] = this; - GlobalListLen++; + ++GlobalListLen; } /*}}}*/ // System::GetSystem - Get the named system /*{{{*/ // --------------------------------------------------------------------- /* */ -pkgSystem *pkgSystem::GetSystem(const char *Label) +APT_PURE pkgSystem *pkgSystem::GetSystem(const char *Label) { for (unsigned I = 0; I != GlobalListLen; I++) if (strcmp(SysList[I]->Label,Label) == 0) @@ -43,3 +47,21 @@ pkgSystem *pkgSystem::GetSystem(const char *Label) return 0; } /*}}}*/ +bool pkgSystem::MultiArchSupported() const /*{{{*/ +{ + debSystem const * const deb = dynamic_cast(this); + if (deb != NULL) + return deb->SupportsMultiArch(); + return true; +} + /*}}}*/ +std::vector pkgSystem::ArchitecturesSupported() const /*{{{*/ +{ + debSystem const * const deb = dynamic_cast(this); + if (deb != NULL) + return deb->SupportedArchitectures(); + return {}; +} + /*}}}*/ + +pkgSystem::~pkgSystem() {}