diff options
Diffstat (limited to 'chromium/components/speech/downstream_loader_client.h')
-rw-r--r-- | chromium/components/speech/downstream_loader_client.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/chromium/components/speech/downstream_loader_client.h b/chromium/components/speech/downstream_loader_client.h new file mode 100644 index 00000000000..3b0e07889b5 --- /dev/null +++ b/chromium/components/speech/downstream_loader_client.h @@ -0,0 +1,40 @@ +// 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_DOWNSTREAM_LOADER_CLIENT_H_ +#define COMPONENTS_SPEECH_DOWNSTREAM_LOADER_CLIENT_H_ + +#include "base/strings/string_piece.h" + +namespace speech { + +// An interface containing the callback functions required by consumers +// of the DownstreamLoader. The class that implements this client +// interface must outlive the DownstreamLoader. +class DownstreamLoaderClient { + public: + DownstreamLoaderClient(const DownstreamLoaderClient&) = delete; + DownstreamLoaderClient& operator=(const DownstreamLoaderClient&) = delete; + + protected: + DownstreamLoaderClient() = default; + virtual ~DownstreamLoaderClient() = default; + + private: + friend class DownstreamLoader; + + // Executed when downstream data is received. + virtual void OnDownstreamDataReceived( + base::StringPiece new_response_data) = 0; + + // Executed when downstream data is completed. + // success: True on 2xx responses where the entire body was successfully + // received. response_code: The HTTP response code if available, or -1 on + // network errors. + virtual void OnDownstreamDataComplete(bool success, int response_code) = 0; +}; + +} // namespace speech + +#endif // COMPONENTS_SPEECH_DOWNSTREAM_LOADER_CLIENT_H_ |