1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #import "ios/chrome/browser/ui/commands/show_signin_command.h"
7 #include "base/logging.h"
8 #include "base/mac/scoped_block.h"
9 #include "ios/chrome/browser/ui/commands/ios_command_ids.h"
11 @implementation ShowSigninCommand {
12 base::mac::ScopedBlock<ShowSigninCommandCompletionCallback> _callback;
15 @synthesize operation = _operation;
16 @synthesize signInSource = _signInSource;
18 - (instancetype)initWithTag:(NSInteger)tag {
23 - (instancetype)initWithOperation:(AuthenticationOperation)operation
24 signInSource:(SignInSource)signInSource
26 (ShowSigninCommandCompletionCallback)callback {
27 if ((self = [super initWithTag:IDC_SHOW_SIGNIN_IOS])) {
28 _operation = operation;
29 _signInSource = signInSource;
30 _callback.reset(callback, base::scoped_policy::RETAIN);
35 - (instancetype)initWithOperation:(AuthenticationOperation)operation
36 signInSource:(SignInSource)signInSource {
38 [self initWithOperation:operation signInSource:signInSource callback:nil];
41 - (ShowSigninCommandCompletionCallback)callback {
42 return _callback.get();