View Javadoc
1   package org.metricshub.ipmi.core.coding.rmcp;
2   
3   /*-
4    * ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲
5    * IPMI Java Client
6    * ჻჻჻჻჻჻
7    * Copyright 2023 Verax Systems, MetricsHub
8    * ჻჻჻჻჻჻
9    * This program is free software: you can redistribute it and/or modify
10   * it under the terms of the GNU Lesser General Public License as
11   * published by the Free Software Foundation, either version 3 of the
12   * License, or (at your option) any later version.
13   *
14   * This program is distributed in the hope that it will be useful,
15   * but WITHOUT ANY WARRANTY; without even the implied warranty of
16   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17   * GNU General Lesser Public License for more details.
18   *
19   * You should have received a copy of the GNU General Lesser Public
20   * License along with this program.  If not, see
21   * <http://www.gnu.org/licenses/lgpl-3.0.html>.
22   * ╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱
23   */
24  
25  /**
26   * Types of RMCP messages.
27   */
28  public enum RmcpClassOfMessage {
29      /**
30       * ASF ACK Class of Message
31       */
32      Ack(RmcpClassOfMessage.ACK), Asf(RmcpClassOfMessage.ASF),
33      /**
34       * OEM-defined Class of Message
35       */
36      Oem(RmcpClassOfMessage.OEM), Ipmi(RmcpClassOfMessage.IPMI), ;
37  
38      private static final int ACK = 134;
39      private static final int ASF = 6;
40      private static final int OEM = 8;
41      private static final int IPMI = 7;
42  
43      private int code;
44  
45      RmcpClassOfMessage(int code) {
46          this.code = code;
47      }
48  
49      public int getCode() {
50          return code;
51      }
52  
53      public static RmcpClassOfMessage parseInt(int value) {
54          switch (value) {
55          case ACK:
56              return Ack;
57          case ASF:
58              return Asf;
59          case OEM:
60              return Oem;
61          case IPMI:
62              return Ipmi;
63          default:
64              throw new IllegalArgumentException("Invalid value: " + value);
65          }
66      }
67  }