blob: dc14bdc95b19bbf3914d474c1e4c9a18b44c8ee9 [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "ios/chrome/browser/share_kit/model/share_kit_service.h"
#import "ios/chrome/browser/share_kit/model/share_kit_service_configuration.h"
#import "ios/public/provider/chrome/browser/share_kit/share_kit_api.h"
namespace {
// Chromium implementation of the ShareKitService. Does nothing.
class ChromiumShareKitService final : public ShareKitService {
public:
ChromiumShareKitService() = default;
~ChromiumShareKitService() final = default;
// ShareKitService.
bool IsSupported() const override { return false; }
void PrimaryAccountChanged() override {}
void CancelSession(NSString* session_id) override {}
NSString* ShareTabGroup(ShareKitShareGroupConfiguration* config) override {
return nil;
}
NSString* ManageTabGroup(ShareKitManageConfiguration* config) override {
return nil;
}
NSString* JoinTabGroup(ShareKitJoinConfiguration* config) override {
return nil;
}
void ReadGroups(ShareKitReadGroupsConfiguration* config) override {}
void ReadGroupWithToken(
ShareKitReadGroupWithTokenConfiguration* config) override {}
void LeaveGroup(ShareKitLeaveConfiguration* config) override {}
void DeleteGroup(ShareKitDeleteConfiguration* config) override {}
void LookupGaiaIdByEmail(ShareKitLookupGaiaIDConfiguration* config) override {
}
id<ShareKitAvatarPrimitive> AvatarImage(
ShareKitAvatarConfiguration* config) override {
return nil;
}
};
} // namespace
namespace ios::provider {
std::unique_ptr<ShareKitService> CreateShareKitService(
std::unique_ptr<ShareKitServiceConfiguration> configuration) {
return std::make_unique<ChromiumShareKitService>();
}
} // namespace ios::provider