Line data Source code
1 : /* 2 : Mosh: the mobile shell 3 : Copyright 2012 Keith Winstein 4 : 5 : This program is free software: you can redistribute it and/or modify 6 : it under the terms of the GNU General Public License as published by 7 : the Free Software Foundation, either version 3 of the License, or 8 : (at your option) any later version. 9 : 10 : This program is distributed in the hope that it will be useful, 11 : but WITHOUT ANY WARRANTY; without even the implied warranty of 12 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 : GNU General Public License for more details. 14 : 15 : You should have received a copy of the GNU General Public License 16 : along with this program. If not, see <http://www.gnu.org/licenses/>. 17 : 18 : In addition, as a special exception, the copyright holders give 19 : permission to link the code of portions of this program with the 20 : OpenSSL library under certain conditions as described in each 21 : individual source file, and distribute linked combinations including 22 : the two. 23 : 24 : You must obey the GNU General Public License in all respects for all 25 : of the code used other than OpenSSL. If you modify file(s) with this 26 : exception, you may extend this exception to your version of the 27 : file(s), but you are not obligated to do so. If you do not wish to do 28 : so, delete this exception statement from your version. If you delete 29 : this exception statement from all source files in the program, then 30 : also delete it here. 31 : */ 32 : 33 : #ifndef PARSERSTATEFAMILY_HPP 34 : #define PARSERSTATEFAMILY_HPP 35 : 36 : #include "parserstate.h" 37 : 38 : namespace Parser { 39 : class StateFamily 40 : { 41 : public: 42 : Ground s_Ground; 43 : 44 : Escape s_Escape; 45 : Escape_Intermediate s_Escape_Intermediate; 46 : 47 : CSI_Entry s_CSI_Entry; 48 : CSI_Param s_CSI_Param; 49 : CSI_Intermediate s_CSI_Intermediate; 50 : CSI_Ignore s_CSI_Ignore; 51 : 52 : DCS_Entry s_DCS_Entry; 53 : DCS_Param s_DCS_Param; 54 : DCS_Intermediate s_DCS_Intermediate; 55 : DCS_Passthrough s_DCS_Passthrough; 56 : DCS_Ignore s_DCS_Ignore; 57 : 58 : OSC_String s_OSC_String; 59 : SOS_PM_APC_String s_SOS_PM_APC_String; 60 : 61 1352 : StateFamily() 62 1352 : : s_Ground(), s_Escape(), s_Escape_Intermediate(), 63 1352 : s_CSI_Entry(), s_CSI_Param(), s_CSI_Intermediate(), s_CSI_Ignore(), 64 1352 : s_DCS_Entry(), s_DCS_Param(), s_DCS_Intermediate(), 65 1352 : s_DCS_Passthrough(), s_DCS_Ignore(), 66 1352 : s_OSC_String(), s_SOS_PM_APC_String() 67 : { 68 1352 : s_Ground.setfamily( this ); 69 1352 : s_Escape.setfamily( this ); 70 1352 : s_Escape_Intermediate.setfamily( this ); 71 1352 : s_CSI_Entry.setfamily( this ); 72 1352 : s_CSI_Param.setfamily( this ); 73 1352 : s_CSI_Intermediate.setfamily( this ); 74 1352 : s_CSI_Ignore.setfamily( this ); 75 1352 : s_DCS_Entry.setfamily( this ); 76 1352 : s_DCS_Param.setfamily( this ); 77 1352 : s_DCS_Intermediate.setfamily( this ); 78 1352 : s_DCS_Passthrough.setfamily( this ); 79 1352 : s_DCS_Ignore.setfamily( this ); 80 1352 : s_OSC_String.setfamily( this ); 81 1352 : s_SOS_PM_APC_String.setfamily( this ); 82 1352 : } 83 : }; 84 : } 85 : 86 : #endif