/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef mozilla_WidgetMessageUtils_h #define mozilla_WidgetMessageUtils_h #include "ipc/IPCMessageUtils.h" #include "mozilla/LookAndFeel.h" #include "nsIWidget.h" namespace IPC { template <> struct ParamTraits { typedef LookAndFeelInt paramType; static void Write(Message* aMsg, const paramType& aParam) { WriteParam(aMsg, static_cast(aParam.id)); WriteParam(aMsg, aParam.value); } static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult) { int32_t id, value; if (ReadParam(aMsg, aIter, &id) && ReadParam(aMsg, aIter, &value)) { aResult->id = static_cast(id); aResult->value = value; return true; } return false; } }; template <> struct ParamTraits : public ContiguousEnumSerializerInclusive {}; template <> struct ParamTraits : public ContiguousEnumSerializer {}; } // namespace IPC #endif // WidgetMessageUtils_h