//
// Automatically generated by ipdlc.
// Edit at your own risk
//


#include "mozilla/hal_sandbox/PHal.h"

namespace mozilla {
namespace hal_sandbox {
namespace PHal {

nsresult
CreateEndpoints(
        base::ProcessId aParentDestPid,
        base::ProcessId aChildDestPid,
        mozilla::ipc::Endpoint<mozilla::hal_sandbox::PHalParent>* aParent,
        mozilla::ipc::Endpoint<mozilla::hal_sandbox::PHalChild>* aChild)
{
    return mozilla::ipc::CreateEndpoints(mozilla::ipc::PrivateIPDLInterface(), aParentDestPid, aChildDestPid, PHalMsgStart, PHalMsgStartChild, aParent, aChild);
}
bool
Transition(
        mozilla::ipc::Trigger trigger,
        State* next)
{
    State from = (*(next));
    switch (from) {
    case __Null:
    case __Error:
        if ((Msg___delete____ID) == ((trigger).mMessage)) {
            (*(next)) = __Dead;
            return true;
        }
        return (__Null) == (from);
    case __Dead:
        mozilla::ipc::LogicError("__delete__()d actor");
        return false;
    case __Dying:
        mozilla::ipc::LogicError("__delete__()d (and unexpectedly dying) actor");
        return false;
    default:
        mozilla::ipc::LogicError("corrupted actor state");
        return false;
    }
}
IPC::Message*
Msg_NotifyBatteryChange(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_NotifyBatteryChange__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_NotifyBatteryChange");
}
IPC::Message*
Msg_NotifyNetworkChange(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_NotifyNetworkChange__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_NotifyNetworkChange");
}
IPC::Message*
Msg_NotifyWakeLockChange(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_NotifyWakeLockChange__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_NotifyWakeLockChange");
}
IPC::Message*
Msg_NotifyScreenConfigurationChange(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_NotifyScreenConfigurationChange__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_NotifyScreenConfigurationChange");
}
IPC::Message*
Msg_NotifySwitchChange(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_NotifySwitchChange__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_NotifySwitchChange");
}
IPC::Message*
Msg_NotifySystemClockChange(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_NotifySystemClockChange__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_NotifySystemClockChange");
}
IPC::Message*
Msg_NotifySystemTimezoneChange(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_NotifySystemTimezoneChange__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_NotifySystemTimezoneChange");
}
IPC::Message*
Msg_Vibrate(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_Vibrate__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_Vibrate");
}
IPC::Message*
Msg_CancelVibrate(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_CancelVibrate__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_CancelVibrate");
}
IPC::Message*
Msg_EnableBatteryNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_EnableBatteryNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_EnableBatteryNotifications");
}
IPC::Message*
Msg_DisableBatteryNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_DisableBatteryNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_DisableBatteryNotifications");
}
IPC::Message*
Msg_GetCurrentBatteryInformation(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_GetCurrentBatteryInformation__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_GetCurrentBatteryInformation");
}
IPC::Message*
Reply_GetCurrentBatteryInformation(int32_t routingId)
{
    return new IPC::Message(routingId, Reply_GetCurrentBatteryInformation__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Reply_GetCurrentBatteryInformation");
}
IPC::Message*
Msg_EnableNetworkNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_EnableNetworkNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_EnableNetworkNotifications");
}
IPC::Message*
Msg_DisableNetworkNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_DisableNetworkNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_DisableNetworkNotifications");
}
IPC::Message*
Msg_GetCurrentNetworkInformation(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_GetCurrentNetworkInformation__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_GetCurrentNetworkInformation");
}
IPC::Message*
Reply_GetCurrentNetworkInformation(int32_t routingId)
{
    return new IPC::Message(routingId, Reply_GetCurrentNetworkInformation__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Reply_GetCurrentNetworkInformation");
}
IPC::Message*
Msg_GetScreenEnabled(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_GetScreenEnabled__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_GetScreenEnabled");
}
IPC::Message*
Reply_GetScreenEnabled(int32_t routingId)
{
    return new IPC::Message(routingId, Reply_GetScreenEnabled__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Reply_GetScreenEnabled");
}
IPC::Message*
Msg_SetScreenEnabled(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_SetScreenEnabled__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_SetScreenEnabled");
}
IPC::Message*
Msg_GetKeyLightEnabled(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_GetKeyLightEnabled__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_GetKeyLightEnabled");
}
IPC::Message*
Reply_GetKeyLightEnabled(int32_t routingId)
{
    return new IPC::Message(routingId, Reply_GetKeyLightEnabled__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Reply_GetKeyLightEnabled");
}
IPC::Message*
Msg_SetKeyLightEnabled(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_SetKeyLightEnabled__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_SetKeyLightEnabled");
}
IPC::Message*
Msg_GetCpuSleepAllowed(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_GetCpuSleepAllowed__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_GetCpuSleepAllowed");
}
IPC::Message*
Reply_GetCpuSleepAllowed(int32_t routingId)
{
    return new IPC::Message(routingId, Reply_GetCpuSleepAllowed__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Reply_GetCpuSleepAllowed");
}
IPC::Message*
Msg_SetCpuSleepAllowed(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_SetCpuSleepAllowed__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_SetCpuSleepAllowed");
}
IPC::Message*
Msg_GetScreenBrightness(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_GetScreenBrightness__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_GetScreenBrightness");
}
IPC::Message*
Reply_GetScreenBrightness(int32_t routingId)
{
    return new IPC::Message(routingId, Reply_GetScreenBrightness__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Reply_GetScreenBrightness");
}
IPC::Message*
Msg_SetScreenBrightness(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_SetScreenBrightness__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_SetScreenBrightness");
}
IPC::Message*
Msg_AdjustSystemClock(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_AdjustSystemClock__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_AdjustSystemClock");
}
IPC::Message*
Msg_SetTimezone(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_SetTimezone__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_SetTimezone");
}
IPC::Message*
Msg_GetTimezone(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_GetTimezone__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_GetTimezone");
}
IPC::Message*
Reply_GetTimezone(int32_t routingId)
{
    return new IPC::Message(routingId, Reply_GetTimezone__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Reply_GetTimezone");
}
IPC::Message*
Msg_GetTimezoneOffset(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_GetTimezoneOffset__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_GetTimezoneOffset");
}
IPC::Message*
Reply_GetTimezoneOffset(int32_t routingId)
{
    return new IPC::Message(routingId, Reply_GetTimezoneOffset__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Reply_GetTimezoneOffset");
}
IPC::Message*
Msg_EnableSystemClockChangeNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_EnableSystemClockChangeNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_EnableSystemClockChangeNotifications");
}
IPC::Message*
Msg_DisableSystemClockChangeNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_DisableSystemClockChangeNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_DisableSystemClockChangeNotifications");
}
IPC::Message*
Msg_EnableSystemTimezoneChangeNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_EnableSystemTimezoneChangeNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_EnableSystemTimezoneChangeNotifications");
}
IPC::Message*
Msg_DisableSystemTimezoneChangeNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_DisableSystemTimezoneChangeNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_DisableSystemTimezoneChangeNotifications");
}
IPC::Message*
Msg_ModifyWakeLock(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_ModifyWakeLock__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_ModifyWakeLock");
}
IPC::Message*
Msg_EnableWakeLockNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_EnableWakeLockNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_EnableWakeLockNotifications");
}
IPC::Message*
Msg_DisableWakeLockNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_DisableWakeLockNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_DisableWakeLockNotifications");
}
IPC::Message*
Msg_GetWakeLockInfo(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_GetWakeLockInfo__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_GetWakeLockInfo");
}
IPC::Message*
Reply_GetWakeLockInfo(int32_t routingId)
{
    return new IPC::Message(routingId, Reply_GetWakeLockInfo__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Reply_GetWakeLockInfo");
}
IPC::Message*
Msg_EnableScreenConfigurationNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_EnableScreenConfigurationNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_EnableScreenConfigurationNotifications");
}
IPC::Message*
Msg_DisableScreenConfigurationNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_DisableScreenConfigurationNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_DisableScreenConfigurationNotifications");
}
IPC::Message*
Msg_GetCurrentScreenConfiguration(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_GetCurrentScreenConfiguration__ID, IPC::Message::NESTED_INSIDE_CPOW, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_GetCurrentScreenConfiguration");
}
IPC::Message*
Reply_GetCurrentScreenConfiguration(int32_t routingId)
{
    return new IPC::Message(routingId, Reply_GetCurrentScreenConfiguration__ID, IPC::Message::NESTED_INSIDE_CPOW, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Reply_GetCurrentScreenConfiguration");
}
IPC::Message*
Msg_LockScreenOrientation(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_LockScreenOrientation__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_LockScreenOrientation");
}
IPC::Message*
Reply_LockScreenOrientation(int32_t routingId)
{
    return new IPC::Message(routingId, Reply_LockScreenOrientation__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Reply_LockScreenOrientation");
}
IPC::Message*
Msg_UnlockScreenOrientation(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_UnlockScreenOrientation__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_UnlockScreenOrientation");
}
IPC::Message*
Msg_EnableSwitchNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_EnableSwitchNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_EnableSwitchNotifications");
}
IPC::Message*
Msg_DisableSwitchNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_DisableSwitchNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_DisableSwitchNotifications");
}
IPC::Message*
Msg_GetCurrentSwitchState(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_GetCurrentSwitchState__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_GetCurrentSwitchState");
}
IPC::Message*
Reply_GetCurrentSwitchState(int32_t routingId)
{
    return new IPC::Message(routingId, Reply_GetCurrentSwitchState__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Reply_GetCurrentSwitchState");
}
IPC::Message*
Msg_FactoryReset(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_FactoryReset__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_FactoryReset");
}
IPC::Message*
Msg_NotifySensorChange(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_NotifySensorChange__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_NotifySensorChange");
}
IPC::Message*
Msg_EnableSensorNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_EnableSensorNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_EnableSensorNotifications");
}
IPC::Message*
Msg_DisableSensorNotifications(int32_t routingId)
{
    return new IPC::Message(routingId, Msg_DisableSensorNotifications__ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg_DisableSensorNotifications");
}
IPC::Message*
Msg___delete__(int32_t routingId)
{
    return new IPC::Message(routingId, Msg___delete____ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Msg___delete__");
}
IPC::Message*
Reply___delete__(int32_t routingId)
{
    return new IPC::Message(routingId, Reply___delete____ID, IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, "PHal::Reply___delete__");
}

} // namespace PHal
} // namespace hal_sandbox
} // namespace mozilla

