diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-05-18 23:08:34 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-05-18 23:08:34 +0000 |
commit | 6cf694d2da5a661373a58c70e3d8e07cc8223eed (patch) | |
tree | 8c305f903a5334c3b7b2a48830c6f63199dedfda /NxWidgets/nxwm/include/cnxconsole.hxx | |
parent | f2307dd23f254c58cbc85bcf553ec583509a7082 (diff) | |
download | px4-nuttx-6cf694d2da5a661373a58c70e3d8e07cc8223eed.tar.gz px4-nuttx-6cf694d2da5a661373a58c70e3d8e07cc8223eed.tar.bz2 px4-nuttx-6cf694d2da5a661373a58c70e3d8e07cc8223eed.zip |
Final refactoring and implementation of delayed window deletion logic. Works worse now, but the changes are important and need to be checked in now
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4747 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'NxWidgets/nxwm/include/cnxconsole.hxx')
-rw-r--r-- | NxWidgets/nxwm/include/cnxconsole.hxx | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/NxWidgets/nxwm/include/cnxconsole.hxx b/NxWidgets/nxwm/include/cnxconsole.hxx index b95c86406..bf3606f05 100644 --- a/NxWidgets/nxwm/include/cnxconsole.hxx +++ b/NxWidgets/nxwm/include/cnxconsole.hxx @@ -49,6 +49,7 @@ #include "iapplication.hxx" #include "capplicationwindow.hxx" #include "ctaskbar.hxx" +#include "cwindowmessenger.hxx" /**************************************************************************** * Pre-Processor Definitions @@ -78,10 +79,11 @@ namespace NxWM class CNxConsole : public IApplication, private IApplicationCallback { private: - CTaskbar *m_taskbar; /**< Reference to the "parent" taskbar */ - CApplicationWindow *m_window; /**< Reference to the application window */ - NXCONSOLE m_nxcon; /**< NxConsole handle */ - pid_t m_pid; /**< Task ID of the NxConsole thread */ + CWindowMessenger m_messenger; /**< Window event handler/messenger */ + CTaskbar *m_taskbar; /**< Reference to the "parent" taskbar */ + CApplicationWindow *m_window; /**< Reference to the application window */ + NXCONSOLE m_nxcon; /**< NxConsole handle */ + pid_t m_pid; /**< Task ID of the NxConsole thread */ /** * This is the NxConsole task. This function first redirects output to the @@ -167,6 +169,17 @@ namespace NxWM void stop(void); /** + * Destroy the application and free all of its resources. This method + * will initiate blocking of messages from the NX server. The server + * will flush the window message queue and reply with the blocked + * message. When the block message is received by CWindowMessenger, + * it will send the destroy message to the start window task which + * will, finally, safely delete the application. + */ + + void destroy(void); + + /** * The application window is hidden (either it is minimized or it is * maximized, but not at the top of the hierarchy */ |