libzypp  13.10.6
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; }
32  private:
33  pid_t _lockerPid;
34  std::string _lockerName;
35  };
36 
38  //
39  // CLASS NAME : ZYppFactory
40  //
44  {
45  friend std::ostream & operator<<( std::ostream & str, const ZYppFactory & obj );
46 
47  public:
49  static ZYppFactory instance();
51  ~ZYppFactory();
52 
53  public:
57  ZYpp::Ptr getZYpp() const;
58 
60  bool haveZYpp() const;
61 
62  private:
64  ZYppFactory();
65  };
67 
69  std::ostream & operator<<( std::ostream & str, const ZYppFactory & obj );
70 
75  inline ZYpp::Ptr getZYpp()
76  { return ZYppFactory::instance().getZYpp(); }
77 
79 } // namespace zypp
81 #endif // ZYPP_ZYPPFACTORY_H
bool haveZYpp() const
Whether the ZYpp instance is already created.
Definition: ZYppFactory.cc:413
const std::string & lockerName() const
Definition: ZYppFactory.h:31
ZYpp::Ptr getZYpp() const
Definition: ZYppFactory.cc:346
static ZYppFactory instance()
Singleton ctor.
Definition: ZYppFactory.cc:321
std::ostream & operator<<(std::ostream &str, const Exception &obj)
Definition: Exception.cc:120
ZYppFactoryException(const std::string &msg_r, pid_t lockerPid_r, const std::string &lockerName_r)
Definition: ZYppFactory.cc:301
ZYpp factory class (Singleton)
Definition: ZYppFactory.h:43
ZYppFactory()
Default ctor.
Definition: ZYppFactory.cc:331
pid_t lockerPid() const
Definition: ZYppFactory.h:30
Base class for Exception.
Definition: Exception.h:143
friend std::ostream & operator<<(std::ostream &str, const ZYppFactory &obj)
Definition: ZYppFactory.cc:421
intrusive_ptr< ZYpp > Ptr
Definition: ZYpp.h:59
ZYpp::Ptr getZYpp()
Definition: ZYppFactory.h:75