// Copyright 2014 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <chromeos/dbus/dbus_signal.h>

#include <chromeos/dbus/dbus_object.h>

namespace chromeos {
namespace dbus_utils {

DBusSignalBase::DBusSignalBase(DBusObject* dbus_object,
                               const std::string& interface_name,
                               const std::string& signal_name)
    : interface_name_(interface_name),
      signal_name_(signal_name),
      dbus_object_(dbus_object) {
}

bool DBusSignalBase::SendSignal(dbus::Signal* signal) const {
  // This sends the signal asynchronously.  However, the raw message inside
  // the signal object is ref-counted, so we're fine to pass a stack-allocated
  // Signal object here.
  return dbus_object_->SendSignal(signal);
}

}  // namespace dbus_utils
}  // namespace chromeos
