first draft of the provided callbacks
authorStanislav Visnovsky <visnov@suse.cz>
Wed, 1 Feb 2006 15:42:12 +0000 (15:42 +0000)
committerStanislav Visnovsky <visnov@suse.cz>
Wed, 1 Feb 2006 15:42:12 +0000 (15:42 +0000)
zypp/ZYppCallbacks.h [new file with mode: 0644]

diff --git a/zypp/ZYppCallbacks.h b/zypp/ZYppCallbacks.h
new file mode 100644 (file)
index 0000000..e790ecc
--- /dev/null
@@ -0,0 +1,152 @@
+/*---------------------------------------------------------------------\
+|                          ____ _   __ __ ___                          |
+|                         |__  / \ / / . \ . \                         |
+|                           / / \ V /|  _/  _/                         |
+|                          / /__ | | | | | |                           |
+|                         /_____||_| |_| |_|                           |
+|                                                                      |
+\---------------------------------------------------------------------*/
+/** \file zypp/Source.h
+ *
+*/
+#ifndef ZYPP_ZYPPCALLBACKS_H
+#define ZYPP_ZYPPCALLBACKS_H
+
+#include <iosfwd>
+#include <string>
+
+#include "zypp/Callback.h"
+
+///////////////////////////////////////////////////////////////////
+namespace zypp
+{ /////////////////////////////////////////////////////////////////
+  namespace source
+  {
+    // progress for downloading a resolvable
+    struct DownloadResolvableReport : public callback::ReportBase
+    {
+      virtual void start() {}
+      virtual void progress(int value) {]
+      virtual void finish() {}
+    };
+    
+    // progress for downloading a specific file
+    struct DownloadFileReport : public callback::ReportBase
+    {
+      virtual void start() {}
+      virtual void progress(int value) {]
+      virtual void finish() {}
+    };
+
+    // progress for refreshing a source data
+    struct RefreshSourceReport : public callback::ReportBase
+    {
+      virtual void start() {}
+      virtual void progress(int value) {]
+      virtual void finish() {}
+    };
+
+    // progress for downloading a resolvable
+    struct CreateSourceReport : public callback::ReportBase
+    {
+      virtual void start() {}
+      virtual void progress(int value) {]
+      virtual void finish() {}
+    };
+    
+    // progress for downloading a resolvable
+    struct RefreshSourceReport : public callback::ReportBase
+    {
+      virtual void start() {}
+      virtual void progress(int value) {]
+      virtual void finish() {}
+    };
+    
+    /////////////////////////////////////////////////////////////////
+  } // namespace source
+  ///////////////////////////////////////////////////////////////////
+  
+  ///////////////////////////////////////////////////////////////////
+  namespace media 
+  { 
+
+    // media change request callback
+    struct MediaChangeReport : public callback::ReportBase
+    {
+      enum Action { 
+        ABORT,  // abort and return error
+        RETRY  // retry
+      }; 
+
+      virtual Action userAction() { return ABORT; }
+    };
+
+    /////////////////////////////////////////////////////////////////
+  } // namespace media
+  ///////////////////////////////////////////////////////////////////
+
+  ///////////////////////////////////////////////////////////////////
+  namespace target 
+  { ///////////////////////////////////////////////////////////////////
+    namespace rpm 
+    { 
+
+      // progress for installing a resolvable
+      struct InstallResolvableReport : public callback::ReportBase
+      {
+        enum Action { 
+          ABORT,  // abort and return error
+          RETRY,  // retry
+         IGNORE  // ignore
+        }; 
+
+        virtual void start() {}
+        virtual void progress(int value) {]
+       virtual Action error () { return ABORT; }
+        virtual void finish() {}
+      };
+    
+      // progress for removing a resolvable
+      struct RemoveResolvableReport : public callback::ReportBase
+      {
+        enum Action { 
+          ABORT,  // abort and return error
+          RETRY,  // retry
+         IGNORE  // ignore
+        }; 
+
+        virtual void start() {}
+        virtual void progress(int value) {]
+       virtual Action error () { return ABORT; }
+        virtual void finish() {}
+      };
+    
+      // progress for rebuilding the database
+      struct RebuildDBReport : public callback::ReportBase
+      {
+        virtual void start() {}
+        virtual void progress(int value) {]
+        virtual void finish() {}
+      };
+
+      // progress for converting the database
+      struct ConvertDBReport : public callback::ReportBase
+      {
+        virtual void start() {}
+        virtual void progress(int value) {]
+        virtual void finish() {}
+      };
+
+      /////////////////////////////////////////////////////////////////
+    } // namespace rpm
+    ///////////////////////////////////////////////////////////////////
+
+    /////////////////////////////////////////////////////////////////
+  } // namespace target
+  ///////////////////////////////////////////////////////////////////
+
+  /////////////////////////////////////////////////////////////////
+} // namespace zypp
+///////////////////////////////////////////////////////////////////
+
+#endif // ZYPP_ZYPPCALLBACKS_H