~thopiekar/zypper/libzypp-manual-import

« back to all changes in this revision

Viewing changes to zypp/Patch.h

  • Committer: Thomas-Karl Pietrowski
  • Date: 2015-08-15 15:59:50 UTC
  • Revision ID: thopiekar@googlemail.com-20150815155950-j66qn38efmvn289t
syncing with "changes 15.13.0 (11)"  #9a0aca7e3a21d768491b141a8ae86ef0c3fbc227
* https://github.com/openSUSE/libzypp/commit/9a0aca7e3a21d768491b141a8ae86ef0c3fbc227

Show diffs side-by-side

added added

removed removed

Lines of Context:
45
45
      typedef sat::SolvableSet Contents;
46
46
 
47
47
      enum Category {
48
 
        CAT_OTHER,
49
 
        CAT_YAST,
50
 
        CAT_SECURITY,
51
 
        CAT_RECOMMENDED,
52
 
        CAT_OPTIONAL,
53
 
        CAT_DOCUMENT
 
48
        CAT_OTHER       = 1,    //!< unknown value specified
 
49
        CAT_YAST        = 1<<1, //!<
 
50
        CAT_SECURITY    = 1<<2, //!<
 
51
        CAT_RECOMMENDED = 1<<3, //!<
 
52
        CAT_OPTIONAL    = 1<<4, //!<
 
53
        CAT_DOCUMENT    = 1<<5  //!<
54
54
      };
 
55
      ZYPP_DECLARE_FLAGS(Categories, Category);
55
56
 
56
57
      /**
57
58
       * Flags defining if and why this
72
73
       * \ref asSring( const Patch::SeverityFlag & ).
73
74
       */
74
75
      enum SeverityFlag {
75
 
        SEV_NONE        = 0,    //!< no value specified
76
76
        SEV_OTHER       = 1,    //!< unknown value specified
77
 
        SEV_LOW         = 1<<1, //!< Low
78
 
        SEV_MODERATE    = 1<<2, //!< Moderate
79
 
        SEV_IMPORTANT   = 1<<3, //!< Important
80
 
        SEV_CRITICAL    = 1<<4  //!< Critical
 
77
        SEV_NONE        = 1<<1, //!< no value specified
 
78
        SEV_LOW         = 1<<2, //!< Low
 
79
        SEV_MODERATE    = 1<<3, //!< Moderate
 
80
        SEV_IMPORTANT   = 1<<4, //!< Important
 
81
        SEV_CRITICAL    = 1<<5  //!< Critical
81
82
      };
82
83
      ZYPP_DECLARE_FLAGS(SeverityFlags, SeverityFlag);
83
84
 
103
104
 
104
105
      /** Whether this patch's category matches \a category_r */
105
106
      bool isCategory( const std::string & category_r ) const;
106
 
 
 
107
      /** \overload taking OR'ed \ref Categories */
 
108
      bool isCategory( Categories category_r ) const;
 
109
#ifndef SWIG // Swig treats it as syntax error
 
110
      /** \overload taking container of category strings
 
111
       * 2nd template arg just to prevent instantiation for Category
 
112
       */
 
113
      template <class _Container, typename = typename _Container::value_type>
 
114
      bool isCategory( const _Container & categories_r ) const
 
115
      {
 
116
        for ( const std::string & el : categories_r )
 
117
        { if ( isCategory( el ) ) return true; }
 
118
        return false;
 
119
      }
 
120
#endif
107
121
      /** Patch category as enum of wellknown categories.
108
122
       * Unknown values are mapped to \ref CAT_OTHER.
109
123
       */
126
140
 
127
141
      /** Whether this patch's severity matches \a severity_r */
128
142
      bool isSeverity( const std::string & severity_r ) const;
129
 
 
 
143
      /** \overload taking OR'ed \ref SeverityFlags */
 
144
      bool isSeverity( SeverityFlags severity_r ) const;
 
145
#ifndef SWIG // Swig treats it as syntax error
 
146
      /** \overload taking container of severity strings
 
147
       * 2nd template arg just to prevent instantiation for SeverityFlag
 
148
       */
 
149
      template <class _Container, typename = typename _Container::value_type>
 
150
      bool isSeverity( const _Container & severities_r ) const
 
151
      {
 
152
        for ( const std::string & el : severities_r )
 
153
        { if ( isSeverity( el ) ) return true; }
 
154
        return false;
 
155
      }
 
156
#endif
130
157
      /** Severity string mapped to an enum.
131
158
       * Unknown string values are mapped to \ref SEV_OTHER
132
159
       */
205
232
      /** Dtor */
206
233
      virtual ~Patch();
207
234
  };
 
235
  ZYPP_DECLARE_OPERATORS_FOR_FLAGS(Patch::Categories);
208
236
  ZYPP_DECLARE_OPERATORS_FOR_FLAGS(Patch::InteractiveFlags);
209
237
  ZYPP_DECLARE_OPERATORS_FOR_FLAGS(Patch::SeverityFlags);
210
238
 
 
239
  /** \relates Patch::Category string representation.*/
 
240
  std::string asString( const Patch::Category & obj );
 
241
 
 
242
  /** \relates Patch::InteractiveFlag string representation.*/
 
243
  std::string asString( const Patch::InteractiveFlag & obj );
 
244
 
211
245
  /** \relates Patch::SeverityFlag string representation.*/
212
246
  std::string asString( const Patch::SeverityFlag & obj );
213
247