bool game_buffer_editor_handle_mpk_import_message(game_buffer *game_buffer, mpk_import_named_pipe_message *message) { game_buffer_editor_job *job = game_buffer->editor->job_list; while (job->id != message->job_id) { job = job->next; } assert(job->type == game_buffer_editor_job_mpk_import_type); switch (message->type) { case mpk_import_named_pipe_message_type_error : { job->status = game_buffer_editor_job_error; } break; case mpk_import_named_pipe_message_type_no_space : { job->status = game_buffer_editor_job_warning; } break; case mpk_import_named_pipe_message_type_progress : { job->status = game_buffer_editor_job_progress; } break; case mpk_import_named_pipe_message_type_done : { job->status = game_buffer_editor_job_done; } break; } if (message->msg[0] != '\0') { game_buffer_editor_job_message *new_job_message = (game_buffer_editor_job_message *)memory_pool_allocate(&game_buffer->editor->job_message_memory_pool); assert(new_job_message); m_array_assign(new_job_message->buf, message->msg); sllist_append(&job->mpk_import.message_list, new_job_message); } return true; }
vsf_err_t vsfusbh_register_driver(struct vsfusbh_t *usbh, const struct vsfusbh_class_drv_t *drv) { struct vsfusbh_class_drv_list *drv_list; drv_list = (struct vsfusbh_class_drv_list *)\ vsf_bufmgr_malloc(sizeof(struct vsfusbh_class_drv_list)); if (drv_list == NULL) { return VSFERR_FAIL; } memset(drv_list, 0, sizeof(struct vsfusbh_class_drv_list)); drv_list->drv = drv; sllist_append(&usbh->drv_list, &drv_list->list); return VSFERR_NONE; }