More attributes
authorDuncan Mac-Vicar P <dmacvicar@suse.de>
Tue, 12 Feb 2008 10:51:38 +0000 (10:51 +0000)
committerDuncan Mac-Vicar P <dmacvicar@suse.de>
Tue, 12 Feb 2008 10:51:38 +0000 (10:51 +0000)
zypp/Pattern.cc
zypp/ResObject.h
zypp/sat/SolvAttr.cc
zypp/sat/SolvAttr.h
zypp/sat/Solvable.cc
zypp/sat/Solvable.h

index a9f46c5..e6d3dd2 100644 (file)
@@ -43,19 +43,19 @@ namespace zypp
   ///////////////////////////////////////////////////////////////////
   /** */
   bool Pattern::isDefault() const
-  { return false; }
+  { return lookupBoolAttribute( sat::SolvAttr::isdefault ); }
   /** */
   bool Pattern::userVisible() const
-  { return true; }
+  { return lookupBoolAttribute( sat::SolvAttr::isvisible ); }
   /** */
   std::string Pattern::category() const
-  { return std::string(); }
+  { return lookupStrAttribute( sat::SolvAttr::category ); }
   /** */
   Pathname Pattern::icon() const
-  { return Pathname(); }
+  { return lookupStrAttribute( sat::SolvAttr::icon ); }
   /** */
   Pathname Pattern::script() const
-  { return Pathname(); }
+  { return lookupStrAttribute( sat::SolvAttr::script ); }
 
   Label Pattern::order() const
   { return Label(); }
index 5930da8..42ce5c0 100644 (file)
@@ -47,6 +47,7 @@ namespace zypp
     typedef TraitsType::constPtrType constPtr;
 
   public:
+    
     /**
      * \short Short text describing the resolvable.
      * This attribute is usually displayed in columns.
index ef25324..0b2a646 100644 (file)
@@ -37,12 +37,29 @@ namespace sat
   const SolvAttr SolvAttr::mediafile   ( "mediafile" );
   const SolvAttr SolvAttr::mediadir    ( "mediadir" );
   const SolvAttr SolvAttr::eula                ( "eula" );
-  
+  const SolvAttr SolvAttr::changelog    ( "changelog" );
+  const SolvAttr SolvAttr::buildhost    ( "buildhost" );
+  const SolvAttr SolvAttr::distribution ( "distribution" );
+  const SolvAttr SolvAttr::packager     ( "packager" );
+  const SolvAttr SolvAttr::group        ( "group" );
+  const SolvAttr SolvAttr::keywords     ( "keywords" );
+  const SolvAttr SolvAttr::os           ( "os" );
+  const SolvAttr SolvAttr::prein        ( "prein" );
+  const SolvAttr SolvAttr::postin       ( "postin" );
+  const SolvAttr SolvAttr::preun        ( "preun" );
+  const SolvAttr SolvAttr::postun       ( "postun" );
+  const SolvAttr SolvAttr::sourcesize   ( "sourcesize" );
+  const SolvAttr SolvAttr::authors      ( "authors" );
+  const SolvAttr SolvAttr::filenames    ( "filenames" );
+  const SolvAttr SolvAttr::srcpkgname   ( "srcpkgname" );
+  const SolvAttr SolvAttr::srcpkgedition( "srcpkgedition" );
+
   //pattern
-  const SolvAttr SolvAttr::isvisible      ( "isvisible" );
+  const SolvAttr SolvAttr::isvisible    ( "isvisible" );
   const SolvAttr SolvAttr::icon         ( "icon" );
-  const SolvAttr SolvAttr::isdefault      ( "isdefault" );
-  const SolvAttr SolvAttr::category     ( "category" );
+  const SolvAttr SolvAttr::isdefault    ( "isdefault" );
+  const SolvAttr SolvAttr::category     ( "category" ); // FIXME translate
+  const SolvAttr SolvAttr::script       ( "script" );
  
   
 } // namespace sat
index 1fbdd64..13e8ffb 100644 (file)
@@ -55,12 +55,29 @@ namespace sat
       static const SolvAttr medianr;
       static const SolvAttr mediafile;
       static const SolvAttr eula;
-      
+      static const SolvAttr changelog;
+      static const SolvAttr buildhost;
+      static const SolvAttr distribution;
+      static const SolvAttr packager;
+      static const SolvAttr group;
+      static const SolvAttr keywords;
+      static const SolvAttr os;
+      static const SolvAttr prein;
+      static const SolvAttr postin;
+      static const SolvAttr preun;
+      static const SolvAttr postun;
+      static const SolvAttr sourcesize;
+      static const SolvAttr authors;
+      static const SolvAttr filenames;
+      static const SolvAttr srcpkgname;
+      static const SolvAttr srcpkgedition;
+
       // patern
       static const SolvAttr isvisible;
       static const SolvAttr icon;
       static const SolvAttr isdefault;
       static const SolvAttr category;
+      static const SolvAttr script;
       
       //@}
 
index eccb91e..a0d2b51 100644 (file)
@@ -81,6 +81,11 @@ namespace zypp
     {
       return repo_lookup_num(this->get(), attr.idStr().id());
     }
+    
+    bool Solvable::lookupBoolAttribute( const SolvAttr &attr ) const
+    {
+      return repo_lookup_num(this->get(), attr.idStr().id()) > 0;
+    }
 
     struct LocCallback
     {
index e552a8a..42056fc 100644 (file)
@@ -97,7 +97,12 @@ namespace zypp
         * with a subdirectory.
         */
        std::string lookupLocation(unsigned &medianr) const;
-
+        
+        /**
+         *
+         */
+        bool lookupBoolAttribute( const SolvAttr &attr ) const;
+        
       public:
         /** The identifier.
          * This is the solvables \ref name, \b except for packages and