Use libsolv includes and adjust documentation
[platform/upstream/libzypp.git] / zypp / sat / SolvAttr.cc
index 0b6c2b9..8a030e2 100644 (file)
@@ -11,7 +11,7 @@
 */
 extern "C"
 {
-#include <satsolver/knownid.h>
+#include <solv/knownid.h>
 }
 
 #include <iostream>
@@ -31,18 +31,28 @@ namespace sat
   const SolvAttr SolvAttr::noAttr;
 
 #warning STILL ATTRIBUTES HERE WHICH ARE NOT PROVIDED BY SOLV FILES
-// At least the ones that do nat have a satsolver/knownid.
+// At least the ones that do nat have a solv/knownid.
 
   const SolvAttr SolvAttr::name         ( SOLVABLE_NAME );
   const SolvAttr SolvAttr::edition      ( SOLVABLE_EVR );
   const SolvAttr SolvAttr::arch         ( SOLVABLE_ARCH );
+  const SolvAttr SolvAttr::vendor      ( SOLVABLE_VENDOR );
+
+  const SolvAttr SolvAttr::provides    ( SOLVABLE_PROVIDES );
+  const SolvAttr SolvAttr::obsoletes   ( SOLVABLE_OBSOLETES );
+  const SolvAttr SolvAttr::conflicts   ( SOLVABLE_CONFLICTS );
+  const SolvAttr SolvAttr::requires    ( SOLVABLE_REQUIRES );
+  const SolvAttr SolvAttr::recommends  ( SOLVABLE_RECOMMENDS );
+  const SolvAttr SolvAttr::suggests    ( SOLVABLE_SUGGESTS );
+  const SolvAttr SolvAttr::supplements ( SOLVABLE_SUPPLEMENTS );
+  const SolvAttr SolvAttr::enhances    ( SOLVABLE_ENHANCES );
 
   const SolvAttr SolvAttr::summary      ( SOLVABLE_SUMMARY );       // translated
   const SolvAttr SolvAttr::description  ( SOLVABLE_DESCRIPTION );   // translated
   const SolvAttr SolvAttr::insnotify    ( SOLVABLE_MESSAGEINS );    // translated
   const SolvAttr SolvAttr::delnotify    ( SOLVABLE_MESSAGEDEL );    // translated
   const SolvAttr SolvAttr::eula                ( SOLVABLE_EULA );          // translated
-  const SolvAttr SolvAttr::cpeid        ( SOLVABLE_CPE_ID );
+  const SolvAttr SolvAttr::cpeid        ( SOLVABLE_CPEID );
   const SolvAttr SolvAttr::installtime  ( SOLVABLE_INSTALLTIME );
   const SolvAttr SolvAttr::buildtime    ( SOLVABLE_BUILDTIME );
   const SolvAttr SolvAttr::installsize  ( SOLVABLE_INSTALLSIZE );
@@ -63,7 +73,6 @@ namespace sat
   const SolvAttr SolvAttr::keywords     ( SOLVABLE_KEYWORDS );
   const SolvAttr SolvAttr::sourcesize   ( "sourcesize" );
   const SolvAttr SolvAttr::authors      ( SOLVABLE_AUTHORS );
-  const SolvAttr SolvAttr::filenames    ( "filenames" );
   const SolvAttr SolvAttr::filelist     ( SOLVABLE_FILELIST );
   const SolvAttr SolvAttr::sourcearch   ( SOLVABLE_SOURCEARCH );
   const SolvAttr SolvAttr::sourcename   ( SOLVABLE_SOURCENAME );
@@ -107,7 +116,6 @@ namespace sat
   const SolvAttr SolvAttr::productDistversion    ( PRODUCT_DISTVERSION );
   const SolvAttr SolvAttr::productType           ( PRODUCT_TYPE );
   const SolvAttr SolvAttr::productFlags          ( PRODUCT_FLAGS );
-  const SolvAttr SolvAttr::productUpdaterepoKey  ( PRODUCT_UPDATEREPOKEY );
   const SolvAttr SolvAttr::productRegisterTarget ( PRODUCT_REGISTER_TARGET );
   const SolvAttr SolvAttr::productRegisterRelease( PRODUCT_REGISTER_RELEASE );
   const SolvAttr SolvAttr::productUrl            ( PRODUCT_URL );
@@ -124,6 +132,36 @@ namespace sat
   const SolvAttr SolvAttr::repositoryProductCpeid( REPOSITORY_PRODUCT_CPEID );
   const SolvAttr SolvAttr::repositoryKeywords    ( REPOSITORY_KEYWORDS );
 
+  const SolvAttr SolvAttr::repositoryAddedFileProvides( REPOSITORY_ADDEDFILEPROVIDES );
+  const SolvAttr SolvAttr::repositoryRpmDbCookie      ( REPOSITORY_RPMDBCOOKIE );
+  const SolvAttr SolvAttr::repositoryDeltaInfo        ( REPOSITORY_DELTAINFO );
+
+  const SolvAttr SolvAttr::repositoryToolVersion       ( REPOSITORY_TOOLVERSION );
+
+  /////////////////////////////////////////////////////////////////
+
+  SolvAttr SolvAttr::parent() const
+  {
+    switch( id() )
+    {
+      case UPDATE_COLLECTION_NAME:
+      case UPDATE_COLLECTION_EVR:
+      case UPDATE_COLLECTION_ARCH:
+      case UPDATE_COLLECTION_FILENAME:
+      case UPDATE_COLLECTION_FLAGS:
+        return updateCollection;
+        break;
+
+      case UPDATE_REFERENCE_TYPE:
+      case UPDATE_REFERENCE_HREF:
+      case UPDATE_REFERENCE_ID:
+      case UPDATE_REFERENCE_TITLE:
+        return updateReference;
+        break;
+    }
+    return noAttr;
+  }
+
 } // namespace sat
   /////////////////////////////////////////////////////////////////
 } // namespace zypp