"""
@brief      This file transfers definitions of global variables to the user.
@details    Template configuration file. Copy this folder to the TMTC commander root and adapt
            it to your needs.
"""

import enum
import argparse


# All globals can be added here and will be part of a globals dictionary.
from config.definitions import CustomServiceList, PUS_APID
from config.custom_mode_op import CustomModeList
from tmtccmd.config.definitions import CoreComInterfaces
from tmtccmd.config.globals import (
    set_default_globals_pre_args_parsing,
    set_default_globals_post_args_parsing,
)
from tmtccmd.utility.logger import get_console_logger

LOGGER = get_console_logger()


class CustomGlobalIds(enum.Enum):
    from enum import auto

    pass


def set_globals_pre_args_parsing(gui: bool = False):
    set_default_globals_pre_args_parsing(
        gui=gui,
        tc_apid=PUS_APID,
        tm_apid=PUS_APID,
        com_if_id=CoreComInterfaces.TCPIP_UDP.value,
    )


def add_globals_post_args_parsing(args: argparse.Namespace, json_cfg_path: str):
    set_default_globals_post_args_parsing(
        args=args,
        custom_services_list=[CustomServiceList],
        custom_modes_list=[CustomModeList],
        json_cfg_path=json_cfg_path,
    )