//-----------------------------------------------------------------------------
// Method definitions for the IPDL type |struct BatteryInformation|
//
namespace mozilla {
namespace hal {
MOZ_IMPLICIT BatteryInformation::BatteryInformation() :
    level_(),
    charging_(),
    remainingTime_()
{
    Init();
}

BatteryInformation::~BatteryInformation()
{
}

auto BatteryInformation::operator==(const BatteryInformation& _o) const -> bool
{
    if ((!((level()) == ((_o).level())))) {
        return false;
    }
    if ((!((charging()) == ((_o).charging())))) {
        return false;
    }
    if ((!((remainingTime()) == ((_o).remainingTime())))) {
        return false;
    }
    return true;
}

auto BatteryInformation::Init() -> void
{
}

auto BatteryInformation::Assign(
        const double& _level,
        const bool& _charging,
        const double& _remainingTime) -> void
{
    level_ = _level;
    charging_ = _charging;
    remainingTime_ = _remainingTime;
}

} // namespace hal
} // namespace mozilla

//-----------------------------------------------------------------------------
// Method definitions for the IPDL type |struct SensorData|
//
namespace mozilla {
namespace hal {
MOZ_IMPLICIT SensorData::SensorData() :
    sensor_(),
    timestamp_(),
    accuracy_()
{
    Init();
}

SensorData::~SensorData()
{
}

auto SensorData::operator==(const SensorData& _o) const -> bool
{
    if ((!((sensor()) == ((_o).sensor())))) {
        return false;
    }
    if ((!((timestamp()) == ((_o).timestamp())))) {
        return false;
    }
    if ((!((values()) == ((_o).values())))) {
        return false;
    }
    if ((!((accuracy()) == ((_o).accuracy())))) {
        return false;
    }
    return true;
}

auto SensorData::Init() -> void
{
}

auto SensorData::Assign(
        const SensorType& _sensor,
        const PRTime& _timestamp,
        const nsTArray<float>& _values,
        const SensorAccuracyType& _accuracy) -> void
{
    sensor_ = _sensor;
    timestamp_ = _timestamp;
    values_ = _values;
    accuracy_ = _accuracy;
}

} // namespace hal
} // namespace mozilla

