summaryrefslogtreecommitdiff
path: root/swig/Resolver.i
blob: d6842ddb13352ac27920a4bedee3bf5be0febaa1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifdef SWIGPERL5
   %template(StringList) std::list<std::string>;
#endif

/* don't wrap legacy ItemCapKind stuff */
%ignore zypp::Resolver::isInstalledBy( const PoolItem & item );
%ignore zypp::Resolver::installs( const PoolItem & item );
%ignore zypp::Resolver::satifiedByInstalled (const PoolItem & item );
%ignore zypp::Resolver::installedSatisfied( const PoolItem & item );

%include <zypp/ProblemTypes.h>
%include <zypp/ResolverProblem.h>
%include <zypp/ProblemSolution.h>
%include <zypp/Resolver.h>

/* ResPoool provides leagacy GetResolvablesToInsDel */
%ignore zypp::Resolver::getTransaction();


typedef std::list<zypp::ProblemSolution_Ptr> ProblemSolutionList;
%template(ProblemSolutionList) std::list<zypp::ProblemSolution_Ptr>;

typedef boost::intrusive_ptr< zypp::ProblemSolution > ProblemSolution_Ptr;
%template(ProblemSolution_Ptr) boost::intrusive_ptr< zypp::ProblemSolution >;

namespace zypp
{

  typedef ::zypp::intrusive_ptr< Resolver > Resolver_Ptr;
  %template(Resolver_Ptr) ::zypp::intrusive_ptr<Resolver>;

#ifndef SWIGRUBY
  /* swig generates wrong code (>> instead of > > for template type)
   * in Ruby
   */

  typedef ::boost::intrusive_ptr< ResolverProblem > ResolverProblem_Ptr;
  %template(ResolverProblem_Ptr) ::boost::intrusive_ptr< ResolverProblem >;
  typedef std::list< ResolverProblem_Ptr > ResolverProblemList;
  %template(ResolverProblemList) ::std::list< ResolverProblem_Ptr >;

#endif
}