Imported Upstream version 14.45.0
[platform/upstream/libzypp.git] / zypp / solver / detail / Types.h
index 5d91ad1..e50f351 100644 (file)
@@ -1,5 +1,5 @@
 /* -*- 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 
@@ -50,41 +47,23 @@ 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