FBSimulatorControl/Commands/FBSimulatorLifecycleCommands.h (29 lines of code) (raw):
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#import <Foundation/Foundation.h>
#import <FBControlCore/FBControlCore.h>
NS_ASSUME_NONNULL_BEGIN
@class FBFramebuffer;
@class FBProcessInfo;
@class FBSimulator;
@class FBSimulatorBootConfiguration;
@class FBSimulatorBridge;
@class FBSimulatorHID;
@protocol FBControlCoreLogger;
/**
Interactions for the Lifecycle of the Simulator.
*/
@protocol FBSimulatorLifecycleCommands <NSObject, FBiOSTargetCommand, FBEraseCommands, FBPowerCommands, FBLifecycleCommands>
#pragma mark Boot/Shutdown
/**
Boots the Simulator with the provided configuration.
Will fail if the Simulator is currently booted.
@param configuration the configuration to boot with.
@return a Future that resolves when the Simulator is booted.
*/
- (FBFuture<NSNull *> *)boot:(FBSimulatorBootConfiguration *)configuration;
#pragma mark Focus
/**
Brings the Simulator window to front, with a descriptive message in the event of a failure.
@return A future that resolves when successful
*/
- (FBFuture<NSNull *> *)focus;
#pragma mark Connection
/**
Disconnects from all of the underlying connection objects.
This should be called on shutdown of the Simulator.
@param timeout the timeout in seconds to wait for all connected components to disconnect.
@param logger a logger to log to
@return YES if successful, NO otherwise.
*/
- (FBFuture<NSNull *> *)disconnectWithTimeout:(NSTimeInterval)timeout logger:(nullable id<FBControlCoreLogger>)logger;
#pragma mark Bridge
/**
Connects to the FBSimulatorBridge.
@return a Future Wrapping the Simulator Bridge.
*/
- (FBFuture<FBSimulatorBridge *> *)connectToBridge;
#pragma mark Framebuffer
/**
Connects to the Framebuffer.
@return the Future wrapping the Framebuffer.
*/
- (FBFuture<FBFramebuffer *> *)connectToFramebuffer;
#pragma mark Bridge
/**
Connects to the FBSimulatorHID instance.
@return a Future Wrapping the Simulator Bridge.
*/
- (FBFuture<FBSimulatorHID *> *)connectToHID;
#pragma mark URLs
/**
Opens the provided URL on the Simulator.
@param url the URL to open.
@return Future that resolves when the url is opened
*/
- (FBFuture<NSNull *> *)openURL:(NSURL *)url;
@end
/**
The Implementation of FBSimulatorLifecycleCommands
*/
@interface FBSimulatorLifecycleCommands : NSObject <FBSimulatorLifecycleCommands>
@end
NS_ASSUME_NONNULL_END