diff --git a/ci/abi-dumps/google_cloud_cpp_storage.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_storage.expected.abi.dump.gz index fb09695e3244b..ae451d400e8ea 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_storage.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_storage.expected.abi.dump.gz differ diff --git a/ci/abi-dumps/google_cloud_cpp_storage_grpc.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_storage_grpc.expected.abi.dump.gz index b2a7317b27a8d..316542011311d 100644 Binary files a/ci/abi-dumps/google_cloud_cpp_storage_grpc.expected.abi.dump.gz and b/ci/abi-dumps/google_cloud_cpp_storage_grpc.expected.abi.dump.gz differ diff --git a/doc/v3-migration-guide.md b/doc/v3-migration-guide.md index dd860d9473b9c..54e28de2c4661 100644 --- a/doc/v3-migration-guide.md +++ b/doc/v3-migration-guide.md @@ -555,6 +555,71 @@ void CreateClient() { +
+Removed Client(Connection, NoDecorations) constructor + +The `Client` constructor that accepted a `StorageConnection` and the +`NoDecorations` tag has been removed. This was intended only for test code. + +**Before:** + +```cpp +#include "google/cloud/storage/client.h" +#include "google/cloud/storage/testing/mock_storage_connection.h" + +void TestClient() { + auto mock = std::make_shared(); + // ... + auto client = google::cloud::storage::Client( + mock, google::cloud::storage::Client::NoDecorations{}); +} +``` + +**After:** + +```cpp +#include "google/cloud/storage/client.h" +#include "google/cloud/storage/testing/mock_storage_connection.h" + +void TestClient() { + auto mock = std::make_shared(); + // ... + auto client = google::cloud::storage::internal::ClientImplDetails::CreateWithoutDecorations(mock); +} +``` + +
+ +
+Removed Client::raw_client() + +The `Client::raw_client()` method has been removed. This was intended only for +internal use or testing. If you need access to the underlying connection for +testing purposes, use `google::cloud::storage::internal::ClientImplDetails`. + +**Before:** + +```cpp +#include "google/cloud/storage/client.h" + +void UseRawClient(google::cloud::storage::Client client) { + auto connection = client.raw_client(); +} +``` + +**After:** + +```cpp +#include "google/cloud/storage/client.h" + +void UseRawClient(google::cloud::storage::Client client) { + auto connection = + google::cloud::storage::internal::ClientImplDetails::GetConnection(client); +} +``` + +
+ ### IAM
diff --git a/google/cloud/storage/client.h b/google/cloud/storage/client.h index a6f9ee70a2d50..6c8b8ec463d6f 100644 --- a/google/cloud/storage/client.h +++ b/google/cloud/storage/client.h @@ -3441,27 +3441,6 @@ class Client { /// Define a tag to disable automatic decorations of the StorageConnection. struct NoDecorations {}; - /// Builds a client with a specific StorageConnection, without decorations. - /// @deprecated This was intended only for test code, applications should not - /// use it. - GOOGLE_CLOUD_CPP_DEPRECATED( - "applications should not need this." - " Please file a bug at https://github.com/googleapis/google-cloud-cpp" - " if you do.") - explicit Client(std::shared_ptr connection, - NoDecorations) - : Client(InternalOnlyNoDecorations{}, std::move(connection)) {} - - /// Access the underlying `StorageConnection`. - /// @deprecated Only intended for implementors, do not use. - GOOGLE_CLOUD_CPP_DEPRECATED( - "applications should not need this." - " Please file a bug at https://github.com/googleapis/google-cloud-cpp" - " if you do.") - std::shared_ptr raw_client() const { - return connection_; - } - private: friend class internal::NonResumableParallelUploadState; friend class internal::ResumableParallelUploadState; diff --git a/google/cloud/storage/grpc_plugin_test.cc b/google/cloud/storage/grpc_plugin_test.cc index 8be88c86aae45..df66fbeaaf4a8 100644 --- a/google/cloud/storage/grpc_plugin_test.cc +++ b/google/cloud/storage/grpc_plugin_test.cc @@ -117,9 +117,9 @@ TEST(GrpcPluginTest, HybridUsesGrpcBufferOptions) { ScopedEnvironment("GOOGLE_CLOUD_CPP_STORAGE_GRPC_CONFIG", absl::nullopt); auto client = MakeGrpcClient( TestOptions().set("media")); - EXPECT_GE( - client.raw_client()->options().get(), - 32 * 1024 * 1024L); + auto connection = ClientImplDetails::GetConnection(client); + EXPECT_GE(connection->options().get(), + 32 * 1024 * 1024UL); } TEST(GrpcPluginTest, BackwardsCompatibilityShims) {