17bbfe820c22c3e599276890d8b7baa48c32abbbvboxsync * MS COM / XPCOM Abstraction Layer - Listeners helpers.
7420e5ee5565b181c144eabb14da0da9e8cce657vboxsync * Copyright (C) 2010-2011 Oracle Corporation
206886290dbecc59a96634c1d4c9812f12dc21f9vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
206886290dbecc59a96634c1d4c9812f12dc21f9vboxsync * available from http://www.virtualbox.org. This file is free software;
206886290dbecc59a96634c1d4c9812f12dc21f9vboxsync * you can redistribute it and/or modify it under the terms of the GNU
206886290dbecc59a96634c1d4c9812f12dc21f9vboxsync * General Public License (GPL) as published by the Free Software
206886290dbecc59a96634c1d4c9812f12dc21f9vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
206886290dbecc59a96634c1d4c9812f12dc21f9vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
206886290dbecc59a96634c1d4c9812f12dc21f9vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
206886290dbecc59a96634c1d4c9812f12dc21f9vboxsync * The contents of this file may alternatively be used under the terms
206886290dbecc59a96634c1d4c9812f12dc21f9vboxsync * of the Common Development and Distribution License Version 1.0
206886290dbecc59a96634c1d4c9812f12dc21f9vboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
206886290dbecc59a96634c1d4c9812f12dc21f9vboxsync * VirtualBox OSE distribution, in which case the provisions of the
206886290dbecc59a96634c1d4c9812f12dc21f9vboxsync * CDDL are applicable instead of those of the GPL.
206886290dbecc59a96634c1d4c9812f12dc21f9vboxsync * You may elect to license modified versions of this file under the
206886290dbecc59a96634c1d4c9812f12dc21f9vboxsync * terms and conditions of either the GPL or the CDDL or both.
7420e5ee5565b181c144eabb14da0da9e8cce657vboxsyncNS_IMETHODIMP QueryInterface(REFNSIID aIID, void **aInstancePtr) \
7420e5ee5565b181c144eabb14da0da9e8cce657vboxsync NS_ASSERTION(aInstancePtr, "QueryInterface requires a non-NULL destination!"); \
7420e5ee5565b181c144eabb14da0da9e8cce657vboxsync# define NS_INTERFACE_MAP_BEGIN_INLINE() NS_IMPL_QUERY_HEAD_INLINE()
7420e5ee5565b181c144eabb14da0da9e8cce657vboxsync NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, a_i1) \
0e1df2d387f24e745916e4a97a3c28da018d1189vboxsync /* FTM stuff */
0e1df2d387f24e745916e4a97a3c28da018d1189vboxsync return CoCreateFreeThreadedMarshaler(this, &m_pUnkMarshaler.p);
0e1df2d387f24e745916e4a97a3c28da018d1189vboxsync COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pUnkMarshaler.p)
48cc5ec10dfb2e17176457b2593379ce1e296aeavboxsync NS_PRECONDITION(PRInt32(mRefCnt) >= 0, "illegal refcnt");
48cc5ec10dfb2e17176457b2593379ce1e296aeavboxsync NS_LOG_ADDREF(this, count, "ListenerImpl", sizeof(*this));
48cc5ec10dfb2e17176457b2593379ce1e296aeavboxsync /* enable this to find non-threadsafe destructors: */
48cc5ec10dfb2e17176457b2593379ce1e296aeavboxsync /* NS_ASSERT_OWNINGTHREAD(_class); */