Rename SimpleOutputStream and SimpleOutputStreamAdapter.

PiperOrigin-RevId: 268196433
diff --git a/python/cc/BUILD.bazel b/python/cc/BUILD.bazel
index 14bb783..183e934 100644
--- a/python/cc/BUILD.bazel
+++ b/python/cc/BUILD.bazel
@@ -16,8 +16,8 @@
 )
 
 cc_library(
-    name = "simple_output_stream",
-    hdrs = ["simple_output_stream.h"],
+    name = "python_file_object_adapter",
+    hdrs = ["python_file_object_adapter.h"],
     include_prefix = "tink/python",
     strip_include_prefix = "/python",
     deps = [
@@ -28,13 +28,13 @@
 )
 
 cc_library(
-    name = "simple_output_stream_adapter",
-    srcs = ["simple_output_stream_adapter.cc"],
-    hdrs = ["simple_output_stream_adapter.h"],
+    name = "python_output_stream",
+    srcs = ["python_output_stream.cc"],
+    hdrs = ["python_output_stream.h"],
     include_prefix = "tink/python",
     strip_include_prefix = "/python",
     deps = [
-        ":simple_output_stream",
+        ":python_file_object_adapter",
         "//cc:output_stream",
         "//cc/subtle:subtle_util",
         "//cc/util:errors",
@@ -47,13 +47,13 @@
 )
 
 cc_test(
-    name = "simple_output_stream_adapter_test",
+    name = "python_output_stream_test",
     size = "medium",
-    srcs = ["simple_output_stream_adapter_test.cc"],
+    srcs = ["python_output_stream_test.cc"],
     linkopts = ["-lpthread"],
     deps = [
-        ":simple_output_stream",
-        ":simple_output_stream_adapter",
+        ":python_file_object_adapter",
+        ":python_output_stream",
         "//cc/subtle:random",
         "//cc/util:status",
         "//cc/util:statusor",
diff --git a/python/cc/clif/simple_output_stream.clif b/python/cc/clif/python_file_object_adapter.clif
similarity index 84%
rename from python/cc/clif/simple_output_stream.clif
rename to python/cc/clif/python_file_object_adapter.clif
index 287e14d..2ded31c 100644
--- a/python/cc/clif/simple_output_stream.clif
+++ b/python/cc/clif/python_file_object_adapter.clif
@@ -12,14 +12,11 @@
 
 from "tink/python/util/clif.h" import *  # Status, StatusOr
 
-from "tink/python/cc/simple_output_stream.h":
+from "tink/python/cc/python_file_object_adapter.h":
   namespace `crypto::tink`:
-    class SimpleOutputStream:
+    class PythonFileObjectAdapter:
       @virtual
       def `Write` as write(self, data: bytes) -> StatusOr<int>
 
       @virtual
       def `Close` as close(self) -> Status
-
-      @virtual
-      def `Position` as position(self) -> int
diff --git a/python/cc/simple_output_stream.h b/python/cc/python_file_object_adapter.h
similarity index 72%
rename from python/cc/simple_output_stream.h
rename to python/cc/python_file_object_adapter.h
index 80db68d..342e05e 100644
--- a/python/cc/simple_output_stream.h
+++ b/python/cc/python_file_object_adapter.h
@@ -12,8 +12,8 @@
 //
 ///////////////////////////////////////////////////////////////////////////////
 
-#ifndef TINK_PYTHON_CC_SIMPLE_OUTPUT_STREAM_H_
-#define TINK_PYTHON_CC_SIMPLE_OUTPUT_STREAM_H_
+#ifndef TINK_PYTHON_CC_PYTHON_FILE_OBJECT_ADAPTER_H_
+#define TINK_PYTHON_CC_PYTHON_FILE_OBJECT_ADAPTER_H_
 
 #include "absl/strings/string_view.h"
 #include "tink/util/status.h"
@@ -22,9 +22,9 @@
 namespace crypto {
 namespace tink {
 
-// A simple interface for an output stream like object which can be used to go
-// from Python to C++ via CLIF and vice versa.
-class SimpleOutputStream {
+// Adapts a Python file object for use in C++.
+// This is CLIFed and implemented in Python.
+class PythonFileObjectAdapter {
  public:
   // Writes 'data' to the underlying stream and returns the number of bytes
   // written, which can be less than the size of 'data'.
@@ -33,13 +33,10 @@
   // Closes the underlying stream.
   virtual util::Status Close() = 0;
 
-  // Returns the total number of bytes written.
-  virtual int64_t Position() const = 0;
-
-  virtual ~SimpleOutputStream() {}
+  virtual ~PythonFileObjectAdapter() {}
 };
 
 }  // namespace tink
 }  // namespace crypto
 
-#endif  // TINK_PYTHON_CC_SIMPLE_OUTPUT_STREAM_H_
+#endif  // TINK_PYTHON_CC_PYTHON_FILE_OBJECT_ADAPTER_H_
diff --git a/python/cc/simple_output_stream_adapter.cc b/python/cc/python_output_stream.cc
similarity index 81%
rename from python/cc/simple_output_stream_adapter.cc
rename to python/cc/python_output_stream.cc
index 4c21fc3..23449df 100644
--- a/python/cc/simple_output_stream_adapter.cc
+++ b/python/cc/python_output_stream.cc
@@ -12,7 +12,7 @@
 //
 ///////////////////////////////////////////////////////////////////////////////
 
-#include "tink/python/cc/simple_output_stream_adapter.h"
+#include "tink/python/cc/python_output_stream.h"
 
 #include <algorithm>
 #include <memory>
@@ -24,15 +24,15 @@
 #include "tink/util/errors.h"
 #include "tink/util/status.h"
 #include "tink/util/statusor.h"
-#include "tink/python/cc/simple_output_stream.h"
+#include "tink/python/cc/python_file_object_adapter.h"
 
 namespace crypto {
 namespace tink {
 
-SimpleOutputStreamAdapter::SimpleOutputStreamAdapter(
-    std::unique_ptr<SimpleOutputStream> stream, int buffer_size) {
+PythonOutputStream::PythonOutputStream(
+    std::unique_ptr<PythonFileObjectAdapter> adapter, int buffer_size) {
   if (buffer_size <= 0) buffer_size = 128 * 1024;  // 128 KB
-  stream_ = std::move(stream);
+  adapter_ = std::move(adapter);
   subtle::ResizeStringUninitialized(&buffer_, buffer_size);
   is_first_call_ = true;
   position_ = 0;
@@ -41,7 +41,7 @@
   status_ = util::OkStatus();
 }
 
-crypto::tink::util::StatusOr<int> SimpleOutputStreamAdapter::Next(void** data) {
+crypto::tink::util::StatusOr<int> PythonOutputStream::Next(void** data) {
   if (!status_.ok()) return status_;
 
   // This is the first call to Next(), so we return the whole buffer.
@@ -67,7 +67,7 @@
   // The available space might not span the entire buffer, as writing
   // may succeed only for a prefix of the buffer -- in this case the data still
   // to be written is shifted in the buffer and the remaining space is returned.
-  auto write_result = stream_->Write(buffer_);
+  auto write_result = adapter_->Write(buffer_);
   if (!write_result.ok()) return status_ = write_result.status();
 
   // Some data was written, so we can return some portion of buffer_.
@@ -84,36 +84,34 @@
   return written;
 }
 
-void SimpleOutputStreamAdapter::BackUp(int count) {
+void PythonOutputStream::BackUp(int count) {
   if (!status_.ok() || count < 1 || count_in_buffer_ == 0) return;
   int actual_count = std::min(count, count_in_buffer_ - buffer_offset_);
   count_in_buffer_ -= actual_count;
   position_ -= actual_count;
 }
 
-SimpleOutputStreamAdapter::~SimpleOutputStreamAdapter() {
-  Close().IgnoreError();
-}
+PythonOutputStream::~PythonOutputStream() { Close().IgnoreError(); }
 
-util::Status SimpleOutputStreamAdapter::Close() {
+util::Status PythonOutputStream::Close() {
   if (!status_.ok()) return status_;
   if (count_in_buffer_ > 0) {
     // Try to write the remaining bytes.
     int written = 0;
     while (written < count_in_buffer_) {
-      auto write_result = stream_->Write(absl::string_view(buffer_).substr(
+      auto write_result = adapter_->Write(absl::string_view(buffer_).substr(
           written, count_in_buffer_ - written));
       if (!write_result.ok()) return write_result.status();
       written += write_result.ValueOrDie();
     }
   }
-  status_ = stream_->Close();
+  status_ = adapter_->Close();
   if (!status_.ok()) return status_;
   status_ = util::Status(util::error::FAILED_PRECONDITION, "Stream closed");
   return util::OkStatus();
 }
 
-int64_t SimpleOutputStreamAdapter::Position() const { return position_; }
+int64_t PythonOutputStream::Position() const { return position_; }
 
 }  // namespace tink
 }  // namespace crypto
diff --git a/python/cc/simple_output_stream_adapter.h b/python/cc/python_output_stream.h
similarity index 67%
rename from python/cc/simple_output_stream_adapter.h
rename to python/cc/python_output_stream.h
index 1d73f22..f289ddb 100644
--- a/python/cc/simple_output_stream_adapter.h
+++ b/python/cc/python_output_stream.h
@@ -12,29 +12,29 @@
 //
 ///////////////////////////////////////////////////////////////////////////////
 
-#ifndef TINK_PYTHON_CC_SIMPLE_OUTPUT_STREAM_ADAPTER_H_
-#define TINK_PYTHON_CC_SIMPLE_OUTPUT_STREAM_ADAPTER_H_
+#ifndef TINK_PYTHON_CC_PYTHON_OUTPUT_STREAM_H_
+#define TINK_PYTHON_CC_PYTHON_OUTPUT_STREAM_H_
 
 #include <memory>
 
 #include "tink/output_stream.h"
 #include "tink/util/status.h"
 #include "tink/util/statusor.h"
-#include "tink/python/cc/simple_output_stream.h"
+#include "tink/python/cc/python_file_object_adapter.h"
 
 namespace crypto {
 namespace tink {
 
-// An OutputStream that writes to a SimpleOutputStream.
-class SimpleOutputStreamAdapter : public crypto::tink::OutputStream {
+// An OutputStream that writes to a PythonFileObjectAdapter.
+class PythonOutputStream : public OutputStream {
  public:
-  // Constructs an OutputStream that will write to the SimpleOutputStream
-  // specified via 'stream', using a buffer of the specified size, if any
+  // Constructs an OutputStream that will write to the PythonFileObjectAdapter
+  // specified via 'adapter', using a buffer of the specified size, if any
   // (if 'buffer_size' <= 0, a reasonable default will be used).
-  explicit SimpleOutputStreamAdapter(std::unique_ptr<SimpleOutputStream> stream,
-                                     int buffer_size = 0);
+  explicit PythonOutputStream(std::unique_ptr<PythonFileObjectAdapter> adapter,
+                              int buffer_size = 0);
 
-  ~SimpleOutputStreamAdapter() override;
+  ~PythonOutputStream() override;
 
   crypto::tink::util::StatusOr<int> Next(void** data) override;
 
@@ -46,7 +46,7 @@
 
  private:
   util::Status status_;
-  std::unique_ptr<SimpleOutputStream> stream_;
+  std::unique_ptr<PythonFileObjectAdapter> adapter_;
   std::string buffer_;
   bool is_first_call_;
   int64_t position_;  // current position in the underlying stream (from the
@@ -60,4 +60,4 @@
 }  // namespace tink
 }  // namespace crypto
 
-#endif  // TINK_PYTHON_CC_SIMPLE_OUTPUT_STREAM_ADAPTER_H_
+#endif  // TINK_PYTHON_CC_PYTHON_OUTPUT_STREAM_H_
diff --git a/python/cc/simple_output_stream_adapter_test.cc b/python/cc/python_output_stream_test.cc
similarity index 87%
rename from python/cc/simple_output_stream_adapter_test.cc
rename to python/cc/python_output_stream_test.cc
index b2e5efc..6ac4a3e 100644
--- a/python/cc/simple_output_stream_adapter_test.cc
+++ b/python/cc/python_output_stream_test.cc
@@ -12,7 +12,7 @@
 //
 ///////////////////////////////////////////////////////////////////////////////
 
-#include "tink/python/cc/simple_output_stream_adapter.h"
+#include "tink/python/cc/python_output_stream.h"
 
 #include <memory>
 
@@ -23,14 +23,14 @@
 #include "tink/subtle/random.h"
 #include "tink/util/status.h"
 #include "tink/util/statusor.h"
-#include "tink/python/cc/simple_output_stream.h"
+#include "tink/python/cc/python_file_object_adapter.h"
 
 namespace crypto {
 namespace tink {
 namespace {
 
-// SimpleOutputStream for testing.
-class TestSimpleOutputStream : public SimpleOutputStream {
+// PythonFileObjectAdapter for testing.
+class TestPythonFileObjectAdapter : public PythonFileObjectAdapter {
  public:
   util::StatusOr<int> Write(absl::string_view data) override {
     buffer_ += std::string(data);
@@ -39,8 +39,6 @@
 
   util::Status Close() override { return util::OkStatus(); }
 
-  int64_t Position() const override { return buffer_.size(); }
-
   std::string* GetBuffer() { return &buffer_; }
 
  private:
@@ -50,7 +48,7 @@
 // Writes 'contents' to the specified 'output_stream', and closes the stream.
 // Returns the status of output_stream->Close()-operation, or a non-OK status
 // of a prior output_stream->Next()-operation, if any.
-util::Status WriteToStream(SimpleOutputStreamAdapter* output_stream,
+util::Status WriteToStream(PythonOutputStream* output_stream,
                            absl::string_view contents) {
   void* buffer;
   int pos = 0;
@@ -72,14 +70,14 @@
   return output_stream->Close();
 }
 
-TEST(SimpleOutputStreamAdapterTest, WritingStreams) {
+TEST(PythonOutputStreamTest, WritingStreams) {
   for (size_t stream_size : {0, 10, 100, 1000, 10000, 100000, 1000000}) {
     SCOPED_TRACE(absl::StrCat("stream_size = ", stream_size));
     std::string stream_contents = subtle::Random::GetRandomBytes(stream_size);
-    auto output = absl::make_unique<TestSimpleOutputStream>();
+    auto output = absl::make_unique<TestPythonFileObjectAdapter>();
     std::string* output_buffer = output->GetBuffer();
     auto output_stream =
-        absl::make_unique<SimpleOutputStreamAdapter>(std::move(output));
+        absl::make_unique<PythonOutputStream>(std::move(output));
     auto status = WriteToStream(output_stream.get(), stream_contents);
     EXPECT_TRUE(status.ok()) << status;
     EXPECT_EQ(stream_size, output_buffer->size());
@@ -87,15 +85,15 @@
   }
 }
 
-TEST(SimpleOutputStreamAdapterTest, CustomBufferSizes) {
+TEST(PythonOutputStreamTest, CustomBufferSizes) {
   int stream_size = 1024 * 1024;
   std::string stream_contents = subtle::Random::GetRandomBytes(stream_size);
   for (int buffer_size : {1, 10, 100, 1000, 10000, 100000, 1000000}) {
     SCOPED_TRACE(absl::StrCat("buffer_size = ", buffer_size));
-    auto output = absl::make_unique<TestSimpleOutputStream>();
+    auto output = absl::make_unique<TestPythonFileObjectAdapter>();
     std::string* output_buffer = output->GetBuffer();
-    auto output_stream = absl::make_unique<SimpleOutputStreamAdapter>(
-        std::move(output), buffer_size);
+    auto output_stream =
+        absl::make_unique<PythonOutputStream>(std::move(output), buffer_size);
     void* buffer;
     auto next_result = output_stream->Next(&buffer);
     EXPECT_TRUE(next_result.ok()) << next_result.status();
@@ -108,17 +106,17 @@
   }
 }
 
-TEST(SimpleOutputStreamAdapterTest, BackupAndPosition) {
+TEST(PythonOutputStreamTest, BackupAndPosition) {
   int stream_size = 1024 * 1024;
   int buffer_size = 1234;
   void* buffer;
   std::string stream_contents = subtle::Random::GetRandomBytes(stream_size);
-  auto output = absl::make_unique<TestSimpleOutputStream>();
+  auto output = absl::make_unique<TestPythonFileObjectAdapter>();
   std::string* output_buffer = output->GetBuffer();
 
   // Prepare the stream and do the first call to Next().
-  auto output_stream = absl::make_unique<SimpleOutputStreamAdapter>(
-      std::move(output), buffer_size);
+  auto output_stream =
+      absl::make_unique<PythonOutputStream>(std::move(output), buffer_size);
   EXPECT_EQ(0, output_stream->Position());
   auto next_result = output_stream->Next(&buffer);
   EXPECT_TRUE(next_result.ok()) << next_result.status();
diff --git a/python/util/file_object_adapter.py b/python/util/file_object_adapter.py
index 88b8c18..47461e5 100644
--- a/python/util/file_object_adapter.py
+++ b/python/util/file_object_adapter.py
@@ -11,8 +11,8 @@
 # limitations under the License.
 """FileObjectAdapter class.
 
-Used in conjunction with SimpleOutputStreamAdapter to allow a C++ OutputStream
-to write to a Python file-like objects.
+Used in conjunction with PythonOutputStream to allow a C++ OutputStream
+to write to a Python file-like object.
 """
 
 from __future__ import absolute_import
@@ -23,11 +23,11 @@
 import io
 from typing import BinaryIO
 
-from tink.python.cc.clif import simple_output_stream
+from tink.python.cc.clif import python_file_object_adapter
 
 
-class FileObjectAdapter(simple_output_stream.SimpleOutputStream):
-  """Wraps a Python file object to SimpleOutputStream for use in C++."""
+class FileObjectAdapter(python_file_object_adapter.PythonFileObjectAdapter):
+  """Adapts a Python file object for use in C++."""
 
   def __init__(self, file_object: BinaryIO):
     if not file_object.writable():
@@ -44,6 +44,3 @@
 
   def close(self) -> None:
     self._file_object.close()
-
-  def position(self) -> int:
-    return self._file_object.tell()
diff --git a/python/util/file_object_adapter_test.py b/python/util/file_object_adapter_test.py
index e49a053..15ff5c3 100644
--- a/python/util/file_object_adapter_test.py
+++ b/python/util/file_object_adapter_test.py
@@ -28,7 +28,6 @@
     file_object = io.BytesIO()
     adapter = file_object_adapter.FileObjectAdapter(file_object)
     self.assertEqual(9, adapter.write(b'something'))
-    self.assertEqual(9, adapter.position())
     self.assertEqual(b'something', file_object.getvalue())
     adapter.close()
 
@@ -47,16 +46,6 @@
     adapter.close()
     self.assertRaises(ValueError, adapter.write, b'something')
 
-  def test_position(self):
-    file_object = io.BytesIO()
-    adapter = file_object_adapter.FileObjectAdapter(file_object)
-    self.assertEqual(0, adapter.position())
-    self.assertEqual(9, adapter.write(b'something'))
-    self.assertEqual(9, adapter.position())
-    self.assertEqual(3, adapter.write(b'123'))
-    self.assertEqual(12, adapter.position())
-    adapter.close()
-
   def test_non_writable(self):
     file_object = mock.Mock()
     file_object.writable = mock.Mock(return_value=False)