libzypp  11.13.5
ZYppFactory.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_ZYPPFACTORY_H
13 #define ZYPP_ZYPPFACTORY_H
14 
15 #include <iosfwd>
16 
17 #include "zypp/base/Exception.h"
18 #include "zypp/ZYpp.h"
19 
21 namespace zypp
22 {
23 
25  {
26  public:
27  ZYppFactoryException( const std::string & msg_r, pid_t lockerPid_r, const std::string & lockerName_r );
28  virtual ~ZYppFactoryException() throw ();
29  public:
30  pid_t lockerPid() const { return _lockerPid; }
31  const std::string & lockerName() const { return _lockerName; }
33  ZYPP_DEPRECATED pid_t locker_pid() const { return lockerPid(); }
34  private:
35  pid_t _lockerPid;
36  std::string _lockerName;
37  };
38 
40  //
41  // CLASS NAME : ZYppFactory
42  //
46  {
47  friend std::ostream & operator<<( std::ostream & str, const ZYppFactory & obj );
48 
49  public:
51  static ZYppFactory instance();
53  ~ZYppFactory();
54 
55  public:
59  ZYpp::Ptr getZYpp() const;
60 
62  bool haveZYpp() const;
63 
64  private:
66  ZYppFactory();
67  };
69 
71  std::ostream & operator<<( std::ostream & str, const ZYppFactory & obj );
72 
77  inline ZYpp::Ptr getZYpp()
78  { return ZYppFactory::instance().getZYpp(); }
79 
81 } // namespace zypp
83 #endif // ZYPP_ZYPPFACTORY_H