/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* Ptr.h
+/* Types.h
*
* Copyright (C) 2005 SUSE Linux Products GmbH
*
#include "zypp/base/ReferenceCounted.h"
#include "zypp/base/NonCopyable.h"
#include "zypp/base/PtrTypes.h"
+#include "zypp/base/Functional.h"
#include "zypp/PoolItem.h"
-typedef std::list <zypp::PoolItem> PoolItemList;
-typedef std::list <const zypp::PoolItem> CPoolItemList;
-typedef std::set <const zypp::PoolItem> CPoolItemSet;
-
-#warning needs get/set status in PoolItem
-#define item_status_is_to_be_uninstalled(x) true
-#define item_status_is_satisfied(x) true
+#define _DEBUG(x) DBG << x << std::endl;
+#define _XDEBUG(x) do { if (base::logger::isExcessive()) XXX << x << std::endl;} while (0)
+//#define _DEBUG(x)
/////////////////////////////////////////////////////////////////////////
namespace zypp
/////////////////////////////////////////////////////////////////////
namespace detail
{ ///////////////////////////////////////////////////////////////////
-
-DEFINE_PTR_TYPE(ResolverContext);
-
-DEFINE_PTR_TYPE(ResolverInfo);
-DEFINE_PTR_TYPE(ResolverInfoChildOf);
-DEFINE_PTR_TYPE(ResolverInfoConflictsWith);
-DEFINE_PTR_TYPE(ResolverInfoContainer);
-DEFINE_PTR_TYPE(ResolverInfoDependsOn);
-DEFINE_PTR_TYPE(ResolverInfoMisc);
-DEFINE_PTR_TYPE(ResolverInfoMissingReq);
-DEFINE_PTR_TYPE(ResolverInfoNeededBy);
-DEFINE_PTR_TYPE(ResolverInfoObsoletes);
-
-DEFINE_PTR_TYPE(QueueItem);
-DEFINE_PTR_TYPE(QueueItemBranch);
-DEFINE_PTR_TYPE(QueueItemConflict);
-DEFINE_PTR_TYPE(QueueItemEstablish);
-DEFINE_PTR_TYPE(QueueItemGroup);
-DEFINE_PTR_TYPE(QueueItemInstall);
-DEFINE_PTR_TYPE(QueueItemRequire);
-DEFINE_PTR_TYPE(QueueItemUninstall);
-DEFINE_PTR_TYPE(ResolverQueue);
-
-DEFINE_PTR_TYPE(ResolverProblem);
-typedef std::list<ResolverProblem_Ptr> ResolverProblemList;
-typedef std::list<ResolverProblem_constPtr> CResolverProblemList;
-
-DEFINE_PTR_TYPE(ProblemSolution);
-typedef std::list<ProblemSolution_Ptr> ProblemSolutionList;
-typedef std::list<ProblemSolution_constPtr> CProblemSolutionList;
+typedef std::list<PoolItem> PoolItemList;
+typedef std::set<PoolItem> PoolItemSet;
+DEFINE_PTR_TYPE(Resolver);
+
DEFINE_PTR_TYPE(SolutionAction);
typedef std::list<SolutionAction_Ptr> SolutionActionList;
typedef std::list<SolutionAction_constPtr> CSolutionActionList;
+DEFINE_PTR_TYPE(TransactionSolutionAction);
+DEFINE_PTR_TYPE(InjectSolutionAction);
+DEFINE_PTR_TYPE(SolverQueueItem);
+DEFINE_PTR_TYPE(SolverQueueItemUpdate);
+DEFINE_PTR_TYPE(SolverQueueItemDelete);
+DEFINE_PTR_TYPE(SolverQueueItemInstall);
+DEFINE_PTR_TYPE(SolverQueueItemInstallOneOf);
+DEFINE_PTR_TYPE(SolverQueueItemLock);
///////////////////////////////////////////////////////////////////
};// namespace detail