Imported Upstream version 17.23.5
[platform/upstream/libzypp.git] / zypp / VendorSupportOptions.h
1 /*---------------------------------------------------------------------\
2 |                          ____ _   __ __ ___                          |
3 |                         |__  / \ / / . \ . \                         |
4 |                           / / \ V /|  _/  _/                         |
5 |                          / /__ | | | | | |                           |
6 |                         /_____||_| |_| |_|                           |
7 |                                                                      |
8 \---------------------------------------------------------------------*/
9 /** \file       zypp/VendorSupportOptions.h
10  *
11 */
12 #ifndef ZYPP_VendorSupportOptions_H
13 #define ZYPP_VendorSupportOptions_H
14
15 #include <string>
16 #include <zypp/base/Flags.h>
17
18 namespace zypp
19 {
20
21     enum VendorSupportOption
22     {
23       /**
24        * The support for this package is unknown
25        */
26       VendorSupportUnknown     = 0,
27       /**
28        * The package is known to be unsupported by the vendor
29        */
30       VendorSupportUnsupported = (1<<0),
31       /**
32        * Additional Customer Contract necessary
33        */
34       VendorSupportACC         = (1<<1),
35       /**
36        * Problem determination, which means technical support
37        * designed to provide compatibility information,
38        * installation assistance, usage support, on-going maintenance
39        * and basic troubleshooting. Level 1 Support is not intended to
40        * correct product defect errors.
41        *
42        * May have different semantics for different organizations.
43        */
44       VendorSupportLevel1      = (1<<2),
45       /**
46        * Problem isolation, which means technical support designed
47        * to duplicate customer problems, isolate problem area and provide
48        * resolution for problems not resolved by Level 1 Support.
49        *
50        * May have different semantics for different organizations.
51        */
52       VendorSupportLevel2      = (1<<3),
53       /**
54        * Problem resolution, which means technical support designed
55        * to resolve complex problems by engaging engineering in resolution
56        * of product defects which have been identified by Level 2 Support.
57        *
58        * May have different semantics for different organizations.
59        */
60       VendorSupportLevel3      = (1<<4)
61     };
62
63     // Make a flag set for this
64     ZYPP_DECLARE_FLAGS(VendorSupportOptions,VendorSupportOption);
65     ZYPP_DECLARE_OPERATORS_FOR_FLAGS(VendorSupportOptions)
66
67     /**
68      * converts the support option to a name intended to be printed
69      * to the user.
70      *
71      * Note the description is based in the way Novell defines the support
72      * levels, and the semantics may be different for other vendors.
73      */
74     std::string asUserString( VendorSupportOption );
75
76     /**
77      * converts the support option to a description intended to be printed
78      * to the user.
79      *
80      * Note the description is based in the way Novell defines the support
81      * levels, and the semantics may be different for other vendors.
82      */
83     std::string asUserStringDescription( VendorSupportOption );
84
85 }
86
87 #endif