1 package org.sentrysoftware.ipmi.core.sm.events; 2 3 /*- 4 * ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲ 5 * IPMI Java Client 6 * ჻჻჻჻჻჻ 7 * Copyright 2023 Verax Systems, Sentry Software 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 import org.sentrysoftware.ipmi.core.sm.StateMachine; 26 import org.sentrysoftware.ipmi.core.sm.states.Authcap; 27 import org.sentrysoftware.ipmi.core.sm.states.SessionValid; 28 import org.sentrysoftware.ipmi.core.sm.states.State; 29 30 /** 31 * {@link StateMachineEvent} that will make {@link StateMachine} in the 32 * {@link SessionValid} {@link State} to send 33 * {@link org.sentrysoftware.ipmi.core.coding.commands.session.CloseSession} and 34 * transit to {@link Authcap} {@link State} the session. 35 */ 36 public class CloseSession extends StateMachineEvent { 37 private int sessionId; 38 private int messageSequenceNumber; 39 private int sessionSequenceNumber; 40 41 /** 42 * Prepares {@link CloseSession} 43 * 44 * @param sessionId 45 * - managed system session ID 46 * 47 * @param messageSequenceNumber 48 * - generated sequence number for the message to send 49 */ 50 public CloseSession(int sessionId, int messageSequenceNumber, int sessionSequenceNumber) { 51 this.messageSequenceNumber = messageSequenceNumber; 52 this.sessionSequenceNumber = sessionSequenceNumber; 53 this.sessionId = sessionId; 54 } 55 56 public int getSessionId() { 57 return sessionId; 58 } 59 60 public int getMessageSequenceNumber() { 61 return messageSequenceNumber; 62 } 63 64 public int getSessionSequenceNumber() { 65 return sessionSequenceNumber; 66 } 67 }