qleany 1.7.3

Architecture generator for Rust and C++/Qt applications.
// Generated by Qleany v0.0.1 from slint_feature_commands.tera

//! CppQtFileGeneration feature commands for Slint UI
#![allow(unused_imports, dead_code)]

use crate::app_context::AppContext;
use cpp_qt_file_generation::{
    FillCppQtFilesDto, FillCppQtFilesReturnDto, GenerateCppQtCodeDto, GenerateCppQtCodeReturnDto,
    GenerateCppQtFilesDto, GenerateCppQtFilesReturnDto, GenerateCppQtPromptDto,
    GenerateCppQtPromptReturnDto, cpp_qt_file_generation_controller,
};

use common::long_operation::OperationProgress;

pub fn fill_cpp_qt_files(
    ctx: &AppContext,
    dto: &FillCppQtFilesDto,
) -> Result<FillCppQtFilesReturnDto, String> {
    cpp_qt_file_generation_controller::fill_cpp_qt_files(&ctx.db_context, &ctx.event_hub, dto)
        .map_err(|e| format!("Error while fill_cpp_qt_files: {:?}", e))
}

pub fn generate_cpp_qt_code(
    ctx: &AppContext,
    dto: &GenerateCppQtCodeDto,
) -> Result<GenerateCppQtCodeReturnDto, String> {
    cpp_qt_file_generation_controller::generate_cpp_qt_code(&ctx.db_context, &ctx.event_hub, dto)
        .map_err(|e| format!("Error while generate_cpp_qt_code: {:?}", e))
}

/// generate_cpp_qt_files (long operation)
pub fn generate_cpp_qt_files(
    ctx: &AppContext,
    dto: &GenerateCppQtFilesDto,
) -> Result<String, String> {
    cpp_qt_file_generation_controller::generate_cpp_qt_files(
        &ctx.db_context,
        &ctx.event_hub,
        &mut ctx.long_operation_manager.lock().unwrap(),
        dto,
    )
    .map_err(|e| format!("Error while generate_cpp_qt_files: {:?}", e))
}

/// Get the progress of a generate rust files operation
pub fn get_generate_cpp_qt_files_progress(
    ctx: &AppContext,
    operation_id: &str,
) -> Result<Option<OperationProgress>, String> {
    Ok(
        cpp_qt_file_generation_controller::get_generate_cpp_qt_files_progress(
            &ctx.long_operation_manager.lock().unwrap(),
            operation_id,
        ),
    )
}

/// Get the result of a generate_cpp_qt_files operation
pub fn get_generate_cpp_qt_files_result(
    ctx: &AppContext,
    operation_id: &str,
) -> Result<Option<GenerateCppQtFilesReturnDto>, String> {
    cpp_qt_file_generation_controller::get_generate_cpp_qt_files_result(
        &ctx.long_operation_manager.lock().unwrap(),
        operation_id,
    )
    .map_err(|e| format!("Error while getting generate_cpp_qt_files result: {:?}", e))
}

/// fill_code_in_cpp_qt_files (long operation)
pub fn fill_code_in_cpp_qt_files(ctx: &AppContext) -> Result<String, String> {
    cpp_qt_file_generation_controller::fill_code_in_cpp_qt_files(
        &ctx.db_context,
        &ctx.event_hub,
        &mut ctx.long_operation_manager.lock().unwrap(),
    )
    .map_err(|e| format!("Error while fill_code_in_cpp_qt_files: {:?}", e))
}

/// Get the progress of a generate rust files operation
pub fn get_fill_code_in_cpp_qt_files_progress(
    ctx: &AppContext,
    operation_id: &str,
) -> Result<Option<OperationProgress>, String> {
    Ok(
        cpp_qt_file_generation_controller::get_fill_code_in_cpp_qt_files_progress(
            &ctx.long_operation_manager.lock().unwrap(),
            operation_id,
        ),
    )
}

/// Get the result of a fill_code_in_cpp_qt_files operation
pub fn get_fill_code_in_cpp_qt_files_result(
    ctx: &AppContext,
    operation_id: &str,
) -> Result<Option<()>, String> {
    cpp_qt_file_generation_controller::get_fill_code_in_cpp_qt_files_result(
        &ctx.long_operation_manager.lock().unwrap(),
        operation_id,
    )
    .map_err(|e| {
        format!(
            "Error while getting fill_code_in_cpp_qt_files result: {:?}",
            e
        )
    })
}

pub fn generate_cpp_qt_prompt(
    ctx: &AppContext,
    dto: &GenerateCppQtPromptDto,
) -> Result<GenerateCppQtPromptReturnDto, String> {
    cpp_qt_file_generation_controller::generate_cpp_qt_prompt(&ctx.db_context, &ctx.event_hub, dto)
        .map_err(|e| format!("Error while generate_cpp_qt_prompt: {:?}", e))
}