public static App Initialize(AppConfig config) { config.ThrowIfInvalid(); var poller = new LeaderInfoPoller(config.StorageAccount); var startOptions = new StartOptions(); startOptions.Urls.Add(config.InternalUri); startOptions.Urls.Add(config.PublicUri); var auth = LoadAuth.LoadFromStorageAccount(config.StorageAccount); AddSystemAccess(auth, config.StorageAccount.GetSysPassword()); var api = ApiImplementation.Create(config.StorageAccount, poller, auth); var nancyOptions = new NancyOptions { Bootstrapper = new NancyBootstrapper(api, new UserValidator(auth)) }; var nodeInfo = new LeaderInfo(config.InternalUri); var selector = new LeaderLock(config.StorageAccount, nodeInfo, api); var cts = new CancellationTokenSource(); // fire up leader and scheduler first var tasks = new List <Task> { selector.KeepTryingToAcquireLock(cts.Token), poller.KeepPollingForLeaderInfo(cts.Token), }; // bind the API var webApp = WebApp.Start(startOptions, x => x.UseNancy(nancyOptions)); return(new App(webApp, cts, tasks)); }
public CameraApi(ApiImplementation apiImplementation) { m_apiImplementation = apiImplementation; OnTransitionStart += TransitionStarted; OnTransitionEnd += TransitionEnded; m_inputHandler = new CameraInputHandler(); }
internal CameraApi(ApiImplementation apiImplementation, CameraApiInternal cameraApiInternal) { m_apiImplementation = apiImplementation; m_inputHandler = new CameraInputHandler(); OnTransitionStart += TransitionStarted; OnTransitionEnd += TransitionEnded; m_cameraApiInternal = cameraApiInternal; m_cameraApiInternal.OnTransitionStartInternal += () => OnTransitionStart(this, m_controlledCamera); m_cameraApiInternal.OnTransitionEndInternal += () => OnTransitionEnd(this, m_controlledCamera); }
internal CameraApi(ApiImplementation apiImplementation, CameraApiInternal cameraApiInternal) { m_apiImplementation = apiImplementation; m_inputHandler = new CameraInputHandler(); OnTransitionStart += TransitionStarted; OnTransitionEnd += TransitionEnded; m_cameraApiInternal = cameraApiInternal; m_cameraApiInternal.OnTransitionStartInternal += () => OnTransitionStart(this, GetControlledCamera()); m_cameraApiInternal.OnTransitionEndInternal += () => OnTransitionEnd(this, GetControlledCamera()); IsCameraDrivenFromInput = true; }
public ApiModule(ApiImplementation scheduler) { _scheduler = scheduler; BuildRoutes(); }
public NancyBootstrapper(ApiImplementation scheduler, IUserValidator validator) { _scheduler = scheduler; _validator = validator; }
internal SpacesApi(ApiImplementation apiImplementation) { m_apiImplementation = apiImplementation; }