ignore
[platform/upstream/libzypp.git] / zypp / ZYppCommitPolicy.h
1 /*---------------------------------------------------------------------\
2 |                          ____ _   __ __ ___                          |
3 |                         |__  / \ / / . \ . \                         |
4 |                           / / \ V /|  _/  _/                         |
5 |                          / /__ | | | | | |                           |
6 |                         /_____||_| |_| |_|                           |
7 |                                                                      |
8 \---------------------------------------------------------------------*/
9 /** \file       zypp/ZYppCommitPolicy.h
10  *
11 */
12 #ifndef ZYPP_ZYPPCOMMITPOLICY_H
13 #define ZYPP_ZYPPCOMMITPOLICY_H
14
15 #include <iosfwd>
16
17 ///////////////////////////////////////////////////////////////////
18 namespace zypp
19 { /////////////////////////////////////////////////////////////////
20
21   ///////////////////////////////////////////////////////////////////
22   //
23   //    CLASS NAME : ZYppCommitPolicy
24   //
25   /** */
26   class ZYppCommitPolicy
27   {
28   public:
29     ZYppCommitPolicy()
30     : _restrictToMedia( 0 )
31     , _dryRun( false )
32     , _rpmNoSignature( false )
33     {}
34
35   public:
36     unsigned restrictToMedia() const
37     { return _restrictToMedia; }
38
39     bool dryRun() const
40     { return _dryRun; }
41
42     bool rpmNoSignature() const
43     { return _rpmNoSignature; }
44
45   public:
46     /** Restrict commit to a certain media number
47      * \deprecated
48      */
49     ZYppCommitPolicy & restrictToMedia( unsigned mediaNr_r )
50     { _restrictToMedia = mediaNr_r; return *this; }
51
52     /** Process all media (default) */
53     ZYppCommitPolicy & allMedia()
54     { return restrictToMedia( 0 ); }
55
56     /** Set dry run (default: false) */
57     ZYppCommitPolicy & dryRun( bool yesNo_r = true )
58     { _dryRun = yesNo_r; return *this; }
59
60     /** Use rpm option --nosignature (default: false) */
61     ZYppCommitPolicy & rpmNoSignature( bool yesNo_r = true )
62     { _rpmNoSignature = yesNo_r; return *this; }
63
64   private:
65     unsigned _restrictToMedia;
66     bool     _dryRun;
67     bool     _rpmNoSignature;
68   };
69   ///////////////////////////////////////////////////////////////////
70
71   /** \relates ZYppCommitPolicy Stream output. */
72   std::ostream & operator<<( std::ostream & str, const ZYppCommitPolicy & obj );
73
74   /////////////////////////////////////////////////////////////////
75 } // namespace zypp
76 ///////////////////////////////////////////////////////////////////
77 #endif // ZYPP_ZYPPCOMMITPOLICY_H