This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH setup 07/14] Store package stability in class packageversion


---
 IniDBBuilderPackage.cc | 12 +++++++-----
 IniDBBuilderPackage.h  |  3 +--
 cygpackage.cc          |  7 -------
 cygpackage.h           | 10 +++++++++-
 package_version.cc     | 14 ++++++++++++++
 package_version.h      | 14 +++++---------
 6 files changed, 36 insertions(+), 24 deletions(-)

diff --git a/IniDBBuilderPackage.cc b/IniDBBuilderPackage.cc
index 0e1be78..fb200a8 100644
--- a/IniDBBuilderPackage.cc
+++ b/IniDBBuilderPackage.cc
@@ -34,7 +34,7 @@
 using namespace std;
 
 IniDBBuilderPackage::IniDBBuilderPackage (IniParseFeedback const &aFeedback) :
-cp (0), cbpv (), cspv (), currentSpec (0), trust (0), _feedback (aFeedback){}
+cp (0), cbpv (), cspv (), currentSpec (0), _feedback (aFeedback){}
 
 IniDBBuilderPackage::~IniDBBuilderPackage()
 {
@@ -90,10 +90,10 @@ IniDBBuilderPackage::buildPackage (const std::string& name)
       db.packages.insert (packagedb::packagecollection::value_type(cp->name,cp));
     }
   cbpv = cygpackage::createInstance (name, package_binary);
+  cbpv.SetStability(TRUST_CURR);
   cspv = packageversion ();
   currentSpec = NULL;
   currentNodeList = PackageDepends();
-  trust = TRUST_CURR;
 #if DEBUG
   Log (LOG_BABBLE) << "Created package " << name << endLog;
 #endif
@@ -211,12 +211,12 @@ IniDBBuilderPackage::buildPackageSource (const std::string& path,
 }
 
 void
-IniDBBuilderPackage::buildPackageTrust (int newtrust)
+IniDBBuilderPackage::buildPackageTrust (package_stability_t newtrust)
 {
-  trust = newtrust;
   if (newtrust != TRUST_UNKNOWN)
     {
       cbpv = cygpackage::createInstance (cp->name, package_binary);
+      cbpv.SetStability(newtrust);
       cspv = packageversion ();
     }
 }
@@ -383,7 +383,7 @@ IniDBBuilderPackage::add_correct_version()
     databases, we should pick the one with the highest version number.
   */
   packageversion *v = NULL;
-  switch (trust)
+  switch (cbpv.Stability())
   {
     case TRUST_CURR:
       v = &(cp->curr);
@@ -391,6 +391,8 @@ IniDBBuilderPackage::add_correct_version()
     case TRUST_TEST:
       v = &(cp->exp);
     break;
+    default:
+    break;
   }
 
   if (v)
diff --git a/IniDBBuilderPackage.h b/IniDBBuilderPackage.h
index dee65d4..8825add 100644
--- a/IniDBBuilderPackage.h
+++ b/IniDBBuilderPackage.h
@@ -48,7 +48,7 @@ public:
   void buildPackageSource (const std::string& path, const std::string& size)
   { buildPackageSource(path, size, NULL, hashType::none); }
 
-  void buildPackageTrust (int);
+  void buildPackageTrust (package_stability_t);
   void buildPackageCategory (const std::string& );
 
   void buildBeginDepends ();
@@ -80,7 +80,6 @@ private:
   packageversion cspv;
   PackageSpecification *currentSpec;
   PackageDepends currentNodeList;
-  int trust;
   IniParseFeedback const &_feedback;
 };
 
diff --git a/cygpackage.cc b/cygpackage.cc
index 32b9403..2724249 100644
--- a/cygpackage.cc
+++ b/cygpackage.cc
@@ -134,10 +134,3 @@ cygpackage::set_ldesc (const std::string& desc)
 {
   ldesc = desc;
 }
-
-#if 0
-package_stability_t cygpackage::Stability ()
-{
-  return stability;
-}
-#endif
diff --git a/cygpackage.h b/cygpackage.h
index c6d0657..720921d 100644
--- a/cygpackage.h
+++ b/cygpackage.h
@@ -31,6 +31,14 @@ public:
   virtual const std::string Vendor_version ();
   virtual const std::string Package_version ();
   virtual const std::string Canonical_version ();
+  virtual package_stability_t Stability ()
+  {
+    return stability;
+  }
+  virtual void SetStability (package_stability_t newstability)
+  {
+    stability = newstability;
+  }
   virtual package_type_t Type ()
   {
     return type;
@@ -67,7 +75,7 @@ private:
   std::string canonical;
   std::string sdesc, ldesc;
 
-//  package_stability_t stability;
+  package_stability_t stability;
   package_type_t type;
 };
 
diff --git a/package_version.cc b/package_version.cc
index 6e8f692..2d4416e 100644
--- a/package_version.cc
+++ b/package_version.cc
@@ -43,6 +43,8 @@ public:
   const std::string Package_version() {return std::string();}
   const std::string Canonical_version() {return std::string();}
   void setCanonicalVersion (const std::string& ) {}
+  package_stability_t Stability (){return TRUST_UNKNOWN;}
+  void SetStability (package_stability_t) {}
   package_type_t Type () {return package_binary;}
   const std::string SDesc () {return std::string();}
   void set_sdesc (const std::string& ) {}
@@ -158,6 +160,18 @@ packageversion::setCanonicalVersion (const std::string& ver)
   data->setCanonicalVersion (ver);
 }
 
+package_stability_t
+packageversion::Stability () const
+{
+  return data->Stability ();
+}
+
+void
+packageversion::SetStability (package_stability_t stability)
+{
+  data->SetStability (stability);
+}
+
 package_type_t
 packageversion::Type () const
 {
diff --git a/package_version.h b/package_version.h
index 4c04d77..21d053e 100644
--- a/package_version.h
+++ b/package_version.h
@@ -45,14 +45,7 @@ class CategoryList;
 #include "PackageTrust.h"
 #include "package_depends.h"
 
-typedef enum
-{
-  package_invalid,
-  package_old,
-  package_current,
-  package_experimental
-}
-package_stability_t;
+typedef trusts package_stability_t;
 
 typedef enum
 {
@@ -97,6 +90,8 @@ public:
   const std::string Package_version () const;
   const std::string Canonical_version () const;
   void setCanonicalVersion (const std::string& );
+  package_stability_t Stability () const;
+  void SetStability (package_stability_t);
   package_type_t Type () const;
   const std::string SDesc () const;
   void set_sdesc (const std::string& );
@@ -138,7 +133,8 @@ public:
   virtual const std::string Package_version () = 0;
   virtual const std::string Canonical_version () = 0;
   virtual void setCanonicalVersion (const std::string& ) = 0;
-//  virtual package_stability_t Stability () = 0;
+  virtual package_stability_t Stability () = 0;
+  virtual void SetStability (package_stability_t) = 0;
   virtual package_type_t Type () = 0;
   virtual const std::string SDesc () = 0;
   virtual void set_sdesc (const std::string& ) = 0;
-- 
2.12.3


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]