- Remove tribool from RepoInfo's interface.
[platform/upstream/libzypp.git] / zypp / repo / ScriptProvider.cc
1 /*---------------------------------------------------------------------\
2 |                          ____ _   __ __ ___                          |
3 |                         |__  / \ / / . \ . \                         |
4 |                           / / \ V /|  _/  _/                         |
5 |                          / /__ | | | | | |                           |
6 |                         /_____||_| |_| |_|                           |
7 |                                                                      |
8 \---------------------------------------------------------------------*/
9 /** \file       zypp/repo/ScriptProvider.cc
10  *
11 */
12 #include <iostream>
13 //#include "zypp/base/Logger.h"
14
15 #include "zypp/repo/ScriptProvider.h"
16
17 using std::endl;
18
19 ///////////////////////////////////////////////////////////////////
20 namespace zypp
21 { /////////////////////////////////////////////////////////////////
22   ///////////////////////////////////////////////////////////////////
23   namespace repo
24   { /////////////////////////////////////////////////////////////////
25
26     ///////////////////////////////////////////////////////////////////
27     namespace
28     { /////////////////////////////////////////////////////////////////
29
30       typedef std::string     (Script::*inlined)() const;
31       typedef OnMediaLocation (Script::*location)() const;
32
33       /** Provide a Script in a local file. */
34       ManagedFile doProvideScript( repo::RepoMediaAccess & access_r,
35                                    const Script & script_r,
36                                    inlined inlined_r, location location_r )
37       {
38         ManagedFile ret;
39         return ret;
40       }
41
42       /////////////////////////////////////////////////////////////////
43     } // namespace
44     ///////////////////////////////////////////////////////////////////
45
46     ///////////////////////////////////////////////////////////////////
47     //
48     //  METHOD NAME : ScriptProvider::ScriptProvider
49     //  METHOD TYPE : Ctor
50     //
51     ScriptProvider::ScriptProvider( repo::RepoMediaAccess & access_r,
52                                     const Script::constPtr & script_r )
53       : _access( access_r )
54       , _script( script_r )
55     {
56       //       ManagedFile provideFile( Repository repo_r,
57       //                                const OnMediaLocation & loc_r,
58       //                                const ProvideFilePolicy & policy_r = ProvideFilePolicy() );
59     }
60
61     ///////////////////////////////////////////////////////////////////
62     //
63     //  METHOD NAME : ScriptProvider::~ScriptProvider
64     //  METHOD TYPE : Dtor
65     //
66     ScriptProvider::~ScriptProvider()
67     {}
68
69     ManagedFile ScriptProvider::provideDoScript() const
70     {
71       ManagedFile ret;
72       if ( _script )
73       {
74         return doProvideScript( _access, *_script,
75                                 &Script::doScriptInlined,
76                                 &Script::doScriptLocation );
77       }
78       return ret;
79     }
80
81     ManagedFile ScriptProvider::provideUndoScript() const
82     {
83       ManagedFile ret;
84       if ( _script )
85       {
86         return doProvideScript( _access, *_script,
87                                 &Script::undoScriptInlined,
88                                 &Script::undoScriptLocation );
89       }
90       return ret;
91     }
92
93     /////////////////////////////////////////////////////////////////
94   } // namespace repo
95   ///////////////////////////////////////////////////////////////////
96   /////////////////////////////////////////////////////////////////
97 } // namespace zypp
98 ///////////////////////////////////////////////////////////////////