- Added info() method to media verifier and more debug info
authorMarius Tomaschewski <mt@suse.de>
Thu, 6 Apr 2006 13:39:12 +0000 (13:39 +0000)
committerMarius Tomaschewski <mt@suse.de>
Thu, 6 Apr 2006 13:39:12 +0000 (13:39 +0000)
package/libzypp.changes
zypp/media/MediaManager.cc
zypp/media/MediaManager.h

index f0ec56a..3580be7 100644 (file)
@@ -1,4 +1,10 @@
 -------------------------------------------------------------------
+Thu Apr  6 15:33:11 CEST 2006 - mt@suse.de
+
+- Added info method to media verifier base and more debug info
+- rev 2967
+
+-------------------------------------------------------------------
 Wed Apr  5 19:27:46 CEST 2006 - kkaempf@suse.de
 
 - Dont deny the "/" attach point in MediaDIR, since this is used
index f3d11fd..f8200e1 100644 (file)
@@ -25,6 +25,7 @@
 #include <map>
 #include <list>
 #include <iostream>
+#include <typeinfo>
 
 
 //////////////////////////////////////////////////////////////////////
@@ -100,13 +101,15 @@ namespace zypp
 
             if( !desired)
             {
-              DBG << "checkDesired(" << id << "): not desired" << std::endl;
+              DBG << "checkDesired(" << id << "): not desired (report by "
+                  << verifier->info() << ")" << std::endl;
               ZYPP_THROW(MediaNotDesiredException(
                 handler->url()
               ));
             }
 
-            DBG << "checkDesired(" << id << "): desired (report)" << std::endl;
+            DBG << "checkDesired(" << id << "): desired (report by "
+                << verifier->info() << ")" << std::endl;
           } else {
             DBG << "checkDesired(" << id << "): desired (cached)" << std::endl;
           }
@@ -259,6 +262,22 @@ namespace zypp
 
 
     //////////////////////////////////////////////////////////////////
+    std::string
+    MediaVerifierBase::info() const
+    {
+      return std::string(typeid((*this)).name());
+    }
+
+
+    //////////////////////////////////////////////////////////////////
+    std::string
+    NoVerifier::info() const
+    {
+      return std::string("zypp::media::NoVerifier");
+    }
+
+
+    //////////////////////////////////////////////////////////////////
     class MediaManager_Impl
     {
     private:
@@ -497,6 +516,9 @@ namespace zypp
 
       ref.desired = false;
       MediaVerifierRef(verifier).swap(ref.verifier);
+
+      DBG << "MediaVerifier change: id=" << accessId << ", verifier="
+          << verifier->info() << std::endl;
     }
 
     // ---------------------------------------------------------------
@@ -510,6 +532,9 @@ namespace zypp
       MediaVerifierRef verifier( new NoVerifier());
       ref.desired  = false;
       ref.verifier.swap(verifier);
+
+      DBG << "MediaVerifier change: id=" << accessId << ", verifier="
+          << verifier->info() << std::endl;
     }
 
     // ---------------------------------------------------------------
@@ -628,6 +653,10 @@ namespace zypp
           ref.desired = false;
         }
       }
+      DBG << "isDesiredMedia(" << accessId << "): "
+          << (ref.desired ? "" : "not ")
+          << "desired (report by "
+          << ref.verifier->info() << ")" << std::endl;
       return ref.desired;
     }
 
@@ -655,6 +684,10 @@ namespace zypp
           desired = false;
         }
       }
+      DBG << "isDesiredMedia(" << accessId << "): "
+          << (desired ? "" : "not ")
+          << "desired (report by "
+          << v->info() << ")" << std::endl;
       return desired;
     }
 
index ff0082b..913cb0a 100644 (file)
@@ -62,6 +62,13 @@ namespace zypp
       ~MediaVerifierBase()
       {}
 
+      /**
+       * Returns a string with some info about the verifier.
+       * By default, the type info name is returned.
+       */
+      virtual std::string
+      info() const;
+
       /*
       ** Check if the specified attached media contains
       ** the desired media (e.g. SLES10 CD1).
@@ -88,6 +95,12 @@ namespace zypp
       ~NoVerifier()
       {}
 
+      /**
+       * Returns the "zypp::media::NoVerifier" string.
+       */
+      virtual std::string
+      info() const;
+
       /*
       ** Don't check if the specified attached media contains
       ** the desired media number. Always return true.