浏览代码

Assistant: Make Provider ref-counted

Rummskartoffel 3 年之前
父节点
当前提交
ada1d4906e
共有 2 个文件被更改,包括 7 次插入7 次删除
  1. 1 1
      Userland/Applications/Assistant/Providers.h
  2. 6 6
      Userland/Applications/Assistant/main.cpp

+ 1 - 1
Userland/Applications/Assistant/Providers.h

@@ -128,7 +128,7 @@ private:
     RefPtr<Gfx::Bitmap> m_bitmap;
 };
 
-class Provider {
+class Provider : public RefCounted<Provider> {
 public:
     virtual ~Provider() = default;
 

+ 6 - 6
Userland/Applications/Assistant/main.cpp

@@ -122,11 +122,11 @@ public:
     explicit Database(AppState& state)
         : m_state(state)
     {
-        m_providers.append(make<AppProvider>());
-        m_providers.append(make<CalculatorProvider>());
-        m_providers.append(make<FileProvider>());
-        m_providers.append(make<TerminalProvider>());
-        m_providers.append(make<URLProvider>());
+        m_providers.append(make_ref_counted<AppProvider>());
+        m_providers.append(make_ref_counted<CalculatorProvider>());
+        m_providers.append(make_ref_counted<FileProvider>());
+        m_providers.append(make_ref_counted<TerminalProvider>());
+        m_providers.append(make_ref_counted<URLProvider>());
     }
 
     Function<void(NonnullRefPtrVector<Result>)> on_new_results;
@@ -176,7 +176,7 @@ private:
 
     AppState& m_state;
 
-    NonnullOwnPtrVector<Provider> m_providers;
+    NonnullRefPtrVector<Provider> m_providers;
 
     Threading::Mutex m_mutex;
     HashMap<String, NonnullRefPtrVector<Result>> m_result_cache;