Parcourir la source

Assistant: Make Provider ref-counted

Rummskartoffel il y a 3 ans
Parent
commit
ada1d4906e

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

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

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

@@ -122,11 +122,11 @@ public:
     explicit Database(AppState& state)
     explicit Database(AppState& state)
         : m_state(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;
     Function<void(NonnullRefPtrVector<Result>)> on_new_results;
@@ -176,7 +176,7 @@ private:
 
 
     AppState& m_state;
     AppState& m_state;
 
 
-    NonnullOwnPtrVector<Provider> m_providers;
+    NonnullRefPtrVector<Provider> m_providers;
 
 
     Threading::Mutex m_mutex;
     Threading::Mutex m_mutex;
     HashMap<String, NonnullRefPtrVector<Result>> m_result_cache;
     HashMap<String, NonnullRefPtrVector<Result>> m_result_cache;