File size: 1,909 Bytes
52edc5a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | package body Command_Utils is
function Is_Query_Command (C : Command_Id) return Boolean is
begin
return C = Cmd_Help or C = Cmd_Query_State or C = Cmd_Verify or C = Cmd_Self_Test;
end Is_Query_Command;
function Is_Mutating_Command (C : Command_Id) return Boolean is
begin
return C = Cmd_Set_Config or C = Cmd_Process_Data or C = Cmd_Serialize or C = Cmd_Reset or C = Cmd_Authorize;
end Is_Mutating_Command;
function Is_Auth_Command (C : Command_Id) return Boolean is
begin
return C = Cmd_Authorize;
end Is_Auth_Command;
function Expected_Arg_Count (C : Command_Id) return Natural is
begin
case C is
when Cmd_None | Cmd_Help | Cmd_Query_State | Cmd_Self_Test | Cmd_Reset | Cmd_Exit => return 0;
when Cmd_Set_Config => return 2;
when Cmd_Process_Data => return 1;
when Cmd_Serialize | Cmd_Verify => return 0;
when Cmd_Authorize => return 1;
end case;
end Expected_Arg_Count;
function Command_Help_Text (C : Command_Id) return String is
begin
case C is
when Cmd_None => return "No command";
when Cmd_Help => return "Show available commands";
when Cmd_Set_Config => return "SET <key> <value> - Set configuration";
when Cmd_Process_Data => return "PROCESS <bytes...> - Process data";
when Cmd_Query_State => return "STATE - Query current state";
when Cmd_Serialize => return "SERIALIZE - Serialize store to buffer";
when Cmd_Verify => return "VERIFY - Verify store integrity";
when Cmd_Self_Test => return "TEST - Run self-test suite";
when Cmd_Reset => return "RESET - Reset to idle";
when Cmd_Authorize => return "AUTH <level> - Set auth level";
when Cmd_Exit => return "EXIT - Shutdown";
end case;
end Command_Help_Text;
end Command_Utils;
|