Make PkgQuery class as inner class of PkgQueryInterface 38/218038/2
authorSangyoon Jang <jeremy.jang@samsung.com>
Tue, 19 Nov 2019 04:27:38 +0000 (13:27 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Wed, 20 Nov 2019 02:08:59 +0000 (02:08 +0000)
PkgQuery class should be accessed by PkgQueryInterface only.

Change-Id: I9752fe4528fb24ff74e24d190d230b799a61fa96
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
src/common/pkgmgr_query.cc
src/common/pkgmgr_query.h

index 119ad7f..e628d8f 100644 (file)
@@ -31,7 +31,7 @@ int PkgmgrForeachPluginCallback(const char* pkgid, const char* appid,
 
 namespace common_installer {
 
-std::shared_ptr<PkgHandle> PkgQuery::GetResult(
+std::shared_ptr<PkgHandle> PkgQueryInterface::PkgQuery::GetResult(
     const std::string& pkgid, uid_t uid, bool refresh) {
   const auto& it = query_results_.find(std::make_pair(pkgid, uid));
   if (it != query_results_.end()) {
index fccb0a5..5059fbe 100644 (file)
@@ -31,17 +31,6 @@ struct PkgHandle {
   }
 };
 
-class PkgQuery : public Singleton<PkgQuery> {
-  CRTP_DECLARE_DEFAULT_CONSTRUCTOR_CLASS(PkgQuery)
- public:
-  std::shared_ptr<PkgHandle> GetResult(const std::string& pkgid, uid_t uid,
-      bool refresh);
-
- private:
-  std::map<std::pair<std::string, uid_t>, std::shared_ptr<PkgHandle>>
-      query_results_;
-};
-
 /**
  * \brief Adapter interface for external PkgMgr module.
  */
@@ -198,6 +187,17 @@ class PkgQueryInterface {
   bool PackagesDependsOn(std::vector<DependencyInfo>* result);
 
  private:
+  class PkgQuery : public Singleton<PkgQuery> {
+    CRTP_DECLARE_DEFAULT_CONSTRUCTOR_CLASS(PkgQuery)
+   public:
+    std::shared_ptr<PkgHandle> GetResult(const std::string& pkgid, uid_t uid,
+        bool refresh);
+
+   private:
+    std::map<std::pair<std::string, uid_t>, std::shared_ptr<PkgHandle>>
+        query_results_;
+  };
+
   int error_;
   std::string pkgid_;
   uid_t uid_;