toolkit/components/url-classifier/nsUrlClassifierProxies.cpp

Fri, 16 Jan 2015 18:13:44 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 16 Jan 2015 18:13:44 +0100
branch
TOR_BUG_9701
changeset 14
925c144e1f1f
permissions
-rw-r--r--

Integrate suggestion from review to improve consistency with existing code.

michael@0 1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
michael@0 2 /* This Source Code Form is subject to the terms of the Mozilla Public
michael@0 3 * License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
michael@0 5
michael@0 6 #include "nsUrlClassifierProxies.h"
michael@0 7 #include "nsUrlClassifierDBService.h"
michael@0 8
michael@0 9 using namespace mozilla::safebrowsing;
michael@0 10
michael@0 11 static nsresult
michael@0 12 DispatchToWorkerThread(nsIRunnable* r)
michael@0 13 {
michael@0 14 nsIThread* t = nsUrlClassifierDBService::BackgroundThread();
michael@0 15 if (!t)
michael@0 16 return NS_ERROR_FAILURE;
michael@0 17
michael@0 18 return t->Dispatch(r, NS_DISPATCH_NORMAL);
michael@0 19 }
michael@0 20
michael@0 21 NS_IMPL_ISUPPORTS(UrlClassifierDBServiceWorkerProxy,
michael@0 22 nsIUrlClassifierDBServiceWorker)
michael@0 23
michael@0 24 NS_IMETHODIMP
michael@0 25 UrlClassifierDBServiceWorkerProxy::Lookup(nsIPrincipal* aPrincipal,
michael@0 26 const nsACString& aTables,
michael@0 27 nsIUrlClassifierCallback* aCB)
michael@0 28 {
michael@0 29 nsCOMPtr<nsIRunnable> r = new LookupRunnable(mTarget, aPrincipal, aTables,
michael@0 30 aCB);
michael@0 31 return DispatchToWorkerThread(r);
michael@0 32 }
michael@0 33
michael@0 34 NS_IMETHODIMP
michael@0 35 UrlClassifierDBServiceWorkerProxy::LookupRunnable::Run()
michael@0 36 {
michael@0 37 (void) mTarget->Lookup(mPrincipal, mLookupTables, mCB);
michael@0 38 return NS_OK;
michael@0 39 }
michael@0 40
michael@0 41 NS_IMETHODIMP
michael@0 42 UrlClassifierDBServiceWorkerProxy::GetTables(nsIUrlClassifierCallback* aCB)
michael@0 43 {
michael@0 44 nsCOMPtr<nsIRunnable> r = new GetTablesRunnable(mTarget, aCB);
michael@0 45 return DispatchToWorkerThread(r);
michael@0 46 }
michael@0 47
michael@0 48 NS_IMETHODIMP
michael@0 49 UrlClassifierDBServiceWorkerProxy::GetTablesRunnable::Run()
michael@0 50 {
michael@0 51 mTarget->GetTables(mCB);
michael@0 52 return NS_OK;
michael@0 53 }
michael@0 54
michael@0 55 NS_IMETHODIMP
michael@0 56 UrlClassifierDBServiceWorkerProxy::SetHashCompleter
michael@0 57 (const nsACString&, nsIUrlClassifierHashCompleter*)
michael@0 58 {
michael@0 59 NS_NOTREACHED("This method should not be called!");
michael@0 60 return NS_ERROR_NOT_IMPLEMENTED;
michael@0 61 }
michael@0 62
michael@0 63 NS_IMETHODIMP
michael@0 64 UrlClassifierDBServiceWorkerProxy::BeginUpdate
michael@0 65 (nsIUrlClassifierUpdateObserver* aUpdater,
michael@0 66 const nsACString& aTables)
michael@0 67 {
michael@0 68 nsCOMPtr<nsIRunnable> r = new BeginUpdateRunnable(mTarget, aUpdater,
michael@0 69 aTables);
michael@0 70 return DispatchToWorkerThread(r);
michael@0 71 }
michael@0 72
michael@0 73 NS_IMETHODIMP
michael@0 74 UrlClassifierDBServiceWorkerProxy::BeginUpdateRunnable::Run()
michael@0 75 {
michael@0 76 mTarget->BeginUpdate(mUpdater, mTables);
michael@0 77 return NS_OK;
michael@0 78 }
michael@0 79
michael@0 80 NS_IMETHODIMP
michael@0 81 UrlClassifierDBServiceWorkerProxy::BeginStream(const nsACString& aTable)
michael@0 82 {
michael@0 83 nsCOMPtr<nsIRunnable> r =
michael@0 84 new BeginStreamRunnable(mTarget, aTable);
michael@0 85 return DispatchToWorkerThread(r);
michael@0 86 }
michael@0 87
michael@0 88 NS_IMETHODIMP
michael@0 89 UrlClassifierDBServiceWorkerProxy::BeginStreamRunnable::Run()
michael@0 90 {
michael@0 91 mTarget->BeginStream(mTable);
michael@0 92 return NS_OK;
michael@0 93 }
michael@0 94
michael@0 95 NS_IMETHODIMP
michael@0 96 UrlClassifierDBServiceWorkerProxy::UpdateStream(const nsACString& aUpdateChunk)
michael@0 97 {
michael@0 98 nsCOMPtr<nsIRunnable> r =
michael@0 99 new UpdateStreamRunnable(mTarget, aUpdateChunk);
michael@0 100 return DispatchToWorkerThread(r);
michael@0 101 }
michael@0 102
michael@0 103 NS_IMETHODIMP
michael@0 104 UrlClassifierDBServiceWorkerProxy::UpdateStreamRunnable::Run()
michael@0 105 {
michael@0 106 mTarget->UpdateStream(mUpdateChunk);
michael@0 107 return NS_OK;
michael@0 108 }
michael@0 109
michael@0 110 NS_IMETHODIMP
michael@0 111 UrlClassifierDBServiceWorkerProxy::FinishStream()
michael@0 112 {
michael@0 113 nsCOMPtr<nsIRunnable> r =
michael@0 114 NS_NewRunnableMethod(mTarget,
michael@0 115 &nsIUrlClassifierDBServiceWorker::FinishStream);
michael@0 116 return DispatchToWorkerThread(r);
michael@0 117 }
michael@0 118
michael@0 119 NS_IMETHODIMP
michael@0 120 UrlClassifierDBServiceWorkerProxy::FinishUpdate()
michael@0 121 {
michael@0 122 nsCOMPtr<nsIRunnable> r =
michael@0 123 NS_NewRunnableMethod(mTarget,
michael@0 124 &nsIUrlClassifierDBServiceWorker::FinishUpdate);
michael@0 125 return DispatchToWorkerThread(r);
michael@0 126 }
michael@0 127
michael@0 128 NS_IMETHODIMP
michael@0 129 UrlClassifierDBServiceWorkerProxy::CancelUpdate()
michael@0 130 {
michael@0 131 nsCOMPtr<nsIRunnable> r =
michael@0 132 NS_NewRunnableMethod(mTarget,
michael@0 133 &nsIUrlClassifierDBServiceWorker::CancelUpdate);
michael@0 134 return DispatchToWorkerThread(r);
michael@0 135 }
michael@0 136
michael@0 137 NS_IMETHODIMP
michael@0 138 UrlClassifierDBServiceWorkerProxy::ResetDatabase()
michael@0 139 {
michael@0 140 nsCOMPtr<nsIRunnable> r =
michael@0 141 NS_NewRunnableMethod(mTarget,
michael@0 142 &nsIUrlClassifierDBServiceWorker::ResetDatabase);
michael@0 143 return DispatchToWorkerThread(r);
michael@0 144 }
michael@0 145
michael@0 146 NS_IMETHODIMP
michael@0 147 UrlClassifierDBServiceWorkerProxy::CloseDb()
michael@0 148 {
michael@0 149 nsCOMPtr<nsIRunnable> r =
michael@0 150 NS_NewRunnableMethod(mTarget,
michael@0 151 &nsIUrlClassifierDBServiceWorker::CloseDb);
michael@0 152 return DispatchToWorkerThread(r);
michael@0 153 }
michael@0 154
michael@0 155 NS_IMETHODIMP
michael@0 156 UrlClassifierDBServiceWorkerProxy::CacheCompletions(CacheResultArray * aEntries)
michael@0 157 {
michael@0 158 nsCOMPtr<nsIRunnable> r = new CacheCompletionsRunnable(mTarget, aEntries);
michael@0 159 return DispatchToWorkerThread(r);
michael@0 160 }
michael@0 161
michael@0 162 NS_IMETHODIMP
michael@0 163 UrlClassifierDBServiceWorkerProxy::CacheCompletionsRunnable::Run()
michael@0 164 {
michael@0 165 mTarget->CacheCompletions(mEntries);
michael@0 166 return NS_OK;
michael@0 167 }
michael@0 168
michael@0 169 NS_IMETHODIMP
michael@0 170 UrlClassifierDBServiceWorkerProxy::CacheMisses(PrefixArray * aEntries)
michael@0 171 {
michael@0 172 nsCOMPtr<nsIRunnable> r = new CacheMissesRunnable(mTarget, aEntries);
michael@0 173 return DispatchToWorkerThread(r);
michael@0 174 }
michael@0 175
michael@0 176 NS_IMETHODIMP
michael@0 177 UrlClassifierDBServiceWorkerProxy::CacheMissesRunnable::Run()
michael@0 178 {
michael@0 179 mTarget->CacheMisses(mEntries);
michael@0 180 return NS_OK;
michael@0 181 }
michael@0 182
michael@0 183
michael@0 184 NS_IMPL_ISUPPORTS(UrlClassifierLookupCallbackProxy,
michael@0 185 nsIUrlClassifierLookupCallback)
michael@0 186
michael@0 187 NS_IMETHODIMP
michael@0 188 UrlClassifierLookupCallbackProxy::LookupComplete
michael@0 189 (LookupResultArray * aResults)
michael@0 190 {
michael@0 191 nsCOMPtr<nsIRunnable> r = new LookupCompleteRunnable(mTarget, aResults);
michael@0 192 return NS_DispatchToMainThread(r);
michael@0 193 }
michael@0 194
michael@0 195 NS_IMETHODIMP
michael@0 196 UrlClassifierLookupCallbackProxy::LookupCompleteRunnable::Run()
michael@0 197 {
michael@0 198 mTarget->LookupComplete(mResults);
michael@0 199 return NS_OK;
michael@0 200 }
michael@0 201
michael@0 202 NS_IMPL_ISUPPORTS(UrlClassifierCallbackProxy,
michael@0 203 nsIUrlClassifierCallback)
michael@0 204
michael@0 205 NS_IMETHODIMP
michael@0 206 UrlClassifierCallbackProxy::HandleEvent(const nsACString& aValue)
michael@0 207 {
michael@0 208 nsCOMPtr<nsIRunnable> r = new HandleEventRunnable(mTarget, aValue);
michael@0 209 return NS_DispatchToMainThread(r);
michael@0 210 }
michael@0 211
michael@0 212 NS_IMETHODIMP
michael@0 213 UrlClassifierCallbackProxy::HandleEventRunnable::Run()
michael@0 214 {
michael@0 215 mTarget->HandleEvent(mValue);
michael@0 216 return NS_OK;
michael@0 217 }
michael@0 218
michael@0 219 NS_IMPL_ISUPPORTS(UrlClassifierUpdateObserverProxy,
michael@0 220 nsIUrlClassifierUpdateObserver)
michael@0 221
michael@0 222 NS_IMETHODIMP
michael@0 223 UrlClassifierUpdateObserverProxy::UpdateUrlRequested
michael@0 224 (const nsACString& aURL,
michael@0 225 const nsACString& aTable)
michael@0 226 {
michael@0 227 nsCOMPtr<nsIRunnable> r =
michael@0 228 new UpdateUrlRequestedRunnable(mTarget, aURL, aTable);
michael@0 229 return NS_DispatchToMainThread(r);
michael@0 230 }
michael@0 231
michael@0 232 NS_IMETHODIMP
michael@0 233 UrlClassifierUpdateObserverProxy::UpdateUrlRequestedRunnable::Run()
michael@0 234 {
michael@0 235 mTarget->UpdateUrlRequested(mURL, mTable);
michael@0 236 return NS_OK;
michael@0 237 }
michael@0 238
michael@0 239 NS_IMETHODIMP
michael@0 240 UrlClassifierUpdateObserverProxy::StreamFinished(nsresult aStatus,
michael@0 241 uint32_t aDelay)
michael@0 242 {
michael@0 243 nsCOMPtr<nsIRunnable> r =
michael@0 244 new StreamFinishedRunnable(mTarget, aStatus, aDelay);
michael@0 245 return NS_DispatchToMainThread(r);
michael@0 246 }
michael@0 247
michael@0 248 NS_IMETHODIMP
michael@0 249 UrlClassifierUpdateObserverProxy::StreamFinishedRunnable::Run()
michael@0 250 {
michael@0 251 mTarget->StreamFinished(mStatus, mDelay);
michael@0 252 return NS_OK;
michael@0 253 }
michael@0 254
michael@0 255 NS_IMETHODIMP
michael@0 256 UrlClassifierUpdateObserverProxy::UpdateError(nsresult aError)
michael@0 257 {
michael@0 258 nsCOMPtr<nsIRunnable> r =
michael@0 259 new UpdateErrorRunnable(mTarget, aError);
michael@0 260 return NS_DispatchToMainThread(r);
michael@0 261 }
michael@0 262
michael@0 263 NS_IMETHODIMP
michael@0 264 UrlClassifierUpdateObserverProxy::UpdateErrorRunnable::Run()
michael@0 265 {
michael@0 266 mTarget->UpdateError(mError);
michael@0 267 return NS_OK;
michael@0 268 }
michael@0 269
michael@0 270 NS_IMETHODIMP
michael@0 271 UrlClassifierUpdateObserverProxy::UpdateSuccess(uint32_t aRequestedTimeout)
michael@0 272 {
michael@0 273 nsCOMPtr<nsIRunnable> r =
michael@0 274 new UpdateSuccessRunnable(mTarget, aRequestedTimeout);
michael@0 275 return NS_DispatchToMainThread(r);
michael@0 276 }
michael@0 277
michael@0 278 NS_IMETHODIMP
michael@0 279 UrlClassifierUpdateObserverProxy::UpdateSuccessRunnable::Run()
michael@0 280 {
michael@0 281 mTarget->UpdateSuccess(mRequestedTimeout);
michael@0 282 return NS_OK;
michael@0 283 }

mercurial