summaryrefslogtreecommitdiff
path: root/NxWidgets/nxwm/include/cnxconsole.hxx
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-05-18 23:08:34 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-05-18 23:08:34 +0000
commit6cf694d2da5a661373a58c70e3d8e07cc8223eed (patch)
tree8c305f903a5334c3b7b2a48830c6f63199dedfda /NxWidgets/nxwm/include/cnxconsole.hxx
parentf2307dd23f254c58cbc85bcf553ec583509a7082 (diff)
downloadnuttx-6cf694d2da5a661373a58c70e3d8e07cc8223eed.tar.gz
nuttx-6cf694d2da5a661373a58c70e3d8e07cc8223eed.tar.bz2
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.hxx21
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
*/