GuestProcessImpl.h revision ed9d3db07648c7e3a979105c15ad752ee9ea18de
6eb6d0439d67fd4833f1d058b63bc9a56277b0b2vboxsync * VirtualBox Main - XXX.
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync * Copyright (C) 2012 Oracle Corporation
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync * available from http://www.virtualbox.org. This file is free software;
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync * you can redistribute it and/or modify it under the terms of the GNU
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync * General Public License (GPL) as published by the Free Software
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
667f741ffdced56a2059511ce99372ebdd62a115vboxsync /** @name COM and internal init/term/mapping cruft.
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(GuestProcess, IGuestProcess)
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync int init(Console *aConsole, GuestSession *aSession, ULONG aProcessID, const GuestProcessInfo &aProcInfo);
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync /** @name IProcess interface.
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync STDMETHOD(COMGETTER(Arguments))(ComSafeArrayOut(BSTR, aArguments));
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync STDMETHOD(COMGETTER(Environment))(ComSafeArrayOut(BSTR, aEnvironment));
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync STDMETHOD(COMGETTER(ExecutablePath))(BSTR *aExecutablePath);
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync STDMETHOD(COMGETTER(Status))(ProcessStatus_T *aStatus);
18470279db8a9fdd714617adbe1aa8b63cc80aeevboxsync STDMETHOD(Read)(ULONG aHandle, ULONG aSize, ULONG aTimeoutMS, ComSafeArrayOut(BYTE, aData));
STDMETHOD(WaitFor)(ComSafeArrayIn(ProcessWaitForFlag_T, aFlags), ULONG aTimeoutMS, ProcessWaitResult_T *aReason);
void close(void);
bool isReady(void);
int startProcess(void);
int startProcessAsync(void);
int terminateProcess(void);
int writeData(ULONG uHandle, BYTE const *pbData, size_t cbData, ULONG uTimeoutMS, ULONG *puWritten);
struct Data
bool mStarted;
} mData;