//-----------------------------------------------------------------------------
// Method definitions for the IPDL type |struct NetworkInformation|
//
namespace mozilla {
namespace hal {
MOZ_IMPLICIT NetworkInformation::NetworkInformation() :
    type_(),
    isWifi_(),
    dhcpGateway_()
{
    Init();
}

NetworkInformation::~NetworkInformation()
{
}

auto NetworkInformation::operator==(const NetworkInformation& _o) const -> bool
{
    if ((!((type()) == ((_o).type())))) {
        return false;
    }
    if ((!((isWifi()) == ((_o).isWifi())))) {
        return false;
    }
    if ((!((dhcpGateway()) == ((_o).dhcpGateway())))) {
        return false;
    }
    return true;
}

auto NetworkInformation::Init() -> void
{
}

auto NetworkInformation::Assign(
        const uint32_t& _type,
        const bool& _isWifi,
        const uint32_t& _dhcpGateway) -> void
{
    type_ = _type;
    isWifi_ = _isWifi;
    dhcpGateway_ = _dhcpGateway;
}

} // namespace hal
} // namespace mozilla

//-----------------------------------------------------------------------------
// Method definitions for the IPDL type |struct SwitchEvent|
//
namespace mozilla {
namespace hal {
MOZ_IMPLICIT SwitchEvent::SwitchEvent() :
    device_(),
    status_()
{
    Init();
}

SwitchEvent::~SwitchEvent()
{
}

auto SwitchEvent::operator==(const SwitchEvent& _o) const -> bool
{
    if ((!((device()) == ((_o).device())))) {
        return false;
    }
    if ((!((status()) == ((_o).status())))) {
        return false;
    }
    return true;
}

auto SwitchEvent::Init() -> void
{
}

auto SwitchEvent::Assign(
        const SwitchDevice& _device,
        const SwitchState& _status) -> void
{
    device_ = _device;
    status_ = _status;
}

} // namespace hal
} // namespace mozilla

