SessionImpl.h revision 3fa054c0038fc8f6731129def4437296b773918f
/** @file
*
* VBox Client Session COM Class definition
*/
/*
* Copyright (C) 2006-2007 innotek GmbH
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License as published by the Free Software Foundation,
* in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
* distribution. VirtualBox OSE is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY of any kind.
*
* If you received this file as part of a commercial VirtualBox
* distribution, then only the terms of your commercial VirtualBox
* license agreement apply instead of the previous paragraph.
*/
#ifndef ____H_SESSIONIMPL
#define ____H_SESSIONIMPL
#include "VirtualBoxBase.h"
#include "ConsoleImpl.h"
#ifdef __WIN__
#include "win32/resource.h"
#endif
/** @def VBOX_WITH_SYS_V_IPC_SESSION_WATCHER
* Use SYS V IPC for watching a session.
* This is defined in the Makefile since it's also used by MachineImpl.h/cpp.
*
* (The same goes for the other darwin changes.)
*/
#ifdef __DOXYGEN__
# define VBOX_WITH_SYS_V_IPC_SESSION_WATCHER
#endif
#ifdef __WIN__
#else
#endif
{
void FinalRelease();
// public initializers/uninitializers only for internal purposes
void uninit (bool aFinalRelease);
// ISession properties
// ISession methods
// IInternalSessionControl methods
// for VirtualBoxSupportErrorInfoImpl
void releaseIPCSemaphore();
/* interprocess semaphore handle (id) for the opened machine */
#if defined(__WIN__)
#elif defined(VBOX_WITH_SYS_V_IPC_SESSION_WATCHER)
int mIPCSem;
#else
# error "Port me!"
#endif
};
#endif // ____H_SESSIONIMPL