Initialization

This example shows how to initialize Guardian using

  • a manually loaded guardian file structure

  • the included file helper utilities

Example

bool
initialize_guardian(
    const std::string& in_component_handle,
    const std::string& in_hardware_identifier,
    const utilities::InitializeFiles& in_initialize_files,
    Guardian* io_guardian)
{
    /* initialize guardian */
    auto status = io_guardian->Initialize(in_initialize_files,
                                          in_component_handle.c_str(),
                                          in_hardware_identifier.c_str(),
                                          InitializeOptions());

    /* check for error initializing */
    if( status )
    {
        printf("error initializing guardian [%s]:[%u]\r\n",
                    GuardianStatusEnum::NameOf(EXTRACT_STATUS(status)).c_str(),
                    status);
        return false;
    }

    return true;
}
bool
initialize_guardian(
    const std::string& in_file_path,
    const std::string& in_file_prefix,
    const std::string& in_component_handle,
    const std::string& in_hardware_identifier,
    medcrypt::guardian::Guardian* io_guardian)
{
    /* retrieve profile files from path */
    medcrypt::guardian::utilities::InitializeFiles files;
    if( !medcrypt::guardian::utilities::GetInitializeFilesFromPath(in_file_path,
                                                                   false,
                                                                   &files,
                                                                   in_file_prefix) )
    {
        printf("error finding profile\r\n");
        return false;
    }

    bool inited = initialize_guardian(in_component_handle, 
                                      in_hardware_identifier, 
                                      files, 
                                      io_guardian);

    DeleteInitializeFileBuffers(&files);

    return inited;
}

Last updated

Was this helpful?