module.cpp revision a9d57a8b0b7d020df59b6466a8ecb863c9ba9b0a
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * XPCOM module implementation functions
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync * Copyright (C) 2006-2014 Oracle Corporation
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * available from http://www.virtualbox.org. This file is free software;
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * you can redistribute it and/or modify it under the terms of the GNU
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * General Public License (GPL) as published by the Free Software
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync/* Make sure all the stdint.h macros are included - must come first! */
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync// generated file
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync// XPCOM glue code unfolding
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncNS_IMPL_THREADSAFE_ISUPPORTS1_CI(VirtualBoxClient, IVirtualBoxClient)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncNS_IMPL_THREADSAFE_ISUPPORTS2_CI(Session, ISession, IInternalSessionControl)
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsyncNS_IMPL_THREADSAFE_ISUPPORTS2_CI(GuestDirectory, IGuestDirectory, IDirectory)
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsyncNS_IMPL_THREADSAFE_ISUPPORTS2_CI(GuestFile, IGuestFile, IFile)
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsyncNS_IMPL_THREADSAFE_ISUPPORTS2_CI(GuestProcess, IGuestProcess, IProcess)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncNS_IMPL_THREADSAFE_ISUPPORTS1_CI(GuestSession, IGuestSession)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncNS_IMPL_THREADSAFE_ISUPPORTS1_CI(Keyboard, IKeyboard)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncNS_IMPL_THREADSAFE_ISUPPORTS2_CI(Display, IDisplay, IEventListener)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncNS_IMPL_THREADSAFE_ISUPPORTS1_CI(MachineDebugger, IMachineDebugger)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncNS_IMPL_THREADSAFE_ISUPPORTS1_CI(Progress, IProgress)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncNS_IMPL_THREADSAFE_ISUPPORTS2_CI(RemoteUSBDevice, IHostUSBDevice, IUSBDevice)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncNS_IMPL_THREADSAFE_ISUPPORTS1_CI(SharedFolder, ISharedFolder)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncNS_IMPL_THREADSAFE_ISUPPORTS1_CI(VRDEServerInfo, IVRDEServerInfo)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync// deliberately omit ExtPackFile as it's unusable in the client context
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync// NS_DECL_CLASSINFO(ExtPackFile)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync// NS_IMPL_THREADSAFE_ISUPPORTS2_CI(ExtPackFile, IExtPackFile, IExtPackBase)
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncNS_IMPL_THREADSAFE_ISUPPORTS2_CI(ExtPack, IExtPack, IExtPackBase)
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncNS_IMPL_THREADSAFE_ISUPPORTS1_CI(ExtPackManager, IExtPackManager)
22e281e75ed636601178296c6daebda8f1d17c59vboxsync#endif /* VBOX_COM_INPROC_API_CLIENT */
22e281e75ed636601178296c6daebda8f1d17c59vboxsync * Singleton class factory that holds a reference to the created instance
22e281e75ed636601178296c6daebda8f1d17c59vboxsync * (preventing it from being destroyed) until the module is explicitly
22e281e75ed636601178296c6daebda8f1d17c59vboxsync * unloaded by the XPCOM shutdown code.
22e281e75ed636601178296c6daebda8f1d17c59vboxsync * Suitable for IN-PROC components.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync/** @note this is for singleton; disabled for now */
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync//Session *SessionClassFactory::instance = 0;
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync//NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR_WITH_RC (
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync// Session, SessionClassFactory::getInstance
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncNS_GENERIC_FACTORY_CONSTRUCTOR_WITH_RC(VirtualBoxClient)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * Component definition table.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * Lists all components defined in this module.
a11c569636fa6838bd423f4631a9660a5a84204bvboxsync NS_SESSION_CID, NS_SESSION_CONTRACTID, // CID/ContractID
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync/** @note this is for singleton; disabled for now */
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync// SessionClassFactory::releaseInstance,
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync NS_CI_INTERFACE_GETTER_NAME(Session), // interfaces function
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync &NS_CLASSINFO_NAME(Session) // global class info & flags
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync NS_VIRTUALBOXCLIENT_CID, NS_VIRTUALBOXCLIENT_CONTRACTID, // CID/ContractID
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync VirtualBoxClientConstructor, // constructor function
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync NS_CI_INTERFACE_GETTER_NAME(VirtualBoxClient), // interfaces function
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync &NS_CLASSINFO_NAME(VirtualBoxClient) // global class info & flags
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncNS_IMPL_NSGETMODULE (VirtualBox_Client_Module, components)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync/* vi: set tabstop=4 shiftwidth=4 expandtab: */