Merge lp:~ted/policykit-unity8/lp1579837-fallback-true into lp:policykit-unity8

Proposed by Ted Gould
Status: Merged
Approved by: Charles Kerr
Approved revision: 11
Merged at revision: 8
Proposed branch: lp:~ted/policykit-unity8/lp1579837-fallback-true
Merge into: lp:policykit-unity8
Diff against target: 40 lines (+12/-4)
2 files modified
service/agent.cpp (+10/-2)
tests/policykit-mock.h (+2/-2)
To merge this branch: bzr merge lp:~ted/policykit-unity8/lp1579837-fallback-true
Reviewer Review Type Date Requested Status
Charles Kerr (community) Approve
Review via email: mp+294158@code.launchpad.net

Commit message

Setup Agent so that it is the fallback agent

Description of the change

We're dealing with where USS wants to be its own agent. Fine, we'll let it, whatevs.

To post a comment you must log in.
10. By Ted Gould

Switch to vardict and add a clarifying comment

11. By Ted Gould

Code formatting

Revision history for this message
Charles Kerr (charlesk) wrote :

LGTM. Thanks, Ted!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'service/agent.cpp'
--- service/agent.cpp 2016-04-14 18:23:56 +0000
+++ service/agent.cpp 2016-05-09 22:16:51 +0000
@@ -44,11 +44,19 @@
44 /* Build our Agent subclass */44 /* Build our Agent subclass */
45 auto glibagent = std::shared_ptr<AgentGlib>(agent_glib_new(this), [](AgentGlib *ptr) { g_clear_object(&ptr); });45 auto glibagent = std::shared_ptr<AgentGlib>(agent_glib_new(this), [](AgentGlib *ptr) { g_clear_object(&ptr); });
4646
47 /* Setup registration options */
48 GVariantBuilder builder;
49 g_variant_builder_init(&builder, G_VARIANT_TYPE_VARDICT);
50 /* Makes us the fallback agent so that system settings can override
51 when it is setting multiple password settings all at once. */
52 g_variant_builder_add_parsed(&builder, "{'fallback', true}");
53
47 /* Register it */54 /* Register it */
48 GError *registererror = nullptr;55 GError *registererror = nullptr;
49 gpointer registration_handle = polkit_agent_listener_register(56 gpointer registration_handle = polkit_agent_listener_register_with_options(
50 reinterpret_cast<PolkitAgentListener *>(glibagent.get()), POLKIT_AGENT_REGISTER_FLAGS_NONE, subject.get(),57 reinterpret_cast<PolkitAgentListener *>(glibagent.get()), POLKIT_AGENT_REGISTER_FLAGS_NONE, subject.get(),
51 "/com/canonical/unity8/policyKit", _thread.getCancellable().get(), &registererror);58 "/com/canonical/unity8/policyKit", g_variant_builder_end(&builder), _thread.getCancellable().get(),
59 &registererror);
52 if (registererror != nullptr)60 if (registererror != nullptr)
53 {61 {
54 auto memwrapper = std::shared_ptr<GError>(registererror, [](GError *error) { g_error_free(error); });62 auto memwrapper = std::shared_ptr<GError>(registererror, [](GError *error) { g_error_free(error); });
5563
=== modified file 'tests/policykit-mock.h'
--- tests/policykit-mock.h 2016-03-21 17:08:17 +0000
+++ tests/policykit-mock.h 2016-05-09 22:16:51 +0000
@@ -46,8 +46,8 @@
46 baseobj = dbus_test_dbus_mock_get_object(mock, "/org/freedesktop/PolicyKit1/Authority",46 baseobj = dbus_test_dbus_mock_get_object(mock, "/org/freedesktop/PolicyKit1/Authority",
47 "org.freedesktop.PolicyKit1.Authority", nullptr);47 "org.freedesktop.PolicyKit1.Authority", nullptr);
4848
49 dbus_test_dbus_mock_object_add_method(mock, baseobj, "RegisterAuthenticationAgent",49 dbus_test_dbus_mock_object_add_method(mock, baseobj, "RegisterAuthenticationAgentWithOptions",
50 G_VARIANT_TYPE("((sa{sv})ss)"), nullptr, "", nullptr);50 G_VARIANT_TYPE("((sa{sv})ssa{sv})"), nullptr, "", nullptr);
5151
52 dbus_test_dbus_mock_object_add_method(mock, baseobj, "UnregisterAuthenticationAgent",52 dbus_test_dbus_mock_object_add_method(mock, baseobj, "UnregisterAuthenticationAgent",
53 G_VARIANT_TYPE("((sa{sv})s)"), nullptr, "", nullptr);53 G_VARIANT_TYPE("((sa{sv})s)"), nullptr, "", nullptr);

Subscribers

People subscribed via source and target branches

to all changes: