applets/controller: Pop normal data for StrapGuide and FirmwareUpdate
This commit is contained in:
		| @@ -70,7 +70,7 @@ void Controller::Initialize() { | |||||||
|     const auto& private_arg = private_arg_storage->GetData(); |     const auto& private_arg = private_arg_storage->GetData(); | ||||||
|     ASSERT(private_arg.size() == sizeof(ControllerSupportArgPrivate)); |     ASSERT(private_arg.size() == sizeof(ControllerSupportArgPrivate)); | ||||||
|  |  | ||||||
|     std::memcpy(&controller_private_arg, private_arg.data(), sizeof(ControllerSupportArgPrivate)); |     std::memcpy(&controller_private_arg, private_arg.data(), private_arg.size()); | ||||||
|     ASSERT_MSG(controller_private_arg.arg_private_size == sizeof(ControllerSupportArgPrivate), |     ASSERT_MSG(controller_private_arg.arg_private_size == sizeof(ControllerSupportArgPrivate), | ||||||
|                "Unknown ControllerSupportArgPrivate revision={} with size={}", |                "Unknown ControllerSupportArgPrivate revision={} with size={}", | ||||||
|                library_applet_version, controller_private_arg.arg_private_size); |                library_applet_version, controller_private_arg.arg_private_size); | ||||||
| @@ -106,7 +106,8 @@ void Controller::Initialize() { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     switch (controller_private_arg.mode) { |     switch (controller_private_arg.mode) { | ||||||
|     case ControllerSupportMode::ShowControllerSupport: { |     case ControllerSupportMode::ShowControllerSupport: | ||||||
|  |     case ControllerSupportMode::ShowControllerStrapGuide: { | ||||||
|         const auto user_arg_storage = broker.PopNormalDataToApplet(); |         const auto user_arg_storage = broker.PopNormalDataToApplet(); | ||||||
|         ASSERT(user_arg_storage != nullptr); |         ASSERT(user_arg_storage != nullptr); | ||||||
|  |  | ||||||
| @@ -116,11 +117,11 @@ void Controller::Initialize() { | |||||||
|         case LibraryAppletVersion::Version4: |         case LibraryAppletVersion::Version4: | ||||||
|         case LibraryAppletVersion::Version5: |         case LibraryAppletVersion::Version5: | ||||||
|             ASSERT(user_arg.size() == sizeof(ControllerSupportArgOld)); |             ASSERT(user_arg.size() == sizeof(ControllerSupportArgOld)); | ||||||
|             std::memcpy(&controller_user_arg_old, user_arg.data(), sizeof(ControllerSupportArgOld)); |             std::memcpy(&controller_user_arg_old, user_arg.data(), user_arg.size()); | ||||||
|             break; |             break; | ||||||
|         case LibraryAppletVersion::Version7: |         case LibraryAppletVersion::Version7: | ||||||
|             ASSERT(user_arg.size() == sizeof(ControllerSupportArgNew)); |             ASSERT(user_arg.size() == sizeof(ControllerSupportArgNew)); | ||||||
|             std::memcpy(&controller_user_arg_new, user_arg.data(), sizeof(ControllerSupportArgNew)); |             std::memcpy(&controller_user_arg_new, user_arg.data(), user_arg.size()); | ||||||
|             break; |             break; | ||||||
|         default: |         default: | ||||||
|             UNIMPLEMENTED_MSG("Unknown ControllerSupportArg revision={} with size={}", |             UNIMPLEMENTED_MSG("Unknown ControllerSupportArg revision={} with size={}", | ||||||
| @@ -131,8 +132,16 @@ void Controller::Initialize() { | |||||||
|         } |         } | ||||||
|         break; |         break; | ||||||
|     } |     } | ||||||
|     case ControllerSupportMode::ShowControllerStrapGuide: |     case ControllerSupportMode::ShowControllerFirmwareUpdate: { | ||||||
|     case ControllerSupportMode::ShowControllerFirmwareUpdate: |         const auto update_arg_storage = broker.PopNormalDataToApplet(); | ||||||
|  |         ASSERT(update_arg_storage != nullptr); | ||||||
|  |  | ||||||
|  |         const auto& update_arg = update_arg_storage->GetData(); | ||||||
|  |         ASSERT(update_arg.size() == sizeof(ControllerUpdateFirmwareArg)); | ||||||
|  |  | ||||||
|  |         std::memcpy(&controller_update_arg, update_arg.data(), update_arg.size()); | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|     default: { |     default: { | ||||||
|         UNIMPLEMENTED_MSG("Unimplemented ControllerSupportMode={}", controller_private_arg.mode); |         UNIMPLEMENTED_MSG("Unimplemented ControllerSupportMode={}", controller_private_arg.mode); | ||||||
|         break; |         break; | ||||||
| @@ -200,6 +209,9 @@ void Controller::Execute() { | |||||||
|     } |     } | ||||||
|     case ControllerSupportMode::ShowControllerStrapGuide: |     case ControllerSupportMode::ShowControllerStrapGuide: | ||||||
|     case ControllerSupportMode::ShowControllerFirmwareUpdate: |     case ControllerSupportMode::ShowControllerFirmwareUpdate: | ||||||
|  |         UNIMPLEMENTED_MSG("ControllerSupportMode={} is not implemented", | ||||||
|  |                           controller_private_arg.mode); | ||||||
|  |         [[fallthrough]]; | ||||||
|     default: { |     default: { | ||||||
|         ConfigurationComplete(); |         ConfigurationComplete(); | ||||||
|         break; |         break; | ||||||
|   | |||||||
| @@ -125,6 +125,7 @@ private: | |||||||
|     ControllerSupportArgPrivate controller_private_arg; |     ControllerSupportArgPrivate controller_private_arg; | ||||||
|     ControllerSupportArgOld controller_user_arg_old; |     ControllerSupportArgOld controller_user_arg_old; | ||||||
|     ControllerSupportArgNew controller_user_arg_new; |     ControllerSupportArgNew controller_user_arg_new; | ||||||
|  |     ControllerUpdateFirmwareArg controller_update_arg; | ||||||
|     bool complete{false}; |     bool complete{false}; | ||||||
|     ResultCode status{RESULT_SUCCESS}; |     ResultCode status{RESULT_SUCCESS}; | ||||||
|     bool is_single_mode{false}; |     bool is_single_mode{false}; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Morph
					Morph