1 #include "command/payload_cmds.hpp" 2 #include "command/sol_cmds.hpp" 3 #include "command_table.hpp" 4 #include "session.hpp" 5 6 namespace sol 7 { 8 9 namespace command 10 { 11 12 void registerCommands() 13 { 14 static const ::command::CmdDetails commands[] = { 15 // SOL Payload Handler 16 {{(static_cast<uint32_t>(message::PayloadType::SOL) << 16)}, 17 &payloadHandler, 18 session::Privilege::HIGHEST_MATCHING, 19 false}, 20 // Activate Payload Command 21 {{(static_cast<uint32_t>(message::PayloadType::IPMI) << 16) | 22 static_cast<uint16_t>(::command::NetFns::APP) | 0x48}, 23 &activatePayload, 24 session::Privilege::USER, 25 false}, 26 // Deactivate Payload Command 27 {{(static_cast<uint32_t>(message::PayloadType::IPMI) << 16) | 28 static_cast<uint16_t>(::command::NetFns::APP) | 0x49}, 29 &deactivatePayload, 30 session::Privilege::USER, 31 false}, 32 // Get Payload Activation Status 33 {{(static_cast<uint32_t>(message::PayloadType::IPMI) << 16) | 34 static_cast<uint16_t>(::command::NetFns::APP) | 0x4A}, 35 &getPayloadStatus, 36 session::Privilege::USER, 37 false}, 38 // Get Payload Instance Info Command 39 {{(static_cast<uint32_t>(message::PayloadType::IPMI) << 16) | 40 static_cast<uint16_t>(::command::NetFns::APP) | 0x4B}, 41 &getPayloadInfo, 42 session::Privilege::USER, 43 false}, 44 }; 45 46 for (const auto& iter : commands) 47 { 48 ::command::Table::get().registerCommand( 49 iter.command, 50 std::make_unique<::command::NetIpmidEntry>( 51 iter.command, iter.functor, iter.privilege, iter.sessionless)); 52 } 53 } 54 55 } // namespace command 56 57 } // namespace sol 58