Files
OmniNX-Installer-Payload/source/install.h
Niklas080208 75b2b603ab Initial Commit
2026-01-17 19:39:53 +01:00

36 lines
1.0 KiB
C

/*
* OmniNX Installer - Installation Logic
*/
#pragma once
#include "version.h"
#include <utils/types.h>
// Installation modes
typedef enum {
INSTALL_MODE_UPDATE, // OmniNX detected - selective deletion
INSTALL_MODE_CLEAN // No OmniNX - full wipe
} install_mode_t;
// Main installation function
int perform_installation(omninx_variant_t pack_variant, install_mode_t mode);
// Update mode operations
int update_mode_cleanup(omninx_variant_t variant);
int update_mode_install(omninx_variant_t variant);
// Clean install operations
int clean_mode_backup(void);
int clean_mode_wipe(void);
int clean_mode_restore(void);
int clean_mode_install(omninx_variant_t variant);
// Helper: Delete a list of paths
int delete_path_list(const char* paths[], const char* description);
// Helper: Delete old version markers (except current variant)
int cleanup_old_version_markers(omninx_variant_t current_variant);
// Remove staging directory after installation
int cleanup_staging_directory(omninx_variant_t pack_variant);