/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */

typedef struct _MozRemotableHandle
{
  long fContext;
  long hRemote;
} MozRemotableHandle;

typedef [unique] MozRemotableHandle * mozHWND;
typedef [unique] MozRemotableHandle * mozHMENU;
typedef [unique] MozRemotableHandle * mozHACCEL;
typedef [unique] MozRemotableHandle * mozHBRUSH;
typedef [unique] MozRemotableHandle * mozHFONT;
typedef [unique] MozRemotableHandle * mozHDC;
typedef [unique] MozRemotableHandle * mozHICON;
typedef [unique] MozRemotableHandle * mozHRGN;
typedef [unique] MozRemotableHandle * mozHMONITOR;

cpp_quote("#if 0")
typedef [wire_marshal(mozHWND)] void* HWND;
typedef [wire_marshal(mozHMENU)] void* HMENU;
typedef [wire_marshal(mozHACCEL)] void* HACCEL;
typedef [wire_marshal(mozHBRUSH)] void* HBRUSH;
typedef [wire_marshal(mozHFONT)] void* HFONT;
typedef [wire_marshal(mozHDC)] void* HDC;
typedef [wire_marshal(mozHICON)] void* HICON;
typedef [wire_marshal(mozHRGN)] void* HRGN;
typedef [wire_marshal(mozHMONITOR)] void* HMONITOR;
cpp_quote("#endif // 0")

// We are explicitly using #include instead of import so that the imported
// IDL is treated as part of this IDL file.
#include "ia2_api_all.idl"
