1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
4 * Copyright (C) 2005 SUSE Linux Products GmbH
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License,
8 * version 2, as published by the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
21 #ifndef ZYPP_SOLVER_DETAIL_TYPES_H
22 #define ZYPP_SOLVER_DETAIL_TYPES_H
30 #include "zypp/base/ReferenceCounted.h"
31 #include "zypp/base/NonCopyable.h"
32 #include "zypp/base/PtrTypes.h"
33 #include "zypp/base/Functional.h"
35 #include "zypp/PoolItem.h"
37 typedef std::list <zypp::PoolItem> PoolItemList;
38 typedef std::set <zypp::PoolItem> PoolItemSet;
40 #define _DEBUG(x) DBG << x
42 /////////////////////////////////////////////////////////////////////////
44 { ///////////////////////////////////////////////////////////////////////
45 ///////////////////////////////////////////////////////////////////////
47 { /////////////////////////////////////////////////////////////////////
48 /////////////////////////////////////////////////////////////////////
50 { ///////////////////////////////////////////////////////////////////
52 DEFINE_PTR_TYPE(Resolver);
54 DEFINE_PTR_TYPE(ResolverContext);
56 DEFINE_PTR_TYPE(ResolverInfo);
57 DEFINE_PTR_TYPE(ResolverInfoChildOf);
58 DEFINE_PTR_TYPE(ResolverInfoConflictsWith);
59 DEFINE_PTR_TYPE(ResolverInfoContainer);
60 DEFINE_PTR_TYPE(ResolverInfoDependsOn);
61 DEFINE_PTR_TYPE(ResolverInfoMisc);
62 DEFINE_PTR_TYPE(ResolverInfoMissingReq);
63 DEFINE_PTR_TYPE(ResolverInfoNeededBy);
64 DEFINE_PTR_TYPE(ResolverInfoObsoletes);
66 DEFINE_PTR_TYPE(QueueItem);
67 DEFINE_PTR_TYPE(QueueItemBranch);
68 DEFINE_PTR_TYPE(QueueItemConflict);
69 DEFINE_PTR_TYPE(QueueItemEstablish);
70 DEFINE_PTR_TYPE(QueueItemGroup);
71 DEFINE_PTR_TYPE(QueueItemInstall);
72 DEFINE_PTR_TYPE(QueueItemRequire);
73 DEFINE_PTR_TYPE(QueueItemUninstall);
75 DEFINE_PTR_TYPE(ResolverQueue);
77 DEFINE_PTR_TYPE(SolutionAction);
78 typedef std::list<SolutionAction_Ptr> SolutionActionList;
79 typedef std::list<SolutionAction_constPtr> CSolutionActionList;
80 DEFINE_PTR_TYPE(TransactionSolutionAction);
81 DEFINE_PTR_TYPE(InjectSolutionAction);
84 ///////////////////////////////////////////////////////////////////
86 /////////////////////////////////////////////////////////////////////
87 /////////////////////////////////////////////////////////////////////
89 ///////////////////////////////////////////////////////////////////////
90 ///////////////////////////////////////////////////////////////////////
92 /////////////////////////////////////////////////////////////////////////
94 #endif // ZYPP_SOLVER_DETAIL_TYPES_H