syntax = "proto2";

// The types of message notification sent from Moblab.
enum MessageType {
  MSG_UNKNOWN = 0;
  MSG_MOBLAB_HEARTBEAT = 1;
  MSG_MOBLAB_REMOTE_EVENT = 2;
  MSG_MOBLAB_ALERT = 3;
}

// The common pubsub notification attribute names.
enum MessageAttribute {
  ATTR_INVALID = 0;
  ATTR_MESSAGE_TYPE = 1;
  ATTR_MESSAGE_VERSION = 2;
  ATTR_MOBLAB_MAC_ADDRESS = 3;
  ATTR_MOBLAB_ID = 4;
}

// Timestamp is not defined in proto2. We need to define it by ourselves.
// It represents a point in time independent of any time zone
// or calendar, represented as seconds and fractions of seconds at
// nanosecond resolution.
// Clone from https://github.com/google/protobuf/blob/master/src/google/protobuf/timestamp.proto.
message Timestamp {
  optional int64 seconds = 1;
  // Non-negative fractions of a second at nanosecond resolution.
  optional int64 nanos = 2 [default = 0];
}

message Heartbeat {
  optional Timestamp timestamp = 1;
}

// The remote event notification message.
message RemoteEventMessage {
  // EventType is an enumeration of event types sent to cloud console.
  // Any new event type should be added here.
  enum Type {
    EVENT_UNKNOWN = 0;
    EVENT_MOBLAB_BOOT_COMPLETE = 1;
  }

  optional Type type = 1 [default = EVENT_UNKNOWN];
  optional string data = 2;
}

// Moblab alerts
message Alert {
  enum AlertLevel {
    ALERT_UNSPECIFIED = 0;
    ALERT_CRITICAL = 1;
    ALERT_MAJOR = 2;
    ALERT_MINOR = 3;
  }
  optional AlertLevel level = 1;
  optional string data = 2;
  optional Timestamp timestamp = 3;
  optional string source_application = 4;
  optional string source_component = 5;
}
