6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync * VBoxManageGuestCtrl.h - Definitions for guest control.
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync * Copyright (C) 2013 Oracle Corporation
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync * available from http://www.virtualbox.org. This file is free software;
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync * you can redistribute it and/or modify it under the terms of the GNU
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync * General Public License (GPL) as published by the Free Software
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsyncconst char *ctrlFileStatusToText(FileStatus_T enmStatus);
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsyncconst char *ctrlProcessStatusToText(ProcessStatus_T enmStatus);
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsyncconst char *ctrlSessionStatusToText(GuestSessionStatus_T enmStatus);
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsynctypedef ListenerImpl<GuestFileEventListener> GuestFileEventListenerImpl;
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsynctypedef ListenerImpl<GuestProcessEventListener> GuestProcessEventListenerImpl;
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsynctypedef ListenerImpl<GuestSessionEventListener> GuestSessionEventListenerImpl;
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsynctypedef ListenerImpl<GuestEventListener> GuestEventListenerImpl;
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync/** Simple statistics class for binding locally
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync * held data to a specific guest object. */
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync /** @todo Make this more a class than a structure. */
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync GuestFileStats(ComObjPtr<GuestFileEventListenerImpl> pListenerImpl)
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync GuestProcStats(ComObjPtr<GuestProcessEventListenerImpl> pListenerImpl)
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync ComObjPtr<GuestProcessEventListenerImpl> mListener;
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync GuestSessionStats(ComObjPtr<GuestSessionEventListenerImpl> pListenerImpl)
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync ComObjPtr<GuestSessionEventListenerImpl> mListener;
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync/** Map containing all watched guest files. */
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsynctypedef std::map< ComPtr<IGuestFile>, GuestFileStats > GuestEventFiles;
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync/** Map containing all watched guest processes. */
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsynctypedef std::map< ComPtr<IGuestProcess>, GuestProcStats > GuestEventProcs;
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync/** Map containing all watched guest sessions. */
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsynctypedef std::map< ComPtr<IGuestSession>, GuestSessionStats > GuestEventSessions;
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync /** Verbose flag. */
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync * Handler for guest process events.
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsyncclass GuestFileEventListener : public GuestListenerBase
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync STDMETHOD(HandleEvent)(VBoxEventType_T aType, IEvent *aEvent);
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync * Handler for guest process events.
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsyncclass GuestProcessEventListener : public GuestListenerBase
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync STDMETHOD(HandleEvent)(VBoxEventType_T aType, IEvent *aEvent);
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync * Handler for guest session events.
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsyncclass GuestSessionEventListener : public GuestListenerBase
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync STDMETHOD(HandleEvent)(VBoxEventType_T aType, IEvent *aEvent);
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync * Handler for guest events.
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync STDMETHOD(HandleEvent)(VBoxEventType_T aType, IEvent *aEvent);
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync#endif /* !VBOX_ONLY_DOCS */
6a8248a13343c9d396578bf8b0aef0e3312bfcbdvboxsync#endif /* !___H_VBOXMANAGE_GUESTCTRL */