3 @)òf-!ã@s˜ddlmZddlZeejd<ddlZddlZddlZddlZddl m Z ddl m Z m Z mZddlmZddlmZmZmZGdd „d ejjjƒZdS) é)ÚGObjectNZgobject)Úconfig)Údbus_to_pythonÚ%dbus_introspection_prepare_propertiesÚ!dbus_introspection_add_properties)Úlog)Úhandle_exceptionsÚdbus_handle_exceptionsÚdbus_service_methodcsôeZdZdZejjZe‡fdd„ƒZ e dd„ƒZ e dd„ƒZ e dd „ƒZ eejd d d e d/dd„ƒƒZeejddd e d0dd„ƒƒZejjjejjƒeejdde d1dd„ƒƒƒZejjejdddd„ƒZejjjejjƒeejdde d2‡fdd„ ƒƒƒZeejjdde d3dd „ƒƒZeejjdde d4d!d"„ƒƒZeejjƒe d5d#d$„ƒƒZejjejjdde d%d&„ƒƒZ eejjƒe d6d'd(„ƒƒZ!ejjejjdde d)d*„ƒƒZ"eejjdde d7d+d,„ƒƒZ#ejjejjdde d-d.„ƒƒZ$‡Z%S)8ÚFirewallDConfigPolicyTcs\tt|ƒj||Ž||_||_||_||_|d|_|d|_d|j|_ t |tj j ƒdS)Nrézconfig.policy.%d) Úsuperr Ú__init__ÚparentrÚobjÚitem_idÚbusnameÚpathÚ _log_prefixrÚdbusÚDBUS_INTERFACE_CONFIG_POLICY)ÚselfrZconfZpolicyrÚargsÚkwargs)Ú __class__©ú#/usr/lib/python3.6/config_policy.pyrs   zFirewallDConfigPolicy.__init__cCsdS)Nr)rrrrÚ__del__(szFirewallDConfigPolicy.__del__cCs |jƒdS)N)Zremove_from_connection)rrrrÚ unregister,sz FirewallDConfigPolicy.unregistercCs‚|dkrtj|jjƒS|dkr,tj|jjƒS|dkrBtj|jjƒS|dkrXtj|jjƒS|dkrntj|jjƒStj j d|ƒ‚dS)NÚnameÚfilenamerÚdefaultÚbuiltinzDorg.freedesktop.DBus.Error.InvalidArgs: Property '%s' does not exist) rÚStringrrr rZBooleanr!r"Ú exceptionsÚ DBusException)rÚ property_namerrrÚ _get_property4sz#FirewallDConfigPolicy._get_propertyZssÚv)Ú in_signatureÚ out_signatureNcCsLt|tƒ}t|tƒ}tjd|j||ƒ|tjjkrBtjj d|ƒ‚|j |ƒS)Nz%s.Get('%s', '%s')zJorg.freedesktop.DBus.Error.UnknownInterface: Interface '%s' does not exist) rÚstrrÚdebug1rrrrr$r%r')rÚinterface_namer&ÚsenderrrrÚGetEs    zFirewallDConfigPolicy.GetÚsza{sv}cCsdt|tƒ}tjd|j|ƒ|tjjkr6tjj d|ƒ‚i}xd D]}|j |ƒ||<q@Wtj |dd S) Nz%s.GetAll('%s')zJorg.freedesktop.DBus.Error.UnknownInterface: Interface '%s' does not existrr rr!r"Zsv)Ú signature)rr rr!r") rr+rr,rrrrr$r%r'Z Dictionary)rr-r.ÚretÚxrrrÚGetAllVs   zFirewallDConfigPolicy.GetAllZssv)r)cCslt|tƒ}t|tƒ}t|ƒ}tjd|j|||ƒ|jj|ƒ|tjj krXtj j d|ƒ‚tj j d|ƒ‚dS)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) rr+rr,rrÚ accessCheckrrrr$r%)rr-r&Z new_valuer.rrrÚSetgs      zFirewallDConfigPolicy.Setzsa{sv}as)r1cCs2t|tƒ}t|ƒ}t|ƒ}tjd|j|||ƒdS)Nz&%s.PropertiesChanged('%s', '%s', '%s'))rr+rr,r)rr-Zchanged_propertiesZinvalidated_propertiesrrrÚPropertiesChanged{s   z'FirewallDConfigPolicy.PropertiesChanged)r*cs8tjd|jƒtt|ƒj|j|jjƒƒ}t ||t j j ƒS)Nz%s.Introspect()) rZdebug2rr r Ú IntrospectrrZget_busrrrr)rr.Údata)rrrr8„s  z FirewallDConfigPolicy.IntrospectcCs tjd|jƒ|jj|jƒ}|S)z get settings for policy z%s.getSettings())rr,rrZget_policy_object_config_dictr)rr.ÚsettingsrrrÚ getSettings’sz!FirewallDConfigPolicy.getSettingscCsFt|ƒ}tjd|jƒ|jj|ƒ|jj|j|ƒ|_|j |jj ƒdS)z#update settings for policy z%s.update('...')N) rrr,rrr5rZset_policy_object_config_dictrÚUpdatedr)rr:r.rrrÚupdateœs  zFirewallDConfigPolicy.updatecCs<tjd|jƒ|jj|ƒ|jj|jƒ|_|j|jj ƒdS)z1load default settings for builtin policy z%s.loadDefaults()N) rr,rrr5rZload_policy_object_defaultsrr<r)rr.rrrÚ loadDefaults¨s z"FirewallDConfigPolicy.loadDefaultscCstjd|j|fƒdS)Nz%s.Updated('%s'))rr,r)rrrrrr<²szFirewallDConfigPolicy.UpdatedcCs:tjd|jƒ|jj|ƒ|jj|jƒ|jj|jƒdS)zremove policy z%s.removePolicy()N) rr,rrr5rZremove_policy_objectrZ removePolicy)rr.rrrÚremove¹s zFirewallDConfigPolicy.removecCstjd|j|fƒdS)Nz%s.Removed('%s'))rr,r)rrrrrÚRemovedÃszFirewallDConfigPolicy.RemovedcCsFt|tƒ}tjd|j|ƒ|jj|ƒ|jj|j |ƒ|_ |j |ƒdS)zrename policy z%s.rename('%s')N) rr+rr,rrr5rZrename_policy_objectrÚRenamed)rrr.rrrÚrenameÊs   zFirewallDConfigPolicy.renamecCstjd|j|fƒdS)Nz%s.Renamed('%s'))rr,r)rrrrrrAÖszFirewallDConfigPolicy.Renamed)N)N)N)N)N)N)N)N)N)&Ú__name__Ú __module__Ú __qualname__Z persistentrrZPK_ACTION_CONFIGZdefault_polkit_auth_requiredrrr rrr'r ZPROPERTIES_IFACEr/r4ÚslipZpolkitZ require_authr6ÚserviceÚsignalr7ZPK_ACTION_INFOZINTROSPECTABLE_IFACEr8rr;r=r>r<r?r@rBrAÚ __classcell__rr)rrr s^          r )Z gi.repositoryrÚsysÚmodulesrZ dbus.serviceZ slip.dbusrFZslip.dbus.serviceZfirewallrZfirewall.dbus_utilsrrrZfirewall.core.loggerrZfirewall.server.decoratorsrr r rGZObjectr rrrrÚs