fix testcases path with repository -> repo
[platform/upstream/libzypp.git] / zypp2 / repo / memory / ProductImpl.h
1 /*---------------------------------------------------------------------\
2 |                          ____ _   __ __ ___                          |
3 |                         |__  / \ / / . \ . \                         |
4 |                           / / \ V /|  _/  _/                         |
5 |                          / /__ | | | | | |                           |
6 |                         /_____||_| |_| |_|                           |
7 |                                                                      |
8 \---------------------------------------------------------------------*/
9 /** \file       zypp2/repo/memory/ProductImpl.h
10  *
11 */
12 #ifndef ZYPP_DETAIL_MEMORY_PRODUCTIMPL_H
13 #define ZYPP_DETAIL_MEMORY_PRODUCTIMPL_H
14
15 #include <map>
16
17 #include "zypp/CheckSum.h"
18 #include "zypp/CapSet.h"
19 #include "zypp/detail/ProductImplIf.h"
20 #include "zypp/Source.h"
21 #include "zypp/data/ResolvableData.h"
22 #include "zypp/TranslatedText.h"
23
24 ///////////////////////////////////////////////////////////////////
25 namespace zypp
26 { /////////////////////////////////////////////////////////////////
27   ///////////////////////////////////////////////////////////////////
28   namespace repo
29   { /////////////////////////////////////////////////////////////////
30     ///////////////////////////////////////////////////////////////////
31     namespace memory
32     { /////////////////////////////////////////////////////////////////
33
34       ///////////////////////////////////////////////////////////////////
35       //
36       //        CLASS NAME : ProductImpl
37       //
38       /**
39       */
40       struct ProductImpl : public zypp::detail::ProductImplIf
41       {
42       public:
43         ProductImpl(data::Product_Ptr ptr);
44         virtual ~ProductImpl();
45
46         virtual std::string category() const;
47         virtual Label vendor() const;
48         virtual TranslatedText summary() const;
49         virtual Source_Ref source() const;
50         virtual Url releaseNotesUrl() const;
51         
52         virtual std::list<Url> updateUrls() const;
53         virtual std::list<Url> extraUrls() const;
54         virtual std::list<Url> optionalUrls() const;
55         
56         virtual std::list<std::string> flags() const;
57         virtual TranslatedText shortName() const;
58         virtual std::string distributionName() const;
59         virtual Edition distributionEdition() const;
60
61         std::string _category;
62
63         std::string _name;
64         std::string _version;
65         std::string _dist_name;
66         Edition     _dist_version;
67
68         std::string _base_product;
69         std::string _base_version;
70         std::string _you_type;
71         std::string _shortlabel;
72         std::string _vendor;
73         Url _release_notes_url;
74         
75         std::list<Url> _update_urls;
76         std::list<Url> _extra_urls;
77         std::list<Url> _optional_urls;
78         
79         std::map< std::string, std::list<std::string> > _arch;  // map of 'arch : "arch1 arch2 arch3"', arch1 being 'best', arch3 being 'noarch' (ususally)
80         std::string _default_base;
81         Dependencies _deps;
82         std::list<std::string> _languages;
83         TranslatedText _summary;
84         std::string _description_dir;
85         std::string _data_dir;
86         std::list<std::string> _flags;
87         std::string _language;
88         std::string _timezone;
89
90         std::map<std::string, CheckSum> _descr_files_checksums;
91         std::map<std::string, CheckSum> _signing_keys;
92       };
93       ///////////////////////////////////////////////////////////////////
94
95       /////////////////////////////////////////////////////////////////
96     } // namespace memory
97     ///////////////////////////////////////////////////////////////////
98   } // namespace repository
99   /////////////////////////////////////////////////////////////////
100 } // namespace zypp
101 ///////////////////////////////////////////////////////////////////
102 #endif // ZYPP_DETAIL_PRODUCTIMPL_H