// Protocol Buffers - Google's data interchange format
// Copyright 2023 Google LLC.  All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file or at
// https://developers.google.com/open-source/licenses/bsd

edition = "2023";

package hpb_unittest;

enum TestEnum {
  DEVICE_UNKNOWN = 0;
  DEVICE_KEYBOARD = 1;
  DEVICE_MOUSE = 2;
  DEVICE_MONITOR = 3;
}

message ContainingMessage {
  message OtherMessage {
    enum NestedTestEnum {
      DEVICE_UNKNOWN = 0;
      DEVICE_KEYBOARD = 1;
      DEVICE_MOUSE = 2;
      DEVICE_MONITOR = 3;
    }
  }
}
