libzypp 17.32.2
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>
11#include <zypp-core/zyppng/base/private/threaddata_p.h>
12#include <zypp-core/zyppng/base/EventLoop>
13#include <zypp-media/ng/Provide>
14
15namespace 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
47
48 void Context::executeImpl(const AsyncOpBaseRef& op)
49 {
50 auto loop = EventLoop::create();
51 op->sigReady().connect([&](){
52 loop->quit();
53 });
54 loop->run();
55 return;
56 }
57}
Interim helper class to collect global options and settings.
Definition ZConfig.h:64
static ZConfig & instance()
Singleton ctor.
Definition ZConfig.cc:925
zypp::ZConfig & config()
Definition context.cc:43
void executeImpl(const AsyncOpBaseRef &op)
Definition context.cc:48
ProvideRef provider() const
Definition context.cc:32
KeyRingRef keyRing() const
Definition context.cc:38
static ProvideRef create(const zypp::Pathname &workDir="")
Definition provide.cc:972
ZYPP_IMPL_PRIVATE_CONSTR(Context)
Definition context.cc:19
zypp::KeyRing_Ptr KeyRingRef
Definition context.h:29
ZYPP_IMPL_PRIVATE(Provide)