Refined Resolvables interfaces, implementatio interfaces, factory
[platform/upstream/libzypp.git] / zypp / ResTraits.h
1 /*---------------------------------------------------------------------\
2 |                          ____ _   __ __ ___                          |
3 |                         |__  / \ / / . \ . \                         |
4 |                           / / \ V /|  _/  _/                         |
5 |                          / /__ | | | | | |                           |
6 |                         /_____||_| |_| |_|                           |
7 |                                                                      |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/ResTraits.h
10  *
11 */
12 #ifndef ZYPP_RESTRAITS_H
13 #define ZYPP_RESTRAITS_H
14
15 ///////////////////////////////////////////////////////////////////
16 namespace zypp
17 { /////////////////////////////////////////////////////////////////
18
19   class ResKind;
20
21   template<typename _Res>
22     class ResTraits {};
23
24   class Package;
25   template<>
26     class ResTraits<Package>
27     {
28     public:
29       static const ResKind _kind;
30     };
31
32   class Selection;
33   template<>
34     class ResTraits<Selection>
35     {
36     public:
37       static const ResKind _kind;
38     };
39
40   class Product;
41   template<>
42     class ResTraits<Product>
43     {
44     public:
45       static const ResKind _kind;
46     };
47
48   class Patch;
49   template<>
50     class ResTraits<Patch>
51     {
52     public:
53       static const ResKind _kind;
54     };
55
56   class Script;
57   template<>
58     class ResTraits<Script>
59     {
60     public:
61       static const ResKind _kind;
62     };
63
64   class Message;
65   template<>
66     class ResTraits<Message>
67     {
68     public:
69       static const ResKind _kind;
70     };
71
72   /////////////////////////////////////////////////////////////////
73 } // namespace zypp
74 ///////////////////////////////////////////////////////////////////
75 #endif // ZYPP_RESTRAITS_H