£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
3
Yj-!                 @   s   d dl mZ d dlZeejd< d dlZd dlZd dlZd dlZd dl	m
Z
 d dlmZmZmZ d dlmZ d dlmZmZmZ G dd	 d	ejjjZdS )
    )GObjectNZgobject)config)dbus_to_python%dbus_introspection_prepare_properties!dbus_introspection_add_properties)log)handle_exceptionsdbus_handle_exceptionsdbus_service_methodc                   s  e Zd ZdZejjZe fddZ	e
dd Ze
dd Ze
dd	 Zeejd
dde
d/ddZeejddde
d0ddZejjjejjeejdde
d1ddZejjejdddd Zejjjejjeejdde
d2 fdd	Zeejjdde
d3dd Zeejjdde
d4d!d"Zeejje
d5d#d$Zejjejjdde
d%d& Z eejje
d6d'd(Z!ejjejjdde
d)d* Z"eejjdde
d7d+d,Z#ejjejjdde
d-d. Z$  Z%S )8FirewallDConfigPolicyTc                s\   t t| j|| || _|| _|| _|| _|d | _|d | _d| j | _	t
| tjj d S )Nr      zconfig.policy.%d)superr   __init__parentr   objitem_idbusnamepath_log_prefixr   dbusDBUS_INTERFACE_CONFIG_POLICY)selfr   ZconfZpolicyr   argskwargs)	__class__ #/usr/lib/python3.6/config_policy.pyr      s    

zFirewallDConfigPolicy.__init__c             C   s   d S )Nr   )r   r   r   r   __del__(   s    zFirewallDConfigPolicy.__del__c             C   s   | j   d S )N)Zremove_from_connection)r   r   r   r   
unregister,   s    z FirewallDConfigPolicy.unregisterc             C   s   |dkrt j| jjS |dkr,t j| jjS |dkrBt j| jjS |dkrXt j| jjS |dkrnt j| jjS t j	j
d| d S )Nnamefilenamer   defaultbuiltinzDorg.freedesktop.DBus.Error.InvalidArgs: Property '%s' does not exist)r   Stringr   r   r    r   ZBooleanr!   r"   
exceptionsDBusException)r   property_namer   r   r   _get_property4   s    z#FirewallDConfigPolicy._get_propertyZssv)in_signatureout_signatureNc             C   sL   t |t}t |t}tjd| j|| |tjjkrBtjj	d| | j
|S )Nz%s.Get('%s', '%s')zJorg.freedesktop.DBus.Error.UnknownInterface: Interface '%s' does not exist)r   strr   debug1r   r   r   r   r$   r%   r'   )r   interface_namer&   senderr   r   r   GetE   s    


zFirewallDConfigPolicy.Getsza{sv}c             C   sd   t |t}tjd| j| |tjjkr6tjj	d| i }xd
D ]}| j
|||< q@W tj|dd	S )Nz%s.GetAll('%s')zJorg.freedesktop.DBus.Error.UnknownInterface: Interface '%s' does not existr   r    r   r!   r"   Zsv)	signature)r   r    r   r!   r"   )r   r+   r   r,   r   r   r   r   r$   r%   r'   Z
Dictionary)r   r-   r.   retxr   r   r   GetAllV   s    

zFirewallDConfigPolicy.GetAllZssv)r)   c             C   sl   t |t}t |t}t |}tjd| j||| | jj| |tjj	krXtj
jd| tj
jd| d S )Nz%s.Set('%s', '%s', '%s')zJorg.freedesktop.DBus.Error.UnknownInterface: Interface '%s' does not existzGorg.freedesktop.DBus.Error.PropertyReadOnly: Property '%s' is read-only)r   r+   r   r,   r   r   accessCheckr   r   r   r$   r%   )r   r-   r&   Z	new_valuer.   r   r   r   Setg   s    



zFirewallDConfigPolicy.Setzsa{sv}as)r1   c             C   s2   t |t}t |}t |}tjd| j||| d S )Nz&%s.PropertiesChanged('%s', '%s', '%s'))r   r+   r   r,   r   )r   r-   Zchanged_propertiesZinvalidated_propertiesr   r   r   PropertiesChanged{   s
    

z'FirewallDConfigPolicy.PropertiesChanged)r*   c                s8   t jd| j tt| j| j| jj }t	| |t
jjS )Nz%s.Introspect())r   Zdebug2r   r   r   
Introspectr   r   Zget_busr   r   r   r   )r   r.   data)r   r   r   r8      s
    
z FirewallDConfigPolicy.Introspectc             C   s    t jd| j | jj| j}|S )z get settings for policy
        z%s.getSettings())r   r,   r   r   Zget_policy_object_config_dictr   )r   r.   settingsr   r   r   getSettings   s    z!FirewallDConfigPolicy.getSettingsc             C   sF   t |}tjd| j | jj| | jj| j|| _| j	| jj
 dS )z#update settings for policy
        z%s.update('...')N)r   r   r,   r   r   r5   r   Zset_policy_object_config_dictr   Updatedr   )r   r:   r.   r   r   r   update   s
    zFirewallDConfigPolicy.updatec             C   s<   t jd| j | jj| | jj| j| _| j| jj	 dS )z1load default settings for builtin policy
        z%s.loadDefaults()N)
r   r,   r   r   r5   r   Zload_policy_object_defaultsr   r<   r   )r   r.   r   r   r   loadDefaults   s    z"FirewallDConfigPolicy.loadDefaultsc             C   s   t jd| j|f  d S )Nz%s.Updated('%s'))r   r,   r   )r   r   r   r   r   r<      s    zFirewallDConfigPolicy.Updatedc             C   s:   t jd| j | jj| | jj| j | jj| j dS )zremove policy
        z%s.removePolicy()N)	r   r,   r   r   r5   r   Zremove_policy_objectr   ZremovePolicy)r   r.   r   r   r   remove   s    zFirewallDConfigPolicy.removec             C   s   t jd| j|f  d S )Nz%s.Removed('%s'))r   r,   r   )r   r   r   r   r   Removed   s    zFirewallDConfigPolicy.Removedc             C   sF   t |t}tjd| j| | jj| | jj| j	|| _	| j
| dS )zrename policy
        z%s.rename('%s')N)r   r+   r   r,   r   r   r5   r   Zrename_policy_objectr   Renamed)r   r   r.   r   r   r   rename   s
    
zFirewallDConfigPolicy.renamec             C   s   t jd| j|f  d S )Nz%s.Renamed('%s'))r   r,   r   )r   r   r   r   r   rA      s    zFirewallDConfigPolicy.Renamed)N)N)N)N)N)N)N)N)N)&__name__
__module____qualname__Z
persistentr   r   ZPK_ACTION_CONFIGZdefault_polkit_auth_requiredr   r   r	   r   r   r'   r
   ZPROPERTIES_IFACEr/   r4   slipZpolkitZrequire_authr6   servicesignalr7   ZPK_ACTION_INFOZINTROSPECTABLE_IFACEr8   r   r;   r=   r>   r<   r?   r@   rB   rA   __classcell__r   r   )r   r   r      s^   		

	r   )Zgi.repositoryr   sysmodulesr   Zdbus.serviceZ	slip.dbusrF   Zslip.dbus.serviceZfirewallr   Zfirewall.dbus_utilsr   r   r   Zfirewall.core.loggerr   Zfirewall.server.decoratorsr   r	   r
   rG   ZObjectr   r   r   r   r   <module>   s   