//-----------------------------------------------------------------------------
// Method definitions for the IPDL type |struct WakeLockInformation|
//
namespace mozilla {
namespace hal {
MOZ_IMPLICIT WakeLockInformation::WakeLockInformation() :
    topic_(),
    numLocks_(),
    numHidden_()
{
    Init();
}

WakeLockInformation::~WakeLockInformation()
{
}

auto WakeLockInformation::operator==(const WakeLockInformation& _o) const -> bool
{
    if ((!((topic()) == ((_o).topic())))) {
        return false;
    }
    if ((!((numLocks()) == ((_o).numLocks())))) {
        return false;
    }
    if ((!((numHidden()) == ((_o).numHidden())))) {
        return false;
    }
    if ((!((lockingProcesses()) == ((_o).lockingProcesses())))) {
        return false;
    }
    return true;
}

auto WakeLockInformation::Init() -> void
{
}

auto WakeLockInformation::Assign(
        const nsString& _topic,
        const uint32_t& _numLocks,
        const uint32_t& _numHidden,
        const nsTArray<uint64_t>& _lockingProcesses) -> void
{
    topic_ = _topic;
    numLocks_ = _numLocks;
    numHidden_ = _numHidden;
    lockingProcesses_ = _lockingProcesses;
}

} // namespace hal
} // namespace mozilla

//-----------------------------------------------------------------------------
// Method definitions for the IPDL type |struct ScreenConfiguration|
//
namespace mozilla {
namespace hal {
MOZ_IMPLICIT ScreenConfiguration::ScreenConfiguration() :
    rect_(),
    orientation_(),
    angle_(),
    colorDepth_(),
    pixelDepth_()
{
    Init();
}

ScreenConfiguration::~ScreenConfiguration()
{
}

auto ScreenConfiguration::operator==(const ScreenConfiguration& _o) const -> bool
{
    if ((!((rect()) == ((_o).rect())))) {
        return false;
    }
    if ((!((orientation()) == ((_o).orientation())))) {
        return false;
    }
    if ((!((angle()) == ((_o).angle())))) {
        return false;
    }
    if ((!((colorDepth()) == ((_o).colorDepth())))) {
        return false;
    }
    if ((!((pixelDepth()) == ((_o).pixelDepth())))) {
        return false;
    }
    return true;
}

auto ScreenConfiguration::Init() -> void
{
}

auto ScreenConfiguration::Assign(
        const nsIntRect& _rect,
        const ScreenOrientationInternal& _orientation,
        const uint16_t& _angle,
        const uint32_t& _colorDepth,
        const uint32_t& _pixelDepth) -> void
{
    rect_ = _rect;
    orientation_ = _orientation;
    angle_ = _angle;
    colorDepth_ = _colorDepth;
    pixelDepth_ = _pixelDepth;
}

} // namespace hal
} // namespace mozilla

//-----------------------------------------------------------------------------
// Method definitions for the IPDL type |struct SystemTimezoneChangeInformation|
//
namespace mozilla {
namespace hal {
MOZ_IMPLICIT SystemTimezoneChangeInformation::SystemTimezoneChangeInformation() :
    oldTimezoneOffsetMinutes_(),
    newTimezoneOffsetMinutes_()
{
    Init();
}

SystemTimezoneChangeInformation::~SystemTimezoneChangeInformation()
{
}

auto SystemTimezoneChangeInformation::operator==(const SystemTimezoneChangeInformation& _o) const -> bool
{
    if ((!((oldTimezoneOffsetMinutes()) == ((_o).oldTimezoneOffsetMinutes())))) {
        return false;
    }
    if ((!((newTimezoneOffsetMinutes()) == ((_o).newTimezoneOffsetMinutes())))) {
        return false;
    }
    return true;
}

auto SystemTimezoneChangeInformation::Init() -> void
{
}

auto SystemTimezoneChangeInformation::Assign(
        const int32_t& _oldTimezoneOffsetMinutes,
        const int32_t& _newTimezoneOffsetMinutes) -> void
{
    oldTimezoneOffsetMinutes_ = _oldTimezoneOffsetMinutes;
    newTimezoneOffsetMinutes_ = _newTimezoneOffsetMinutes;
}

} // namespace hal
} // namespace mozilla
