libzypp  17.35.12
context.cc
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
9 #include "private/context_p.h"
10 #include <zypp/ZYppFactory.h>
12 #include <zypp-core/zyppng/base/EventLoop>
13 #include <zypp-media/ng/Provide>
14 
15 namespace zyppng {
16 
17  ZYPP_IMPL_PRIVATE( Context )
18 
20  : UserInterface( *new ContextPrivate( *this ) )
21  {
22  Z_D();
23  d->_zyppPtr = zypp::getZYpp();
24  d->_eventDispatcher = ThreadData::current().ensureDispatcher();
25 
26  d->_provider = Provide::create( d->_providerDir );
27 
28  // @TODO should start be implicit as soon as something is enqueued?
29  d->_provider->start();
30  }
31 
32  ProvideRef Context::provider() const
33  {
34  Z_D();
35  return d->_provider;
36  }
37 
39  {
40  return d_func()->_zyppPtr->keyRing();
41  }
42 
44  {
45  return zypp::ZConfig::instance();
46  }
47 
49  {
50  return zypp::ResPool::instance();
51  }
52 
54  {
55  return zypp::ResPool::instance().proxy();
56  }
57 
59  {
61  }
62 
63  void Context::executeImpl(const AsyncOpBaseRef& op)
64  {
65  auto loop = EventLoop::create();
66  op->sigReady().connect([&](){
67  loop->quit();
68  });
69  loop->run();
70  return;
71  }
72 }
ResPoolProxy proxy() const
preliminary
Definition: ResPool.cc:59
zypp::ZConfig & config()
Definition: context.cc:43
static ZConfig & instance()
Singleton ctor.
Definition: ZConfig.cc:925
ProvideRef provider() const
Definition: context.cc:32
KeyRingRef keyRing() const
Definition: context.cc:38
ZYPP_IMPL_PRIVATE_CONSTR(Context)
Definition: context.cc:19
static ProvideRef create(const zypp::Pathname &workDir="")
Definition: provide.cc:1002
ResPool::instance().proxy();.
Definition: ResPoolProxy.h:35
zypp::KeyRing_Ptr KeyRingRef
Definition: context.h:29
#define Z_D()
Definition: zyppglobal.h:105
static Pool instance()
Singleton ctor.
Definition: Pool.h:55
zypp::ResPool pool()
Access to the resolvable pool.
Definition: context.cc:48
Interim helper class to collect global options and settings.
Definition: ZConfig.h:68
zypp::sat::Pool satPool()
Access to the sat pool.
Definition: context.cc:58
static Ptr create()
Global ResObject pool.
Definition: ResPool.h:61
static ZYPP_API ThreadData & current()
Definition: threaddata.cc:16
std::shared_ptr< EventDispatcher > ensureDispatcher()
Definition: threaddata.cc:32
void executeImpl(const AsyncOpBaseRef &op)
Definition: context.cc:63
ZYPP_IMPL_PRIVATE(UnixSignalSource)
Global sat-pool.
Definition: Pool.h:46
zypp::ResPoolProxy poolProxy()
Pool of ui::Selectable.
Definition: context.cc:53
static ResPool instance()
Singleton ctor.
Definition: ResPool.cc:38