#include "tuple_hash.hpp"
#include "wait_manager.hpp"
+using namespace std::string_view_literals;
+
struct introspection_data {
introspection_data(std::string_view xml)
{
"</interface>"
"</node>";
- constexpr static std::array<
- std::pair<
- std::string_view,
- void (sessiond_context::*)(GDBusMethodInvocation *, std::string_view, GVariant *)
- >, 11> methods = {
- std::make_pair("AddUser", &sessiond_context::on_add_user),
- std::make_pair("RemoveUser", &sessiond_context::on_remove_user),
- std::make_pair("SwitchUser", &sessiond_context::on_switch_user),
- std::make_pair("AddUserWait", &sessiond_context::on_add_user_wait),
- std::make_pair("RemoveUserWait", &sessiond_context::on_remove_user_wait),
- std::make_pair("SwitchUserWait", &sessiond_context::on_switch_user_wait),
- std::make_pair("AddUserDone", &sessiond_context::on_add_user_done),
- std::make_pair("RemoveUserDone", &sessiond_context::on_remove_user_done),
- std::make_pair("SwitchUserDone", &sessiond_context::on_switch_user_done),
- std::make_pair("GetUserList", &sessiond_context::on_get_user_list),
- std::make_pair("GetCurrentUser", &sessiond_context::on_get_current_user),
+ constexpr static std::array methods = {
+ std::make_pair( "AddUser"sv, &sessiond_context::on_add_user ),
+ std::make_pair( "RemoveUser"sv, &sessiond_context::on_remove_user ),
+ std::make_pair( "SwitchUser"sv, &sessiond_context::on_switch_user ),
+ std::make_pair( "AddUserWait"sv, &sessiond_context::on_add_user_wait ),
+ std::make_pair("RemoveUserWait"sv, &sessiond_context::on_remove_user_wait),
+ std::make_pair("SwitchUserWait"sv, &sessiond_context::on_switch_user_wait),
+ std::make_pair( "AddUserDone"sv, &sessiond_context::on_add_user_done ),
+ std::make_pair("RemoveUserDone"sv, &sessiond_context::on_remove_user_done),
+ std::make_pair("SwitchUserDone"sv, &sessiond_context::on_switch_user_done),
+ std::make_pair( "GetUserList"sv, &sessiond_context::on_get_user_list ),
+ std::make_pair("GetCurrentUser"sv, &sessiond_context::on_get_current_user),
};
// TODO: Currently, the first parameter is always a single-element tuple.