summaryrefslogtreecommitdiff
path: root/chromium/components/speech/upstream_loader_client.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/speech/upstream_loader_client.h')
-rw-r--r--chromium/components/speech/upstream_loader_client.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/chromium/components/speech/upstream_loader_client.h b/chromium/components/speech/upstream_loader_client.h
new file mode 100644
index 00000000000..dcc51f7358d
--- /dev/null
+++ b/chromium/components/speech/upstream_loader_client.h
@@ -0,0 +1,34 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef COMPONENTS_SPEECH_UPSTREAM_LOADER_CLIENT_H_
+#define COMPONENTS_SPEECH_UPSTREAM_LOADER_CLIENT_H_
+
+namespace speech {
+
+// An interface containing the callback functions required by consumers
+// of the UpstreamLoader. The class that implements this client
+// interface must outlive the UpstreamLoader.
+class UpstreamLoaderClient {
+ public:
+ UpstreamLoaderClient(const UpstreamLoaderClient&) = delete;
+ UpstreamLoaderClient& operator=(const UpstreamLoaderClient&) = delete;
+
+ protected:
+ UpstreamLoaderClient() = default;
+ virtual ~UpstreamLoaderClient() = default;
+
+ private:
+ friend class UpstreamLoader;
+
+ // Executed when upstream data is completed.
+ // success: True on 2xx responses.
+ // response_code: The HTTP response code if available, or -1 on
+ // network errors.
+ virtual void OnUpstreamDataComplete(bool success, int response_code) = 0;
+};
+
+} // namespace speech
+
+#endif // COMPONENTS_SPEECH_UPSTREAM_LOADER_CLIENT_H_