File: //usr/lib/python3/dist-packages/uaclient/entitlements/__pycache__/realtime.cpython-310.pyc
o
    ��Jhn  �                   @   s�   d dl Z d dlmZmZmZmZmZ d dlmZm	Z	m
Z
mZmZ d dl
mZ d dlmZmZ d dlmZmZmZ e	�� Ze �e�e��ZddiZG d	d
� d
ej�ZG dd� de�ZG d
d� de�Z G dd� de�Z!G dd� de�Z"G dd� de�Z#dS )�    N)�Any�Dict�Optional�Tuple�Type)�apt�event_logger�messages�system�util)�repo)�EntitlementWithMessage�
UAEntitlement)�MessagingOperations�MessagingOperationsDict�StaticAffordance�GenuineIntel�intelc                   @   s�   e Zd ZdZejZejZej	Z
ejjZ
dZdZdZdZdZdefdd�Zdeeee f fd	d
�Zedd� �Zedeed
f fdd��Zedeed
f fdd��Z ede!fdd��Z"ddd�Z#dS )�RealtimeKernelEntitlementzrealtime-kernelzubuntu-pro-realtime-kernel.gpgTF�UbuntuRealtimeKernel�returnc                 C   s(   t jt| j�tdg�d�}t�|� |S )z%Check if system needs to be rebooted.zlinux-.*-realtime)�installed_pkgs�installed_pkgs_regex)r
   �
should_reboot�set�packages�event�needs_reboot)�self�reboot_required� r    �@/usr/lib/python3/dist-packages/uaclient/entitlements/realtime.py�_check_for_reboot   s   �
z+RealtimeKernelEntitlement._check_for_rebootc                 C   s   t jt tjttjttjtiS �N)�GenericRealtime�variant_name�NvidiaTegraRealtime�RaspberryPiRealtime�IntelIotgRealtime�r   r    r    r!   �
_get_variants(   s
   �z'RealtimeKernelEntitlement._get_variantsc                 C   s   | j rd S tS r#   )�access_onlyr$   r)   r    r    r!   �default_variant0   s   z)RealtimeKernelEntitlement.default_variant.c                 C   s>