changes
authorMichael Andres <ma@suse.de>
Tue, 11 Sep 2007 13:01:52 +0000 (13:01 +0000)
committerMichael Andres <ma@suse.de>
Tue, 11 Sep 2007 13:01:52 +0000 (13:01 +0000)
devel/devel.ma/Parse.cc
package/libzypp.changes
zypp/DiskUsageCounter.cc
zypp/target/rpm/RpmPackageImpl.cc
zypp/target/rpm/RpmPackageImpl.h

index c9dcf1a..cf943db 100644 (file)
 #include "zypp/RepoInfo.h"
 
 #include "zypp/ui/PatchContents.h"
+#include "zypp/ResPoolProxy.h"
 
 using namespace std;
 using namespace zypp;
 using namespace zypp::functor;
-
+using namespace zypp::ui;
 using zypp::parser::TagParser;
 
 ///////////////////////////////////////////////////////////////////
@@ -48,14 +49,44 @@ static const Pathname sysRoot( "/Local/ROOT" );
 
 ///////////////////////////////////////////////////////////////////
 
+template<class _Res>
+Selectable::Ptr getSel( const std::string & name_r )
+{
+  ResPoolProxy uipool( getZYpp()->poolProxy() );
+  for_(it, uipool.byKindBegin<_Res>(), uipool.byKindEnd<_Res>() )
+  {
+    if ( (*it)->name() == name_r )
+      return (*it);
+  }
+  return 0;
+}
+
+void dbgDu( Selectable::Ptr sel )
+{
+  if ( sel->installedPoolItem() )
+  {
+    DBG << "i: " << sel->installedPoolItem() << endl
+        << sel->installedPoolItem()->diskusage() << endl;
+  }
+  if ( sel->candidatePoolItem() )
+  {
+    DBG << "c: " << sel->candidatePoolItem() << endl
+        << sel->candidatePoolItem()->diskusage() << endl;
+  }
+  INT << sel << endl
+      << getZYpp()->diskUsage() << endl;
+}
+
+///////////////////////////////////////////////////////////////////
+
 struct Xprint
 {
   bool operator()( const PoolItem & obj_r )
   {
-    //handle( asKind<Package>( obj_r ) );
-    //handle( asKind<Patch>( obj_r ) );
-    handle( asKind<Pattern>( obj_r ) );
-    handle( asKind<Product>( obj_r ) );
+     handle( asKind<Package>( obj_r ) );
+//     handle( asKind<Patch>( obj_r ) );
+//     handle( asKind<Pattern>( obj_r ) );
+//     handle( asKind<Product>( obj_r ) );
     return true;
   }
 
@@ -64,6 +95,7 @@ struct Xprint
     if ( !p )
       return;
 
+    WAR << p->size() << endl;
     MIL << p->diskusage() << endl;
   }
 
@@ -425,6 +457,25 @@ int main( int argc, char * argv[] )
 
   std::for_each( pool.begin(), pool.end(), Xprint() );
 
+  DiskUsageCounter::MountPointSet fakePart;
+  fakePart.insert( DiskUsageCounter::MountPoint( "/", 1024, 10240, 5120, 0LL, false ) );
+  getZYpp()->setPartitions( fakePart );
+
+  USR << getZYpp()->getPartitions() << endl;
+  INT << getZYpp()->diskUsage() << endl;
+
+  Selectable::Ptr sel( getSel<Package>( "rpm" ) );
+  dbgDu( sel );
+
+  MIL << sel->set_status( ui::S_Del ) << endl;
+  dbgDu( sel );
+
+  MIL << sel->set_status( ui::S_Update ) << endl;
+  dbgDu( sel );
+
+  MIL << sel->set_status( ui::S_KeepInstalled ) << endl;
+  dbgDu( sel );
+
   ///////////////////////////////////////////////////////////////////
   INT << "===[END]============================================" << endl << endl;
   zypp::base::LogControl::instance().logNothing();
index da27b9d..d84cc26 100644 (file)
@@ -4,6 +4,7 @@ Tue Sep 11 14:54:44 CEST 2007 - ma@suse.de
 - Don't fail if a product is deleted multiple times (e.g. due to
   obsoletes and an explicit deleted request). (#308746)
 - version 3.22.7
+- revision 7184
 
 -------------------------------------------------------------------
 Tue Sep 11 13:52:47 CEST 2007 - jkupec@suse.cz
index ab8c200..5b54497 100644 (file)
@@ -305,7 +305,11 @@ namespace zypp
 
   std::ostream & operator<<( std::ostream & str, const DiskUsageCounter::MountPoint & obj )
   {
-    str << "dir:[" << obj.dir << "] [ bs: " << obj.block_size << " ts: " << obj.total_size << "]" << std::endl;
+    str << "dir:[" << obj.dir << "] [ bs: " << obj.block_size
+        << " ts: " << obj.total_size
+        << " us: " << obj.used_size
+        << " +-: " << obj.pkg_size
+        << "]" << std::endl;
     return str;
   }
 
index bb63c99..c50e7fe 100644 (file)
@@ -56,6 +56,7 @@ RPMPackageImpl::RPMPackageImpl(
   // we know we are reading english.
   _description.setText(data->tag_description(), Locale("en"));
   data->tag_du(_disk_usage);
+  SEC << _disk_usage << endl;
   _location.setDownloadSize(data->tag_archivesize());
 }
 
@@ -199,7 +200,7 @@ std::string RPMPackageImpl::type() const
 }
 
 /** */
-const DiskUsage & RPMPackageImpl::diskUsage() const
+const DiskUsage & RPMPackageImpl::diskusage() const
 {
   return _disk_usage;
 }
index 2e27754..cab485a 100644 (file)
@@ -85,7 +85,7 @@ public:
   /** */
   virtual std::string type() const;
   /** */
-  virtual const DiskUsage & diskUsage() const;
+  virtual const DiskUsage & diskusage() const;
   /** */
   virtual Repository repository() const;