"""
@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, 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
    )