/*
 * Copyright (C) 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.hardware.vr@1.0;

interface IVr {
  /**
   * Convenience method to set up any state needed at runtime startup.  This is
   * called once from the VrManagerService during its boot phase.
   */
  @callflow(next={"*"})
  @entry
  @exit
  init();

  /**
   * Set the VR mode state.  Possible states of the enabled parameter are:
   * false - VR mode is disabled, turn off all VR-specific settings.
   * true - VR mode is enabled, turn on all VR-specific settings.
   *
   * This must be called whenever the the Android system enters or leaves VR
   * mode. This will typically occur when the user switches to or from a VR
   * application that is doing stereoscopic rendering.
   */
  @callflow(next={"*"})
  @exit
  setVrMode(bool enabled);
};