VBoxDbgBase.h revision 489ff469f658c1a9e95ec8c62fec535c9ca6c6a7
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * VBox Debugger GUI - Base class.
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * Copyright (C) 2006-2007 Sun Microsystems, Inc.
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * available from http://www.virtualbox.org. This file is free software;
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * you can redistribute it and/or modify it under the terms of the GNU
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * General Public License (GPL) as published by the Free Software
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * additional information or have any questions.
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * VBox Debugger GUI Base Class.
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * The purpose of this class is to hide the VM handle, abstract VM
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * operations, and finally to make sure the GUI won't crash when
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * the VM dies.
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * Construct the object.
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * @param pVM The VM handle.
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * Destructor.
1d94ccd0c6d838a45dea3a79ba295adc4caabcf9vboxsync * Checks if the VM is OK for normal operations.
1d94ccd0c6d838a45dea3a79ba295adc4caabcf9vboxsync * @returns true if ok, false if not.
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync bool isVMOk() const
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync * Checks if the current thread is the GUI thread or not.
9d508d63ddd8cbaa227c3e3176bb376ba98ffa53vboxsync * @return true/false accordingly.
e7e589ca404045e288030a4151e57b63976cb39dvboxsync /** @name Operations
9d508d63ddd8cbaa227c3e3176bb376ba98ffa53vboxsync * Wrapper for STAMR3Reset().
4bcaf5d320bf0d88910212509c37bdd634e0879evboxsync * Wrapper for STAMR3Enum().
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync int stamEnum(const char *pszPat, PFNSTAMR3ENUM pfnEnum, void *pvUser);
7255e1c7174fd3b892a74dede74e72557f6cced9vboxsync * Wrapper for DBGCCreate().
b4514c911ccdb647c9c0f503f3cee0660f41104avboxsync /** @name Signals
b4514c911ccdb647c9c0f503f3cee0660f41104avboxsync * Called when the VM has been terminated.
7255e1c7174fd3b892a74dede74e72557f6cced9vboxsync * VM state callback function.
7255e1c7174fd3b892a74dede74e72557f6cced9vboxsync * You are not allowed to call any function which changes the VM state from a
9d508d63ddd8cbaa227c3e3176bb376ba98ffa53vboxsync * state callback, except VMR3Destroy().
9d508d63ddd8cbaa227c3e3176bb376ba98ffa53vboxsync * @param pVM The VM handle.
7255e1c7174fd3b892a74dede74e72557f6cced9vboxsync * @param enmState The new state.
b4514c911ccdb647c9c0f503f3cee0660f41104avboxsync * @param enmOldState The old state.
1d94ccd0c6d838a45dea3a79ba295adc4caabcf9vboxsync * @param pvUser The user argument.
e45e3ae4a834169539e689759ba6b3ac71bfe40fvboxsync static DECLCALLBACK(void) atStateChange(PVM pVM, VMSTATE enmState, VMSTATE enmOldState, void *pvUser);