3 g-!@sddlmZddlZeejd<ddlZddlZddlZddlZddl m Z ddl m Z m Z mZddlmZddlmZmZmZGdd d ejjjZdS) )GObjectNZgobject)config)dbus_to_python%dbus_introspection_prepare_properties!dbus_introspection_add_properties)log)handle_exceptionsdbus_handle_exceptionsdbus_service_methodcseZdZdZejjZefddZ e ddZ e ddZ e dd Z eejd d d e d/ddZeejddd e d0ddZejjjejjeejdde d1ddZejjejddddZejjjejjeejdde d2fdd Zeejjdde d3dd Zeejjdde d4d!d"Zeejje d5d#d$Zejjejjdde d%d&Z eejje d6d'd(Z!ejjejjdde d)d*Z"eejjdde d7d+d,Z#ejjejjdde d-d.Z$Z%S)8FirewallDConfigPolicyTcs\tt|j||||_||_||_||_|d|_|d|_d|j|_ t |tj j dS)Nrzconfig.policy.%d) superr __init__parentrobjitem_idbusnamepath _log_prefixrdbusDBUS_INTERFACE_CONFIG_POLICY)selfrZconfZpolicyrargskwargs) __class__#/usr/lib/python3.6/config_policy.pyrs   zFirewallDConfigPolicy.__init__cCsdS)Nr)rrrr__del__(szFirewallDConfigPolicy.__del__cCs |jdS)N)Zremove_from_connection)rrrr unregister,sz FirewallDConfigPolicy.unregistercCs|dkrtj|jjS|dkr,tj|jjS|dkrBtj|jjS|dkrXtj|jjS|dkrntj|jjStj j d|dS)NnamefilenamerdefaultbuiltinzDorg.freedesktop.DBus.Error.InvalidArgs: Property '%s' does not exist) rStringrrr rZBooleanr!r" exceptions DBusException)r property_namerrr _get_property4sz#FirewallDConfigPolicy._get_propertyZssv) 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) rstrrdebug1rrrrr$r%r')rinterface_namer&senderrrrGetEs    zFirewallDConfigPolicy.Getsza{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.retxrrrGetAllVs   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.rrrSetgs      zFirewallDConfigPolicy.Setzsa{sv}as)r1cCs2t|t}t|}t|}tjd|j|||dS)Nz&%s.PropertiesChanged('%s', '%s', '%s'))rr+rr,r)rr-Zchanged_propertiesZinvalidated_propertiesrrrPropertiesChanged{s   z'FirewallDConfigPolicy.PropertiesChanged)r*cs8tjd|jtt|j|j|jj}t ||t j j S)Nz%s.Introspect()) rZdebug2rr r IntrospectrrZget_busrrrr)rr.data)rrrr8s  z FirewallDConfigPolicy.IntrospectcCs tjd|j|jj|j}|S)z get settings for policy z%s.getSettings())rr,rrZget_policy_object_config_dictr)rr.settingsrrr getSettingssz!FirewallDConfigPolicy.getSettingscCsFt|}tjd|j|jj||jj|j||_|j |jj dS)z#update settings for policy z%s.update('...')N) rrr,rrr5rZset_policy_object_config_dictrUpdatedr)rr:r.rrrupdates  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 loadDefaultss z"FirewallDConfigPolicy.loadDefaultscCstjd|j|fdS)Nz%s.Updated('%s'))rr,r)rrrrrr<szFirewallDConfigPolicy.UpdatedcCs:tjd|j|jj||jj|j|jj|jdS)zremove policy z%s.removePolicy()N) rr,rrr5rZremove_policy_objectrZ removePolicy)rr.rrrremoves zFirewallDConfigPolicy.removecCstjd|j|fdS)Nz%s.Removed('%s'))rr,r)rrrrrRemovedszFirewallDConfigPolicy.RemovedcCsFt|t}tjd|j||jj||jj|j ||_ |j |dS)zrename policy z%s.rename('%s')N) rr+rr,rrr5rZrename_policy_objectrRenamed)rrr.rrrrenames   zFirewallDConfigPolicy.renamecCstjd|j|fdS)Nz%s.Renamed('%s'))rr,r)rrrrrrAszFirewallDConfigPolicy.Renamed)N)N)N)N)N)N)N)N)N)&__name__ __module__ __qualname__Z persistentrrZPK_ACTION_CONFIGZdefault_polkit_auth_requiredrrr rrr'r ZPROPERTIES_IFACEr/r4slipZpolkitZ require_authr6servicesignalr7ZPK_ACTION_INFOZINTROSPECTABLE_IFACEr8rr;r=r>r<r?r@rBrA __classcell__rr)rrr s^          r )Z gi.repositoryrsysmodulesrZ dbus.serviceZ slip.dbusrFZslip.dbus.serviceZfirewallrZfirewall.dbus_utilsrrrZfirewall.core.loggerrZfirewall.server.decoratorsrr r rGZObjectr rrrrs