1973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko// Copyright 2014 The Chromium OS Authors. All rights reserved. 2973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko// Use of this source code is governed by a BSD-style license that can be 3973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko// found in the LICENSE file. 4973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko 59ed0cab99f18acb3570a35e9408f24355f6b8324Alex Vakulenko#include <brillo/dbus/dbus_method_invoker.h> 6973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko 79ed0cab99f18acb3570a35e9408f24355f6b8324Alex Vakulenkonamespace brillo { 8973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenkonamespace dbus_utils { 9973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko 10973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenkovoid TranslateErrorResponse(const AsyncErrorCallback& callback, 11973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko dbus::ErrorResponse* resp) { 12973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko if (!callback.is_null()) { 13973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko ErrorPtr error; 14973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko dbus::MessageReader reader(resp); 15973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko std::string error_message; 16973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko if (ExtractMessageParameters(&reader, &error, &error_message)) 17973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko AddDBusError(&error, resp->GetErrorName(), error_message); 18973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko callback.Run(error.get()); 19973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko } 20973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko} 21973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko 22973ba0a0bbe2edd7a9a43f59f0a3343bf7d30e1cAlex Vakulenko} // namespace dbus_utils 239ed0cab99f18acb3570a35e9408f24355f6b8324Alex Vakulenko} // namespace brillo 24