syntax = "proto3";
package pulse.cdm.bind;
option java_package = "com.kitware.pulse.cdm.bind";
option csharp_namespace = "pulse.cdm.bind";
option optimize_for = SPEED;

/** @brief Enumeration for left/right side */
enum eSide
{
  NullSide = 0;/**<< @brief Not provided */
  Left     = 1;/**<< @brief Left side. */
  Right    = 2;/**<< @brief Right side. */
}

/** @brief Enumeration for an open/closed gate */
enum eGate
{
  NullGate = 0;/**<< @brief Not provided */
  Open     = 1;/**<< @brief Gate is open. */
  Closed   = 2;/**<< @brief Gate is closed. */
}

/** @brief Enumeration for a on/off switch */
enum eSwitch
{
  NullSwitch = 0;/**<< @brief Not provided */
  Off        = 1;/**<< @brief Switch is off. */
  On         = 2;/**<< @brief Switch is on. */
}

/** @brief Enumeration for electrical charge */
enum eCharge
{
  NullCharge = 0;/**<< @brief Not provided */
  Negative   = 1;/**<< @brief Charge is negative. */
  Neutral    = 2;/**<< @brief Charge is neutral. */
  Positive   = 3;/**<< @brief Charge is positive. */
}

/** @brief Enumeration for equipment to inform about what and how the current breath is. */
enum eBreathState
{
  NoBreath                 = 0;
  PatientInitiatedInhale   = 1;
  PatientInitiatedPause    = 2;
  PatientInitiatedExhale   = 3;
  EquipmentInitiatedInhale = 4;
  EquipmentInitiatedPause  = 5;
  EquipmentInitiatedExhale = 6;
  ExpiratoryHold           = 7;
  InspiratoryHold          = 8;
}
