blob: 49cdf5a8f099f1aa4028e52927d17ce7e61c118d [file] [log] [blame]
// 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