Change all references to NxConsole to NxTerm
This commit is contained in:
parent
e9e12a5ffb
commit
a39743bbf3
@ -71,7 +71,7 @@ CXXSRCS += ccalibration.cxx
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_NXWM_NXTERM),y)
|
ifeq ($(CONFIG_NXWM_NXTERM),y)
|
||||||
CXXSRCS += cnxconsole.cxx
|
CXXSRCS += cnxterm.cxx
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Images
|
# Images
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <nuttx/nx/nxtk.h>
|
#include <nuttx/nx/nxtk.h>
|
||||||
#include <nuttx/nx/nxconsole.h>
|
#include <nuttx/nx/nxterm.h>
|
||||||
|
|
||||||
#include "cbuttonarray.hxx"
|
#include "cbuttonarray.hxx"
|
||||||
#include "clabel.hxx"
|
#include "clabel.hxx"
|
||||||
@ -70,7 +70,7 @@
|
|||||||
namespace NxWM
|
namespace NxWM
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* This class implements the NxConsole application.
|
* This class implements the NxTerm application.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class CHexCalculator : public IApplication,
|
class CHexCalculator : public IApplication,
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <nuttx/nx/nxtk.h>
|
#include <nuttx/nx/nxtk.h>
|
||||||
#include <nuttx/nx/nxconsole.h>
|
#include <nuttx/nx/nxterm.h>
|
||||||
|
|
||||||
#include "cnxfont.hxx"
|
#include "cnxfont.hxx"
|
||||||
#include "cimage.hxx"
|
#include "cimage.hxx"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* NxWidgets/nxwm/include/cnxconsole.hxx
|
* NxWidgets/nxwm/include/cnxterm.hxx
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@ -33,8 +33,8 @@
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef __INCLUDE_CNXCONSOLE_HXX
|
#ifndef __INCLUDE_CNXTERM_HXX
|
||||||
#define __INCLUDE_CNXCONSOLE_HXX
|
#define __INCLUDE_CNXTERM_HXX
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Included Files
|
* Included Files
|
||||||
@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <nuttx/nx/nxtk.h>
|
#include <nuttx/nx/nxtk.h>
|
||||||
#include <nuttx/nx/nxconsole.h>
|
#include <nuttx/nx/nxterm.h>
|
||||||
|
|
||||||
#include "iapplication.hxx"
|
#include "iapplication.hxx"
|
||||||
#include "capplicationwindow.hxx"
|
#include "capplicationwindow.hxx"
|
||||||
@ -72,27 +72,27 @@ namespace NxWM
|
|||||||
bool nshlibInitialize(void);
|
bool nshlibInitialize(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class implements the NxConsole application.
|
* This class implements the NxTerm application.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class CNxConsole : public IApplication, private IApplicationCallback
|
class CNxTerm : public IApplication, private IApplicationCallback
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
CTaskbar *m_taskbar; /**< Reference to the "parent" taskbar */
|
CTaskbar *m_taskbar; /**< Reference to the "parent" taskbar */
|
||||||
CApplicationWindow *m_window; /**< Reference to the application window */
|
CApplicationWindow *m_window; /**< Reference to the application window */
|
||||||
NXCONSOLE m_nxcon; /**< NxConsole handle */
|
NXTERMi m_nxcon; /**< NxTerm handle */
|
||||||
pid_t m_pid; /**< Task ID of the NxConsole thread */
|
pid_t m_pid; /**< Task ID of the NxTerm thread */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the NxConsole task. This function first redirects output to the
|
* This is the NxTerm task. This function first redirects output to the
|
||||||
* console window then calls to start the NSH logic.
|
* console window then calls to start the NSH logic.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static int nxconsole(int argc, char *argv[]);
|
static int nxterm(int argc, char *argv[]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the NxConsole task exit handler. It is registered with on_exit()
|
* This is the NxTerm task exit handler. It is registered with on_exit()
|
||||||
* and called automatically when the nxconsole task exits.
|
* and called automatically when the nxterm task exits.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void exitHandler(int code, FAR void *arg);
|
static void exitHandler(int code, FAR void *arg);
|
||||||
@ -111,7 +111,7 @@ namespace NxWM
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* CNxConsole constructor
|
* CNxTerm constructor
|
||||||
*
|
*
|
||||||
* @param window. The application window
|
* @param window. The application window
|
||||||
*
|
*
|
||||||
@ -119,13 +119,13 @@ namespace NxWM
|
|||||||
* @param window. The window to be used by this application.
|
* @param window. The window to be used by this application.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
CNxConsole(CTaskbar *taskbar, CApplicationWindow *window);
|
CNxTerm(CTaskbar *taskbar, CApplicationWindow *window);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CNxConsole destructor
|
* CNxTerm destructor
|
||||||
*/
|
*/
|
||||||
|
|
||||||
~CNxConsole(void);
|
~CNxTerm(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Each implementation of IApplication must provide a method to recover
|
* Each implementation of IApplication must provide a method to recover
|
||||||
@ -203,28 +203,28 @@ namespace NxWM
|
|||||||
bool isFullScreen(void) const;
|
bool isFullScreen(void) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CNxConsoleFactory : public IApplicationFactory
|
class CNxTermFactory : public IApplicationFactory
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
CTaskbar *m_taskbar; /**< The taskbar */
|
CTaskbar *m_taskbar; /**< The taskbar */
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* CNxConsoleFactory Constructor
|
* CNxTermFactory Constructor
|
||||||
*
|
*
|
||||||
* @param taskbar. The taskbar instance used to terminate calibration
|
* @param taskbar. The taskbar instance used to terminate calibration
|
||||||
*/
|
*/
|
||||||
|
|
||||||
CNxConsoleFactory(CTaskbar *taskbar);
|
CNxTermFactory(CTaskbar *taskbar);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CNxConsoleFactory Destructor
|
* CNxTermFactory Destructor
|
||||||
*/
|
*/
|
||||||
|
|
||||||
inline ~CNxConsoleFactory(void) { }
|
inline ~CNxTermFactory(void) { }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new instance of an CNxConsole (as IApplication).
|
* Create a new instance of an CNxTerm (as IApplication).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
IApplication *create(void);
|
IApplication *create(void);
|
||||||
@ -242,4 +242,4 @@ namespace NxWM
|
|||||||
}
|
}
|
||||||
#endif // __cplusplus
|
#endif // __cplusplus
|
||||||
|
|
||||||
#endif // __INCLUDE_CNXCONSOLE_HXX
|
#endif // __INCLUDE_CNXTERM_HXX
|
@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
#include <nuttx/wqueue.h>
|
#include <nuttx/wqueue.h>
|
||||||
#include <nuttx/nx/nxtk.h>
|
#include <nuttx/nx/nxtk.h>
|
||||||
#include <nuttx/nx/nxconsole.h>
|
#include <nuttx/nx/nxterm.h>
|
||||||
|
|
||||||
#include "cwindoweventhandler.hxx"
|
#include "cwindoweventhandler.hxx"
|
||||||
#include "cwidgetstyle.hxx"
|
#include "cwidgetstyle.hxx"
|
||||||
|
@ -57,7 +57,7 @@
|
|||||||
* CONFIG_HAVE_CXX : C++ support is required
|
* CONFIG_HAVE_CXX : C++ support is required
|
||||||
* CONFIG_NX : NX must enabled
|
* CONFIG_NX : NX must enabled
|
||||||
* CONFIG_NX_MULTIUSER=y : NX must be configured in multiuse mode
|
* CONFIG_NX_MULTIUSER=y : NX must be configured in multiuse mode
|
||||||
* CONFIG_NXTERM=y : For NxConsole support
|
* CONFIG_NXTERM=y : For NxTerm support
|
||||||
* CONFIG_SCHED_ONEXIT : Support for on_exit()
|
* CONFIG_SCHED_ONEXIT : Support for on_exit()
|
||||||
*
|
*
|
||||||
* General settings:
|
* General settings:
|
||||||
@ -85,12 +85,12 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* NxConsole support is (probably) required if CONFIG_NXWM_NXTERM is
|
* NxTerm support is (probably) required if CONFIG_NXWM_NXTERM is
|
||||||
* selected
|
* selected
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(CONFIG_NXWM_NXTERM) && !defined(CONFIG_NXTERM)
|
#if defined(CONFIG_NXWM_NXTERM) && !defined(CONFIG_NXTERM)
|
||||||
# warning "NxConsole support may be needed (CONFIG_NXTERM)"
|
# warning "NxTerm support may be needed (CONFIG_NXTERM)"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -363,24 +363,24 @@
|
|||||||
# define CONFIG_NXWM_STARTWINDOW_STACKSIZE 2048
|
# define CONFIG_NXWM_STARTWINDOW_STACKSIZE 2048
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* NxConsole Window *********************************************************/
|
/* NxTerm Window *********************************************************/
|
||||||
/**
|
/**
|
||||||
* NxConsole Window Configuration
|
* NxTerm Window Configuration
|
||||||
*
|
*
|
||||||
* CONFIG_NXWM_NXTERM_PRIO - Priority of the NxConsole task. Default:
|
* CONFIG_NXWM_NXTERM_PRIO - Priority of the NxTerm task. Default:
|
||||||
* SCHED_PRIORITY_DEFAULT. NOTE: This priority should be less than
|
* SCHED_PRIORITY_DEFAULT. NOTE: This priority should be less than
|
||||||
* CONFIG_NXWIDGETS_SERVERPRIO or else there may be data overrun errors.
|
* CONFIG_NXWIDGETS_SERVERPRIO or else there may be data overrun errors.
|
||||||
* Such errors would most likely appear as duplicated rows of data on the
|
* Such errors would most likely appear as duplicated rows of data on the
|
||||||
* display.
|
* display.
|
||||||
* CONFIG_NXWM_NXTERM_STACKSIZE - The stack size to use when starting the
|
* CONFIG_NXWM_NXTERM_STACKSIZE - The stack size to use when starting the
|
||||||
* NxConsole task. Default: 2048 bytes.
|
* NxTerm task. Default: 2048 bytes.
|
||||||
* CONFIG_NXWM_NXTERM_WCOLOR - The color of the NxConsole window background.
|
* CONFIG_NXWM_NXTERM_WCOLOR - The color of the NxTerm window background.
|
||||||
* Default: MKRGB(192,192,192)
|
* Default: MKRGB(192,192,192)
|
||||||
* CONFIG_NXWM_NXTERM_FONTCOLOR - The color of the fonts to use in the
|
* CONFIG_NXWM_NXTERM_FONTCOLOR - The color of the fonts to use in the
|
||||||
* NxConsole window. Default: MKRGB(0,0,0)
|
* NxTerm window. Default: MKRGB(0,0,0)
|
||||||
* CONFIG_NXWM_NXTERM_FONTID - The ID of the font to use in the NxConsole
|
* CONFIG_NXWM_NXTERM_FONTID - The ID of the font to use in the NxTerm
|
||||||
* window. Default: CONFIG_NXWM_DEFAULT_FONTID
|
* window. Default: CONFIG_NXWM_DEFAULT_FONTID
|
||||||
* CONFIG_NXWM_NXTERM_ICON - The glyph to use as the NxConsole icon
|
* CONFIG_NXWM_NXTERM_ICON - The glyph to use as the NxTerm icon
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef CONFIG_NXWM_NXTERM
|
#ifdef CONFIG_NXWM_NXTERM
|
||||||
@ -410,7 +410,7 @@
|
|||||||
# endif
|
# endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The NxConsole window glyph
|
* The NxTerm window glyph
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifndef CONFIG_NXWM_NXTERM_ICON
|
# ifndef CONFIG_NXWM_NXTERM_ICON
|
||||||
|
@ -973,7 +973,7 @@ CHexCalculatorFactory::CHexCalculatorFactory(CTaskbar *taskbar)
|
|||||||
IApplication *CHexCalculatorFactory::create(void)
|
IApplication *CHexCalculatorFactory::create(void)
|
||||||
{
|
{
|
||||||
// Call CTaskBar::openFullScreenWindow to create a application window for
|
// Call CTaskBar::openFullScreenWindow to create a application window for
|
||||||
// the NxConsole application
|
// the NxTerm application
|
||||||
|
|
||||||
CApplicationWindow *window = m_taskbar->openApplicationWindow();
|
CApplicationWindow *window = m_taskbar->openApplicationWindow();
|
||||||
if (!window)
|
if (!window)
|
||||||
|
@ -1906,7 +1906,7 @@ CMediaPlayerFactory::CMediaPlayerFactory(CTaskbar *taskbar)
|
|||||||
IApplication *CMediaPlayerFactory::create(void)
|
IApplication *CMediaPlayerFactory::create(void)
|
||||||
{
|
{
|
||||||
// Call CTaskBar::openFullScreenWindow to create a application window for
|
// Call CTaskBar::openFullScreenWindow to create a application window for
|
||||||
// the NxConsole application
|
// the NxTerm application
|
||||||
|
|
||||||
CApplicationWindow *window = m_taskbar->openApplicationWindow();
|
CApplicationWindow *window = m_taskbar->openApplicationWindow();
|
||||||
if (!window)
|
if (!window)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/********************************************************************************************
|
/********************************************************************************************
|
||||||
* NxWidgets/nxwm/src/cnxconsole.cxx
|
* NxWidgets/nxwm/src/cnxterm.cxx
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012. 2104 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2012. 2104 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@ -55,7 +55,7 @@
|
|||||||
|
|
||||||
#include "nxwmconfig.hxx"
|
#include "nxwmconfig.hxx"
|
||||||
#include "nxwmglyphs.hxx"
|
#include "nxwmglyphs.hxx"
|
||||||
#include "cnxconsole.hxx"
|
#include "cnxterm.hxx"
|
||||||
|
|
||||||
/********************************************************************************************
|
/********************************************************************************************
|
||||||
* Pre-Processor Definitions
|
* Pre-Processor Definitions
|
||||||
@ -73,19 +73,19 @@
|
|||||||
namespace NxWM
|
namespace NxWM
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* This structure is used to pass start up parameters to the NxConsole task and to assure the
|
* This structure is used to pass start up parameters to the NxTerm task and to assure the
|
||||||
* the NxConsole is successfully started.
|
* the NxTerm is successfully started.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
struct SNxConsole
|
struct SNxTerm
|
||||||
{
|
{
|
||||||
FAR void *console; /**< The console 'this' pointer use with on_exit() */
|
FAR void *console; /**< The console 'this' pointer use with on_exit() */
|
||||||
sem_t exclSem; /**< Sem that gives exclusive access to this structure */
|
sem_t exclSem; /**< Sem that gives exclusive access to this structure */
|
||||||
sem_t waitSem; /**< Sem that posted when the task is initialized */
|
sem_t waitSem; /**< Sem that posted when the task is initialized */
|
||||||
NXTKWINDOW hwnd; /**< Window handle */
|
NXTKWINDOW hwnd; /**< Window handle */
|
||||||
NXCONSOLE nxcon; /**< NxConsole handle */
|
NXTERM nxcon; /**< NxTerm handle */
|
||||||
int minor; /**< Next device minor number */
|
int minor; /**< Next device minor number */
|
||||||
struct nxcon_window_s wndo; /**< Describes the NxConsole window */
|
struct nxcon_window_s wndo; /**< Describes the NxTerm window */
|
||||||
bool result; /**< True if successfully initialized */
|
bool result; /**< True if successfully initialized */
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -94,11 +94,11 @@ namespace NxWM
|
|||||||
********************************************************************************************/
|
********************************************************************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This global data structure is used to pass start parameters to NxConsole task and to
|
* This global data structure is used to pass start parameters to NxTerm task and to
|
||||||
* assure that the NxConsole is successfully started.
|
* assure that the NxTerm is successfully started.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static struct SNxConsole g_nxconvars;
|
static struct SNxTerm g_nxconvars;
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************************************************************************
|
/********************************************************************************************
|
||||||
@ -106,25 +106,25 @@ namespace NxWM
|
|||||||
********************************************************************************************/
|
********************************************************************************************/
|
||||||
|
|
||||||
/********************************************************************************************
|
/********************************************************************************************
|
||||||
* CNxConsole Method Implementations
|
* CNxTerm Method Implementations
|
||||||
********************************************************************************************/
|
********************************************************************************************/
|
||||||
|
|
||||||
using namespace NxWM;
|
using namespace NxWM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CNxConsole constructor
|
* CNxTerm constructor
|
||||||
*
|
*
|
||||||
* @param window. The application window
|
* @param window. The application window
|
||||||
*/
|
*/
|
||||||
|
|
||||||
CNxConsole::CNxConsole(CTaskbar *taskbar, CApplicationWindow *window)
|
CNxTerm::CNxTerm(CTaskbar *taskbar, CApplicationWindow *window)
|
||||||
{
|
{
|
||||||
// Save the constructor data
|
// Save the constructor data
|
||||||
|
|
||||||
m_taskbar = taskbar;
|
m_taskbar = taskbar;
|
||||||
m_window = window;
|
m_window = window;
|
||||||
|
|
||||||
// The NxConsole is not runing
|
// The NxTerm is not runing
|
||||||
|
|
||||||
m_pid = -1;
|
m_pid = -1;
|
||||||
m_nxcon = 0;
|
m_nxcon = 0;
|
||||||
@ -140,14 +140,14 @@ CNxConsole::CNxConsole(CTaskbar *taskbar, CApplicationWindow *window)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CNxConsole destructor
|
* CNxTerm destructor
|
||||||
*
|
*
|
||||||
* @param window. The application window
|
* @param window. The application window
|
||||||
*/
|
*/
|
||||||
|
|
||||||
CNxConsole::~CNxConsole(void)
|
CNxTerm::~CNxTerm(void)
|
||||||
{
|
{
|
||||||
// There would be a problem if we were stopped with the NxConsole task
|
// There would be a problem if we were stopped with the NxTerm task
|
||||||
// running... that should never happen but we'll check anyway:
|
// running... that should never happen but we'll check anyway:
|
||||||
|
|
||||||
stop();
|
stop();
|
||||||
@ -163,7 +163,7 @@ CNxConsole::~CNxConsole(void)
|
|||||||
* the contained CApplicationWindow instance.
|
* the contained CApplicationWindow instance.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
IApplicationWindow *CNxConsole::getWindow(void) const
|
IApplicationWindow *CNxTerm::getWindow(void) const
|
||||||
{
|
{
|
||||||
return static_cast<IApplicationWindow*>(m_window);
|
return static_cast<IApplicationWindow*>(m_window);
|
||||||
}
|
}
|
||||||
@ -176,7 +176,7 @@ IApplicationWindow *CNxConsole::getWindow(void) const
|
|||||||
* be deleted by the caller when it is no long needed.
|
* be deleted by the caller when it is no long needed.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
NXWidgets::IBitmap *CNxConsole::getIcon(void)
|
NXWidgets::IBitmap *CNxTerm::getIcon(void)
|
||||||
{
|
{
|
||||||
NXWidgets::CRlePaletteBitmap *bitmap =
|
NXWidgets::CRlePaletteBitmap *bitmap =
|
||||||
new NXWidgets::CRlePaletteBitmap(&CONFIG_NXWM_NXTERM_ICON);
|
new NXWidgets::CRlePaletteBitmap(&CONFIG_NXWM_NXTERM_ICON);
|
||||||
@ -190,7 +190,7 @@ NXWidgets::IBitmap *CNxConsole::getIcon(void)
|
|||||||
* @return A copy if CNxString that contains the name of the application.
|
* @return A copy if CNxString that contains the name of the application.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
NXWidgets::CNxString CNxConsole::getName(void)
|
NXWidgets::CNxString CNxTerm::getName(void)
|
||||||
{
|
{
|
||||||
return NXWidgets::CNxString("NuttShell");
|
return NXWidgets::CNxString("NuttShell");
|
||||||
}
|
}
|
||||||
@ -201,7 +201,7 @@ NXWidgets::CNxString CNxConsole::getName(void)
|
|||||||
* @return True if the application was successfully started.
|
* @return True if the application was successfully started.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
bool CNxConsole::run(void)
|
bool CNxTerm::run(void)
|
||||||
{
|
{
|
||||||
// Some sanity checking
|
// Some sanity checking
|
||||||
|
|
||||||
@ -233,7 +233,7 @@ bool CNxConsole::run(void)
|
|||||||
|
|
||||||
g_nxconvars.hwnd = control->getWindowHandle();
|
g_nxconvars.hwnd = control->getWindowHandle();
|
||||||
|
|
||||||
// Describe the NxConsole
|
// Describe the NxTerm
|
||||||
|
|
||||||
g_nxconvars.wndo.wcolor[0] = CONFIG_NXWM_NXTERM_WCOLOR;
|
g_nxconvars.wndo.wcolor[0] = CONFIG_NXWM_NXTERM_WCOLOR;
|
||||||
g_nxconvars.wndo.fcolor[0] = CONFIG_NXWM_NXTERM_FONTCOLOR;
|
g_nxconvars.wndo.fcolor[0] = CONFIG_NXWM_NXTERM_FONTCOLOR;
|
||||||
@ -243,23 +243,23 @@ bool CNxConsole::run(void)
|
|||||||
|
|
||||||
(void)window->getSize(&g_nxconvars.wndo.wsize);
|
(void)window->getSize(&g_nxconvars.wndo.wsize);
|
||||||
|
|
||||||
// Start the NxConsole task
|
// Start the NxTerm task
|
||||||
|
|
||||||
g_nxconvars.console = (FAR void *)this;
|
g_nxconvars.console = (FAR void *)this;
|
||||||
g_nxconvars.result = false;
|
g_nxconvars.result = false;
|
||||||
g_nxconvars.nxcon = 0;
|
g_nxconvars.nxcon = 0;
|
||||||
|
|
||||||
sched_lock();
|
sched_lock();
|
||||||
m_pid = task_create("NxConsole", CONFIG_NXWM_NXTERM_PRIO,
|
m_pid = task_create("NxTerm", CONFIG_NXWM_NXTERM_PRIO,
|
||||||
CONFIG_NXWM_NXTERM_STACKSIZE, nxconsole,
|
CONFIG_NXWM_NXTERM_STACKSIZE, nxterm,
|
||||||
(FAR char * const *)0);
|
(FAR char * const *)0);
|
||||||
|
|
||||||
// Did we successfully start the NxConsole task?
|
// Did we successfully start the NxTerm task?
|
||||||
|
|
||||||
bool result = true;
|
bool result = true;
|
||||||
if (m_pid < 0)
|
if (m_pid < 0)
|
||||||
{
|
{
|
||||||
gdbg("ERROR: Failed to create the NxConsole task\n");
|
gdbg("ERROR: Failed to create the NxTerm task\n");
|
||||||
result = false;
|
result = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -275,11 +275,11 @@ bool CNxConsole::run(void)
|
|||||||
|
|
||||||
if (ret == OK && g_nxconvars.result)
|
if (ret == OK && g_nxconvars.result)
|
||||||
{
|
{
|
||||||
// Re-direct NX keyboard input to the new NxConsole driver
|
// Re-direct NX keyboard input to the new NxTerm driver
|
||||||
|
|
||||||
DEBUGASSERT(g_nxconvars.nxcon != 0);
|
DEBUGASSERT(g_nxconvars.nxcon != 0);
|
||||||
#ifdef CONFIG_NXTERM_NXKBDIN
|
#ifdef CONFIG_NXTERM_NXKBDIN
|
||||||
window->redirectNxConsole(g_nxconvars.nxcon);
|
window->redirectNxTerm(g_nxconvars.nxcon);
|
||||||
#endif
|
#endif
|
||||||
// Save the handle to use in the stop method
|
// Save the handle to use in the stop method
|
||||||
|
|
||||||
@ -287,10 +287,10 @@ bool CNxConsole::run(void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// sem_timedwait failed OR the NxConsole task reported a
|
// sem_timedwait failed OR the NxTerm task reported a
|
||||||
// failure. Stop the application
|
// failure. Stop the application
|
||||||
|
|
||||||
gdbg("ERROR: Failed start the NxConsole task\n");
|
gdbg("ERROR: Failed start the NxTerm task\n");
|
||||||
stop();
|
stop();
|
||||||
result = false;
|
result = false;
|
||||||
}
|
}
|
||||||
@ -304,18 +304,18 @@ bool CNxConsole::run(void)
|
|||||||
* Stop the application.
|
* Stop the application.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CNxConsole::stop(void)
|
void CNxTerm::stop(void)
|
||||||
{
|
{
|
||||||
// Delete the NxConsole task if it is still running (this could strand
|
// Delete the NxTerm task if it is still running (this could strand
|
||||||
// resources). If we get here due to CTaskbar::stopApplication() processing
|
// resources). If we get here due to CTaskbar::stopApplication() processing
|
||||||
// initialed by CNxConsole::exitHandler, then do *not* delete the task (it
|
// initialed by CNxTerm::exitHandler, then do *not* delete the task (it
|
||||||
// is already being deleted).
|
// is already being deleted).
|
||||||
|
|
||||||
if (m_pid >= 0)
|
if (m_pid >= 0)
|
||||||
{
|
{
|
||||||
// Calling task_delete() will also invoke the on_exit() handler. We se
|
// Calling task_delete() will also invoke the on_exit() handler. We se
|
||||||
// m_pid = -1 before calling task_delete() to let the on_exit() handler,
|
// m_pid = -1 before calling task_delete() to let the on_exit() handler,
|
||||||
// CNxConsole::exitHandler(), know that it should not do anything
|
// CNxTerm::exitHandler(), know that it should not do anything
|
||||||
|
|
||||||
pid_t pid = m_pid;
|
pid_t pid = m_pid;
|
||||||
m_pid = -1;
|
m_pid = -1;
|
||||||
@ -333,10 +333,10 @@ void CNxConsole::stop(void)
|
|||||||
|
|
||||||
#ifdef CONFIG_NXTERM_NXKBDIN
|
#ifdef CONFIG_NXTERM_NXKBDIN
|
||||||
NXWidgets::INxWindow *window = m_window->getWindow();
|
NXWidgets::INxWindow *window = m_window->getWindow();
|
||||||
window->redirectNxConsole((NXCONSOLE)0);
|
window->redirectNxTerm((NXTERM)0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Unregister the NxConsole driver
|
// Unregister the NxTerm driver
|
||||||
|
|
||||||
nxcon_unregister(m_nxcon);
|
nxcon_unregister(m_nxcon);
|
||||||
m_nxcon = 0;
|
m_nxcon = 0;
|
||||||
@ -352,7 +352,7 @@ void CNxConsole::stop(void)
|
|||||||
* will, finally, safely delete the application.
|
* will, finally, safely delete the application.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CNxConsole::destroy(void)
|
void CNxTerm::destroy(void)
|
||||||
{
|
{
|
||||||
// Block any further window messages
|
// Block any further window messages
|
||||||
|
|
||||||
@ -368,7 +368,7 @@ void CNxConsole::destroy(void)
|
|||||||
* maximized, but not at the top of the hierarchy
|
* maximized, but not at the top of the hierarchy
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CNxConsole::hide(void)
|
void CNxTerm::hide(void)
|
||||||
{
|
{
|
||||||
// Disable drawing and events
|
// Disable drawing and events
|
||||||
}
|
}
|
||||||
@ -379,7 +379,7 @@ void CNxConsole::hide(void)
|
|||||||
* CTaskbar when the application window must be displayed
|
* CTaskbar when the application window must be displayed
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CNxConsole::redraw(void)
|
void CNxTerm::redraw(void)
|
||||||
{
|
{
|
||||||
// Recover the NXTK window instance contained in the application window
|
// Recover the NXTK window instance contained in the application window
|
||||||
|
|
||||||
@ -390,7 +390,7 @@ void CNxConsole::redraw(void)
|
|||||||
struct nxgl_size_s windowSize;
|
struct nxgl_size_s windowSize;
|
||||||
(void)window->getSize(&windowSize);
|
(void)window->getSize(&windowSize);
|
||||||
|
|
||||||
// Redraw the entire NxConsole window
|
// Redraw the entire NxTerm window
|
||||||
|
|
||||||
struct nxgl_rect_s rect;
|
struct nxgl_rect_s rect;
|
||||||
rect.pt1.x = 0;
|
rect.pt1.x = 0;
|
||||||
@ -409,17 +409,17 @@ void CNxConsole::redraw(void)
|
|||||||
* @return True if this is a full screen window.
|
* @return True if this is a full screen window.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
bool CNxConsole::isFullScreen(void) const
|
bool CNxTerm::isFullScreen(void) const
|
||||||
{
|
{
|
||||||
return m_window->isFullScreen();
|
return m_window->isFullScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the NxConsole task. This function first redirects output to the
|
* This is the NxTerm task. This function first redirects output to the
|
||||||
* console window then calls to start the NSH logic.
|
* console window then calls to start the NSH logic.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int CNxConsole::nxconsole(int argc, char *argv[])
|
int CNxTerm::nxterm(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
// To stop compiler complaining about "jump to label crosses initialization
|
// To stop compiler complaining about "jump to label crosses initialization
|
||||||
// of 'int fd'
|
// of 'int fd'
|
||||||
@ -453,7 +453,7 @@ int CNxConsole::nxconsole(int argc, char *argv[])
|
|||||||
|
|
||||||
g_nxconvars.minor++;
|
g_nxconvars.minor++;
|
||||||
|
|
||||||
// Open the NxConsole driver
|
// Open the NxTerm driver
|
||||||
|
|
||||||
#ifdef CONFIG_NXTERM_NXKBDIN
|
#ifdef CONFIG_NXTERM_NXKBDIN
|
||||||
fd = open(devname, O_RDWR);
|
fd = open(devname, O_RDWR);
|
||||||
@ -469,7 +469,7 @@ int CNxConsole::nxconsole(int argc, char *argv[])
|
|||||||
// Now re-direct stdout and stderr so that they use the NX console driver.
|
// Now re-direct stdout and stderr so that they use the NX console driver.
|
||||||
// Notes: (1) stdin is retained (file descriptor 0, probably the the serial
|
// Notes: (1) stdin is retained (file descriptor 0, probably the the serial
|
||||||
// console). (2) Don't bother trying to put debug instrumentation in the
|
// console). (2) Don't bother trying to put debug instrumentation in the
|
||||||
// following becaue it will end up in the NxConsole window.
|
// following becaue it will end up in the NxTerm window.
|
||||||
|
|
||||||
(void)std::fflush(stdout);
|
(void)std::fflush(stdout);
|
||||||
(void)std::fflush(stderr);
|
(void)std::fflush(stderr);
|
||||||
@ -524,27 +524,27 @@ errout:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the NxConsole task exit handler. It registered with on_exit()
|
* This is the NxTerm task exit handler. It registered with on_exit()
|
||||||
* and called automatically when the nxconsole task exits.
|
* and called automatically when the nxterm task exits.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CNxConsole::exitHandler(int code, FAR void *arg)
|
void CNxTerm::exitHandler(int code, FAR void *arg)
|
||||||
{
|
{
|
||||||
CNxConsole *This = (CNxConsole *)arg;
|
CNxTerm *This = (CNxTerm *)arg;
|
||||||
|
|
||||||
// If we got here because of the task_delete() call in CNxConsole::stop(),
|
// If we got here because of the task_delete() call in CNxTerm::stop(),
|
||||||
// then m_pid will be set to -1 to let us know that we do not need to do
|
// then m_pid will be set to -1 to let us know that we do not need to do
|
||||||
// anything
|
// anything
|
||||||
|
|
||||||
if (This->m_pid >= 0)
|
if (This->m_pid >= 0)
|
||||||
{
|
{
|
||||||
// Set m_pid to -1 to prevent calling detlete_task() in CNxConsole::stop().
|
// Set m_pid to -1 to prevent calling detlete_task() in CNxTerm::stop().
|
||||||
// CNxConsole::stop() is called by the processing initiated by the following
|
// CNxTerm::stop() is called by the processing initiated by the following
|
||||||
// call to CTaskbar::stopApplication()
|
// call to CTaskbar::stopApplication()
|
||||||
|
|
||||||
This->m_pid = -1;
|
This->m_pid = -1;
|
||||||
|
|
||||||
// Remove the NxConsole application from the taskbar
|
// Remove the NxTerm application from the taskbar
|
||||||
|
|
||||||
This->m_taskbar->stopApplication(This);
|
This->m_taskbar->stopApplication(This);
|
||||||
}
|
}
|
||||||
@ -554,7 +554,7 @@ void CNxConsole::exitHandler(int code, FAR void *arg)
|
|||||||
* Called when the window minimize button is pressed.
|
* Called when the window minimize button is pressed.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CNxConsole::minimize(void)
|
void CNxTerm::minimize(void)
|
||||||
{
|
{
|
||||||
m_taskbar->minimizeApplication(static_cast<IApplication*>(this));
|
m_taskbar->minimizeApplication(static_cast<IApplication*>(this));
|
||||||
}
|
}
|
||||||
@ -563,30 +563,30 @@ void CNxConsole::minimize(void)
|
|||||||
* Called when the window close button is pressed.
|
* Called when the window close button is pressed.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void CNxConsole::close(void)
|
void CNxTerm::close(void)
|
||||||
{
|
{
|
||||||
m_taskbar->stopApplication(static_cast<IApplication*>(this));
|
m_taskbar->stopApplication(static_cast<IApplication*>(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CNxConsoleFactory Constructor
|
* CNxTermFactory Constructor
|
||||||
*
|
*
|
||||||
* @param taskbar. The taskbar instance used to terminate the console
|
* @param taskbar. The taskbar instance used to terminate the console
|
||||||
*/
|
*/
|
||||||
|
|
||||||
CNxConsoleFactory::CNxConsoleFactory(CTaskbar *taskbar)
|
CNxTermFactory::CNxTermFactory(CTaskbar *taskbar)
|
||||||
{
|
{
|
||||||
m_taskbar = taskbar;
|
m_taskbar = taskbar;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new instance of an CNxConsole (as IApplication).
|
* Create a new instance of an CNxTerm (as IApplication).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
IApplication *CNxConsoleFactory::create(void)
|
IApplication *CNxTermFactory::create(void)
|
||||||
{
|
{
|
||||||
// Call CTaskBar::openFullScreenWindow to create a full screen window for
|
// Call CTaskBar::openFullScreenWindow to create a full screen window for
|
||||||
// the NxConsole application
|
// the NxTerm application
|
||||||
|
|
||||||
CApplicationWindow *window = m_taskbar->openApplicationWindow();
|
CApplicationWindow *window = m_taskbar->openApplicationWindow();
|
||||||
if (!window)
|
if (!window)
|
||||||
@ -607,15 +607,15 @@ IApplication *CNxConsoleFactory::create(void)
|
|||||||
// Instantiate the application, providing the window to the application's
|
// Instantiate the application, providing the window to the application's
|
||||||
// constructor
|
// constructor
|
||||||
|
|
||||||
CNxConsole *nxconsole = new CNxConsole(m_taskbar, window);
|
CNxTerm *nxterm = new CNxTerm(m_taskbar, window);
|
||||||
if (!nxconsole)
|
if (!nxterm)
|
||||||
{
|
{
|
||||||
gdbg("ERROR: Failed to instantiate CNxConsole\n");
|
gdbg("ERROR: Failed to instantiate CNxTerm\n");
|
||||||
delete window;
|
delete window;
|
||||||
return (IApplication *)0;
|
return (IApplication *)0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return static_cast<IApplication*>(nxconsole);
|
return static_cast<IApplication*>(nxterm);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -626,7 +626,7 @@ IApplication *CNxConsoleFactory::create(void)
|
|||||||
* be deleted by the caller when it is no long needed.
|
* be deleted by the caller when it is no long needed.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
NXWidgets::IBitmap *CNxConsoleFactory::getIcon(void)
|
NXWidgets::IBitmap *CNxTermFactory::getIcon(void)
|
||||||
{
|
{
|
||||||
NXWidgets::CRlePaletteBitmap *bitmap =
|
NXWidgets::CRlePaletteBitmap *bitmap =
|
||||||
new NXWidgets::CRlePaletteBitmap(&CONFIG_NXWM_NXTERM_ICON);
|
new NXWidgets::CRlePaletteBitmap(&CONFIG_NXWM_NXTERM_ICON);
|
@ -56,7 +56,7 @@
|
|||||||
********************************************************************************************/
|
********************************************************************************************/
|
||||||
|
|
||||||
/********************************************************************************************
|
/********************************************************************************************
|
||||||
* CNxConsole Method Implementations
|
* CNxTerm Method Implementations
|
||||||
********************************************************************************************/
|
********************************************************************************************/
|
||||||
|
|
||||||
using namespace NxWM;
|
using namespace NxWM;
|
||||||
|
Loading…
Reference in New Issue
Block a user