// Copyright 2012 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. #import "ios/chrome/browser/app_startup_parameters.h" #include "base/logging.h" #import "base/mac/scoped_nsobject.h" #import "ios/chrome/browser/xcallback_parameters.h" #include "url/gurl.h" @implementation AppStartupParameters { GURL _externalURL; base::scoped_nsobject<XCallbackParameters> _xCallbackParameters; BOOL _launchVoiceSearch; BOOL _launchInIncognito; } @synthesize launchVoiceSearch = _launchVoiceSearch; @synthesize launchInIncognito = _launchInIncognito; - (const GURL&)externalURL { return _externalURL; } - (XCallbackParameters*)xCallbackParameters { return _xCallbackParameters.get(); } - (instancetype)init { NOTREACHED(); return nil; } - (instancetype)initWithExternalURL:(const GURL&)externalURL { return [self initWithExternalURL:externalURL xCallbackParameters:nil]; } - (instancetype)initWithExternalURL:(const GURL&)externalURL xCallbackParameters:(XCallbackParameters*)xCallbackParameters { self = [super init]; if (self) { _externalURL = GURL(externalURL); _xCallbackParameters.reset([xCallbackParameters retain]); } return self; } - (NSString*)description { return [NSString stringWithFormat:@"ExternalURL: %s \nXCallbackParams: %@", _externalURL.spec().c_str(), _xCallbackParameters.get()]; } @end