| #include "command/payload_cmds.hpp" |
| #include "command/sol_cmds.hpp" |
| #include "command_table.hpp" |
| #include "session.hpp" |
| |
| namespace sol |
| { |
| |
| namespace command |
| { |
| |
| void registerCommands() |
| { |
| static const ::command::CmdDetails commands[] = { |
| // SOL Payload Handler |
| {{(static_cast<uint32_t>(message::PayloadType::SOL) << 16)}, |
| &payloadHandler, |
| session::Privilege::HIGHEST_MATCHING, |
| false}, |
| // Activate Payload Command |
| {{(static_cast<uint32_t>(message::PayloadType::IPMI) << 16) | |
| static_cast<uint16_t>(::command::NetFns::APP) | 0x48}, |
| &activatePayload, |
| session::Privilege::USER, |
| false}, |
| // Deactivate Payload Command |
| {{(static_cast<uint32_t>(message::PayloadType::IPMI) << 16) | |
| static_cast<uint16_t>(::command::NetFns::APP) | 0x49}, |
| &deactivatePayload, |
| session::Privilege::USER, |
| false}, |
| // Get Payload Activation Status |
| {{(static_cast<uint32_t>(message::PayloadType::IPMI) << 16) | |
| static_cast<uint16_t>(::command::NetFns::APP) | 0x4A}, |
| &getPayloadStatus, |
| session::Privilege::USER, |
| false}, |
| // Get Payload Instance Info Command |
| {{(static_cast<uint32_t>(message::PayloadType::IPMI) << 16) | |
| static_cast<uint16_t>(::command::NetFns::APP) | 0x4B}, |
| &getPayloadInfo, |
| session::Privilege::USER, |
| false}, |
| }; |
| |
| for (const auto& iter : commands) |
| { |
| ::command::Table::get().registerCommand( |
| iter.command, |
| std::make_unique<::command::NetIpmidEntry>( |
| iter.command, iter.functor, iter.privilege, iter.sessionless)); |
| } |
| } |
| |
| } // namespace command |
| |
| } // namespace sol |