summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorspark <spark@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-03-29 19:48:00 +0000
committerspark <spark@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-03-29 19:48:00 +0000
commitde3910fbb5cbf9eb6eaff7255c4ce163b218fddc (patch)
treeeab69bd588465251431da6d5bb106ef3beb77dcd /apps
parent1ffbfab6dd438e49832ea9a6fd8b6e725fdee2ec (diff)
downloadATCD-de3910fbb5cbf9eb6eaff7255c4ce163b218fddc.tar.gz
ChangeLogTag: Fri Mar 29 13:40:00 2002 Si Mong Park <spark@ociweb.com>
Diffstat (limited to 'apps')
-rw-r--r--apps/FaCE/ACE.icobin0 -> 1078 bytes
-rw-r--r--apps/FaCE/ACE_Racer.bmpbin0 -> 9918 bytes
-rw-r--r--apps/FaCE/CE_ARGV.CPP118
-rw-r--r--apps/FaCE/CE_ARGV.H90
-rw-r--r--apps/FaCE/CE_Screen_Output.cpp162
-rw-r--r--apps/FaCE/CE_Screen_Output.h97
-rw-r--r--apps/FaCE/FACE.icobin0 -> 1078 bytes
-rw-r--r--apps/FaCE/FaCE.cpp653
-rw-r--r--apps/FaCE/FaCE.h57
-rw-r--r--apps/FaCE/FaCE.rc268
-rw-r--r--apps/FaCE/FaCE.vcp604
-rw-r--r--apps/FaCE/FaCE.vcw29
-rw-r--r--apps/FaCE/FaCENOACE.vcp528
-rw-r--r--apps/FaCE/FaCENOACE.vcw29
-rw-r--r--apps/FaCE/License.txt27
-rw-r--r--apps/FaCE/Main.cpp49
-rw-r--r--apps/FaCE/ReadMe.txt275
-rw-r--r--apps/FaCE/TAO.bmpbin0 -> 21798 bytes
-rw-r--r--apps/FaCE/newres.h43
-rw-r--r--apps/FaCE/resource.h45
20 files changed, 3074 insertions, 0 deletions
diff --git a/apps/FaCE/ACE.ico b/apps/FaCE/ACE.ico
new file mode 100644
index 00000000000..3efedc9021b
--- /dev/null
+++ b/apps/FaCE/ACE.ico
Binary files differ
diff --git a/apps/FaCE/ACE_Racer.bmp b/apps/FaCE/ACE_Racer.bmp
new file mode 100644
index 00000000000..a487f63f81c
--- /dev/null
+++ b/apps/FaCE/ACE_Racer.bmp
Binary files differ
diff --git a/apps/FaCE/CE_ARGV.CPP b/apps/FaCE/CE_ARGV.CPP
new file mode 100644
index 00000000000..6e51ab6f441
--- /dev/null
+++ b/apps/FaCE/CE_ARGV.CPP
@@ -0,0 +1,118 @@
+// $Id$
+
+#include "CE_ARGV.h"
+
+
+CE_ARGV::CE_ARGV(wchar_t* cmdLine)
+: ce_argv_(0)
+, ce_argc_(0)
+{
+ const wchar_t* dummyArgv = L"root"; // dummy for the first argv
+ const wchar_t* separator = L" "; // blank space is a separator
+
+ int formattedCmdLineLength = wcslen(dummyArgv) +
+ wcslen(separator) +
+ 1; // 1 is for the NULL at the end
+
+ if (wcslen(cmdLine) > 0) {
+ formattedCmdLineLength += wcslen(cmdLine);
+ formattedCmdLineLength += wcslen(separator);
+ }
+
+ // formattedCmdLine will have dummyArgv and a separator at the beginning of cmdLine
+ // and a separator at the end to generalize format and reduce the amount of code
+ wchar_t* formattedCmdLine = 0;
+ formattedCmdLine = new wchar_t[formattedCmdLineLength];
+
+ wcscpy(formattedCmdLine, dummyArgv);
+ wcscat(formattedCmdLine, separator);
+
+ int max_possible_argc = 1; // start with 1 because of the dummyArgv at the beginning
+
+ if (wcslen(cmdLine) > 0) {
+ int formattedPos = wcslen(formattedCmdLine);
+ int cmdLineLength = wcslen(cmdLine);
+
+ // Inside of this for loop, it does same thing as strcat except it
+ // checks and puts only one single white space between two argv entries.
+ for (int i = 0; i < cmdLineLength; ++i) {
+ if (iswspace(cmdLine[i]) != 0) {
+ ++max_possible_argc; // counting the number of white spaces
+ }
+
+ formattedCmdLine[formattedPos++] = cmdLine[i];
+
+ if (iswspace(cmdLine[i]) != 0) {
+ // make sure there is only one white space between two argv entries.
+ while ((i < cmdLineLength) && (iswspace(cmdLine[i + 1]) != 0)) {
+ ++i;
+ }
+ }
+ }
+
+ formattedCmdLine[formattedPos] = 0;
+ wcscat(formattedCmdLine, separator); // make sure formattedCmdLine ends with a blank
+ }
+
+ int formattedCmdLength = wcslen(formattedCmdLine);
+
+ bool insideQuotation = false;
+ int* argv_strlen = 0;
+ int entry_size = 0;
+ argv_strlen = new int[max_possible_argc];
+
+ // determine argc
+ for (int i = 0; i < formattedCmdLength; ++i) {
+ if (formattedCmdLine[i] == '\\') {
+ ++i; // ignore the following character
+ ++entry_size;
+ }
+ else if (formattedCmdLine[i] == '"') {
+ insideQuotation = !insideQuotation;
+ }
+ else if ((!insideQuotation) && (iswspace(formattedCmdLine[i]) != 0)) {
+ // new argv entry end found
+ argv_strlen[ce_argc_++] = entry_size; // cache the size of this entry
+ entry_size = 0;
+ }
+ else {
+ ++entry_size;
+ }
+ }
+
+ ce_argv_ = new wchar_t*[ce_argc_ + 1];
+ ce_argv_[ce_argc_] = 0; // Last command line entry is a NULL.
+
+ for (int j = 0, cmdLinePos = 0; j < ce_argc_; ++j, ++cmdLinePos) {
+ int length = argv_strlen[j];
+
+ ce_argv_[j] = new wchar_t[length + 1];
+ ce_argv_[j][length] = 0; // string termination null
+
+ if (iswspace(formattedCmdLine[cmdLinePos]) != 0) {
+ // This is where prior argv has trailing '"' at the end.
+ ++cmdLinePos;
+ }
+
+ for (int n = 0; n < length; ++n, ++cmdLinePos) {
+ if ((formattedCmdLine[cmdLinePos] == '\\') || (formattedCmdLine[cmdLinePos] == '"')) {
+ ++cmdLinePos;
+ }
+
+ ce_argv_[j][n] = formattedCmdLine[cmdLinePos];
+ }
+ }
+
+ delete argv_strlen;
+ delete formattedCmdLine;
+}
+
+
+CE_ARGV::~CE_ARGV(void)
+{
+ for (int i = 0; i < ce_argc_; ++i) {
+ delete [] ce_argv_[i];
+ }
+
+ delete [] ce_argv_;
+}
diff --git a/apps/FaCE/CE_ARGV.H b/apps/FaCE/CE_ARGV.H
new file mode 100644
index 00000000000..cb56f7707b2
--- /dev/null
+++ b/apps/FaCE/CE_ARGV.H
@@ -0,0 +1,90 @@
+// -*- C++ -*-
+//=============================================================================
+/**
+ * @file CE_ARGV.h
+ *
+ * $Id$
+ *
+ * @author Si Mong Park <spark@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef CE_ARGV_H
+#define CE_ARGV_H
+
+#include <windows.h>
+
+
+/**
+ * @class CE_ARGV
+ *
+ * @brief This class is to hash input parameters, argc and argv, for WinCE platform.
+ *
+ * Since WinCE only supports wchar_t as an input from OS, some implementation detail,
+ * especially for CORBA spec, will not support wchar_t (wchar_t) type parameter.
+ * Moreover, WinCE's input parameter type is totally different than any other OS;
+ * all command line parameters will be stored in a single wide-character string with
+ * each unit parameter divided by blank space, and it does not provide the name of
+ * executable (generally known as argv[0]).
+ * This class is to convert CE's command line parameters and simulate as in the same
+ * manner as other general platforms, adding 'root' as a first argc, which is for the
+ * name of executable in other OS.
+ */
+class CE_ARGV
+{
+public:
+ /**
+ * Ctor accepts CE command line as a paramter.
+ */
+ CE_ARGV(wchar_t* cmdLine);
+
+ /**
+ * Default Dtor that deletes any memory allocated for the converted string.
+ */
+ ~CE_ARGV(void);
+
+ /**
+ * Returns the number of command line paramters, same as argc on Unix.
+ */
+ int argc(void);
+
+ /**
+ * Returns the 'char**' that contains the converted command line parameters.
+ */
+ wchar_t** const argv(void);
+
+private:
+ /**
+ * Copy Ctor is not allowed.
+ */
+ CE_ARGV(void);
+
+ /**
+ * Copy Ctor is not allowed.
+ */
+ CE_ARGV(CE_ARGV&);
+
+ /**
+ * Pointer of converted command line paramters.
+ */
+ wchar_t** ce_argv_;
+
+ /**
+ * Integer that is same as argc on other OS's.
+ */
+ int ce_argc_;
+};
+
+
+inline int CE_ARGV::argc()
+{
+ return ce_argc_;
+}
+
+
+inline wchar_t** const CE_ARGV::argv()
+{
+ return ce_argv_;
+}
+
+#endif // CE_ARGV_H
diff --git a/apps/FaCE/CE_Screen_Output.cpp b/apps/FaCE/CE_Screen_Output.cpp
new file mode 100644
index 00000000000..59364523a8c
--- /dev/null
+++ b/apps/FaCE/CE_Screen_Output.cpp
@@ -0,0 +1,162 @@
+// $Id$
+
+#include "CE_Screen_Output.h"
+#include <string.h>
+
+
+HWND CE_Screen_Output::handler_ = 0;
+
+
+CE_Screen_Output::CE_Screen_Output()
+: pFile_(0)
+{
+}
+
+
+CE_Screen_Output::~CE_Screen_Output()
+{
+ if (pFile_ != 0) {
+ fclose(pFile_);
+ }
+}
+
+
+void CE_Screen_Output::SetOutputWindow(HWND hEdit)
+{
+ handler_ = hEdit;
+}
+
+
+void CE_Screen_Output::clear()
+{
+ SetWindowText(handler_, NULL);
+}
+
+
+CE_Screen_Output& CE_Screen_Output::operator << (wchar_t* output)
+{
+ int length = GetWindowTextLength(handler_);
+ SendMessage(handler_, EM_SETSEL, length, length);
+ SendMessage(handler_, EM_REPLACESEL, 0, (LPARAM)output);
+
+ if (pFile_ != NULL)
+ {
+ fwprintf(pFile_, L"%s", output);
+ }
+
+ return *this;
+}
+
+
+CE_Screen_Output& CE_Screen_Output::operator << (const wchar_t* output)
+{
+ wchar_t* buffer = _wcsdup(output);
+ if (buffer != 0)
+ {
+ *this << buffer;
+ delete buffer;
+ }
+ return *this;
+}
+
+
+CE_Screen_Output& CE_Screen_Output::operator << (char* output)
+{
+ int len = MultiByteToWideChar(CP_OEMCP, MB_PRECOMPOSED, output, -1, NULL, 0);
+ wchar_t* w_output = new wchar_t[len];
+
+ MultiByteToWideChar(CP_OEMCP, MB_PRECOMPOSED, output, -1, w_output, len);
+ *this << w_output;
+
+ delete w_output;
+
+ return *this;
+}
+
+
+CE_Screen_Output& CE_Screen_Output::operator << (const char* output)
+{
+ int len = MultiByteToWideChar(CP_OEMCP, MB_PRECOMPOSED, output, -1, NULL, 0);
+ wchar_t* w_output = new wchar_t[len];
+
+ MultiByteToWideChar(CP_OEMCP, MB_PRECOMPOSED, output, -1, w_output, len);
+ *this << w_output;
+
+ delete w_output;
+ return *this;
+}
+
+
+CE_Screen_Output& CE_Screen_Output::operator << (char output)
+{
+ *this << (int)output;
+ return *this;
+}
+
+
+CE_Screen_Output& CE_Screen_Output::operator << (unsigned char output)
+{
+ *this << (int)output;
+ return *this;
+}
+
+
+CE_Screen_Output& CE_Screen_Output::operator << (unsigned short output)
+{
+ wchar_t buffer[20];
+ wsprintf(buffer, L"%u", output);
+ *this << buffer;
+ return *this;
+}
+
+
+CE_Screen_Output& CE_Screen_Output::operator << (int output)
+{
+ wchar_t buffer[20];
+ wsprintf(buffer, L"%d", output);
+ *this << buffer;
+ return *this;
+}
+
+
+CE_Screen_Output& CE_Screen_Output::operator << (unsigned int output)
+{
+ wchar_t buffer[20];
+ wsprintf(buffer, L"%du", output);
+ *this << buffer;
+ return *this;
+}
+
+
+CE_Screen_Output& CE_Screen_Output::operator << (float output)
+{
+ wchar_t buffer[20];
+ swprintf(buffer, L"%f", output);
+ *this << buffer;
+ return *this;
+}
+
+
+CE_Screen_Output& CE_Screen_Output::operator << (long output)
+{
+ wchar_t buffer[20];
+ wsprintf(buffer, L"%l", output);
+ *this << buffer;
+ return *this;
+}
+
+
+CE_Screen_Output& CE_Screen_Output::operator << (unsigned long output)
+{
+ wchar_t buffer[20];
+ wsprintf(buffer, L"%lu", output);
+ *this << buffer;
+ return *this;
+}
+
+
+CE_Screen_Output& CE_Screen_Output::operator << (FILE* pFile)
+{
+ pFile_ = pFile;
+ return *this;
+}
diff --git a/apps/FaCE/CE_Screen_Output.h b/apps/FaCE/CE_Screen_Output.h
new file mode 100644
index 00000000000..9f29c9cf30f
--- /dev/null
+++ b/apps/FaCE/CE_Screen_Output.h
@@ -0,0 +1,97 @@
+/**
+ * @file CE_Screen_Output.h
+ *
+ * $Id$
+ *
+ * @author Si Mong Park <spark@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef CE_Screen_Output_h
+#define CE_Screen_Output_h
+
+#include <windows.h>
+
+const wchar_t endl[] = L"\r\n";
+const wchar_t tab[] = L"\t";
+
+/**
+ * @class CE_Screen_Output
+ *
+ * @brief Replacement of text output for Windows CE.
+ *
+ * This class allows standard text output to be displayed on
+ * text window for Windows CE. Generally, all ACE output will
+ * go through under CE if and only if user uses WindozeCE
+ * implementation by using main_ce instead of main.
+ * Also, for the easier debugging purpose, object pointer of
+ * this class can be gotten from ACE_Log_Msg::msg_callback()
+ * and then can be used directly by user just like cout stream.
+ */
+class CE_Screen_Output
+{
+public:
+ /**
+ * Default Ctor
+ */
+ CE_Screen_Output();
+
+ /**
+ * Default Dtor
+ */
+ virtual ~CE_Screen_Output();
+
+ /**
+ * Interface to specify active window handle.
+ */
+ void SetOutputWindow(HWND hWnd);
+
+ /**
+ * Clears text screen.
+ */
+ void clear();
+
+ /**
+ * << operator that performs actual print out.
+ *
+ * Note: This is the only one operator that performs
+ * output. All other perators convert the type and
+ * use this operator underneath.
+ */
+ CE_Screen_Output& operator << (wchar_t*);
+ CE_Screen_Output& operator << (const wchar_t*);
+
+ CE_Screen_Output& operator << (char* output);
+ CE_Screen_Output& operator << (const char* output);
+
+ CE_Screen_Output& operator << (char output);
+ CE_Screen_Output& operator << (unsigned char output);
+
+ CE_Screen_Output& operator << (unsigned short output);
+
+ CE_Screen_Output& operator << (int output);
+ CE_Screen_Output& operator << (unsigned int output);
+
+ CE_Screen_Output& operator << (float output);
+
+ CE_Screen_Output& operator << (long output);
+ CE_Screen_Output& operator << (unsigned long output);
+
+ CE_Screen_Output& operator << (FILE* pFile);
+
+private:
+ /**
+ * Copy Ctor
+ */
+ CE_Screen_Output(CE_Screen_Output&);
+
+ static HWND handler_;
+
+ /**
+ * File pointer that used to save output to file.
+ * This class does not own the file handler pointer.
+ */
+ FILE* pFile_;
+};
+
+#endif // CE_Screen_Output_h
diff --git a/apps/FaCE/FACE.ico b/apps/FaCE/FACE.ico
new file mode 100644
index 00000000000..8a91925b128
--- /dev/null
+++ b/apps/FaCE/FACE.ico
Binary files differ
diff --git a/apps/FaCE/FaCE.cpp b/apps/FaCE/FaCE.cpp
new file mode 100644
index 00000000000..bc51a590d13
--- /dev/null
+++ b/apps/FaCE/FaCE.cpp
@@ -0,0 +1,653 @@
+// $Id$
+
+// FaCE.cpp : Defines the entry point for the application.
+
+#include "FaCE.h"
+
+#ifdef NO_ACE
+
+#include "CE_ARGV.h"
+
+#else
+
+#include <ace/ace.h>
+#include <ace/Log_Msg.h>
+
+#endif // NO_ACE
+
+#include <commctrl.h>
+#include <aygshell.h>
+#include <sipapi.h>
+
+
+ACE_TCHAR* g_ParameterFileName = ACE_LIB_TEXT("Parameters.txt");
+
+/**
+ * This simple and small class manages user-input command line
+ * parameters and parameter history file.
+ *
+ * @author Si Mong Park (spark@ociweb.com)
+ * @version $Revision$ $Date$
+ */
+class ParameterList
+{
+public:
+ /**
+ * Default Ctor.
+ */
+ ParameterList() : next_(0), param_(0) {};
+
+ /**
+ * Dtor: deletes all sub-PameterList objects as well as
+ * memory block allocated for the param_ by _wcsdup().
+ */
+ ~ParameterList() { free(param_); delete next_; };
+
+ /**
+ * Add a new parameter to the list.
+ */
+ void addParameter(char*);
+
+ /**
+ * Add a new parameter to the list.
+ */
+ void addParameter(ACE_TCHAR*);
+
+ /**
+ * Save all parameters stored in the list to the
+ * file.
+ * Note that 'outputFile' is only for the internal use
+ * and user must call this function without any parameter.
+ */
+ void saveParameter(FILE* outputFile = 0);
+
+ /**
+ * Send out windows message to load/update parameters.
+ */
+ void sendParameterMSG(HWND, UINT);
+
+private:
+ /**
+ * A pointer to the next ParameterList object.
+ * This attribute is totally hidden from user.
+ */
+ ParameterList* next_;
+
+ /**
+ * User-specified command line parameter.
+ * This attribute is totally hidden from user.
+ */
+ ACE_TCHAR* param_;
+};
+
+
+void ParameterList::addParameter(char* newParameter)
+{
+#ifdef NO_ACE
+ int len = MultiByteToWideChar(CP_OEMCP, MB_PRECOMPOSED, newParameter, -1, NULL, 0);
+ wchar_t* w_output = new wchar_t[len];
+
+ MultiByteToWideChar(CP_OEMCP, MB_PRECOMPOSED, newParameter, -1, w_output, len);
+ this->addParameter(w_output);
+
+ delete w_output;
+#else
+ this->addParameter(ACE_TEXT_CHAR_TO_TCHAR(newParameter));
+#endif // NO_ACE
+}
+
+
+void ParameterList::addParameter(ACE_TCHAR* newParameter)
+{
+ if (this->param_ == 0) {
+ this->param_ = _wcsdup(newParameter);
+ this->next_ = new ParameterList(); // create and add a new ParameterList object
+ }
+ else {
+ if (wcscmp(this->param_, newParameter) != 0) {
+ this->next_->addParameter(newParameter);
+ }
+ }
+}
+
+
+void ParameterList::saveParameter(FILE* outputFile)
+{
+ if ( (outputFile == 0) && (this->param_ != 0) ) {
+ outputFile = _wfopen(g_ParameterFileName, ACE_LIB_TEXT("w+"));
+ }
+
+ if (outputFile != 0) {
+ if (this->param_ != 0) {
+ fwprintf(outputFile, ACE_LIB_TEXT("%s\n"), this->param_);
+ this->next_->saveParameter(outputFile);
+ }
+ else {
+ fclose(outputFile);
+ }
+ }
+}
+
+
+void ParameterList::sendParameterMSG(HWND hDlg, UINT message)
+{
+ if (param_ != 0) {
+ SendDlgItemMessage(hDlg, IDC_CMDEDIT, message, 0, (LPARAM)this->param_);
+ this->next_->sendParameterMSG(hDlg, message);
+ }
+}
+
+
+// Global Variables:
+HINSTANCE g_hInst; // The current instance
+HWND g_hwndCB; // The command bar handle
+HWND hWndEdit; // Read only edit box for output display
+FILE* g_OutputFile; // File handler for output save
+
+ParameterList g_Parameter; // command line parameter list
+
+ACE_CE_Screen_Output cout; // Replacement of std::cout
+
+ACE_TCHAR g_CommandLine[MAX_COMMAND_LINE]; // User-specified command line parameter
+ACE_TCHAR g_SaveFileName[MAX_LOADSTRING]; // Name of the output file
+
+static SHACTIVATEINFO s_sai;
+
+// Forward declarations of functions included in this code module:
+ATOM MyRegisterClass (HINSTANCE, LPTSTR);
+BOOL InitInstance (HINSTANCE, int);
+LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
+LRESULT CALLBACK About (HWND, UINT, WPARAM, LPARAM);
+LRESULT CALLBACK CommandLine (HWND, UINT, WPARAM, LPARAM);
+LRESULT CALLBACK SaveFileName (HWND, UINT, WPARAM, LPARAM);
+LRESULT CALLBACK FileError (HWND, UINT, WPARAM, LPARAM);
+LRESULT CALLBACK FileExist (HWND, UINT, WPARAM, LPARAM);
+HWND CreateRpCommandBar(HWND);
+
+
+void InitSetup()
+{
+ g_OutputFile = 0;
+ memset(g_CommandLine, 0, MAX_COMMAND_LINE * sizeof(ACE_TCHAR));
+ memset(g_SaveFileName, 0, MAX_LOADSTRING * sizeof(ACE_TCHAR));
+}
+
+
+void LoadParameterHistory()
+{
+ FILE* parameterFile = _wfopen(g_ParameterFileName, ACE_LIB_TEXT("r"));
+
+ if (parameterFile != NULL) {
+ while (feof(parameterFile) == 0) {
+ // Note: Remember that fwprintf takes wide-character format specifier but
+ // save string as ASCII. Thus, history must be read as ASCII then converted
+ // to wide-character (Unicode on WinCE).
+ char singleParameter[MAX_COMMAND_LINE];
+ int size = 0;
+ fread(&singleParameter[size], sizeof(char), 1, parameterFile);
+
+ // WinCE does not have function that reads upto the end of line.
+ while (singleParameter[size] != '\n') {
+ fread(&singleParameter[++size], sizeof(char), 1, parameterFile);
+ }
+
+ if (size > 0) {
+ singleParameter[size] = 0; // NULL terminator
+ g_Parameter.addParameter(singleParameter);
+ }
+ }
+ fclose(parameterFile);
+ }
+}
+
+
+//
+// FUNCTION: MyRegisterClass()
+//
+// PURPOSE: Registers the window class.
+//
+// COMMENTS:
+//
+// It is important to call this function so that the application
+// will get 'well formed' small icons associated with it.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance, LPTSTR szWindowClass)
+{
+ WNDCLASS wc;
+
+ wc.style = CS_HREDRAW | CS_VREDRAW;
+ wc.lpfnWndProc = (WNDPROC) WndProc;
+ wc.cbClsExtra = 0;
+ wc.cbWndExtra = 0;
+ wc.hInstance = hInstance;
+ wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_FACE));
+ wc.hCursor = 0;
+ wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
+ wc.lpszMenuName = 0;
+ wc.lpszClassName = szWindowClass;
+
+ return RegisterClass(&wc);
+}
+
+//
+// FUNCTION: InitInstance(HANDLE, int)
+//
+// PURPOSE: Saves instance handle and creates main window
+//
+// COMMENTS:
+//
+// In this function, we save the instance handle in a global variable and
+// create and display the main program window.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ HWND hWnd = NULL;
+ TCHAR szTitle[MAX_LOADSTRING]; // The title bar text
+ TCHAR szWindowClass[MAX_LOADSTRING]; // The window class name
+
+ g_hInst = hInstance; // Store instance handle in our global variable
+ // Initialize global strings
+ LoadString(hInstance, IDC_FACE, szWindowClass, MAX_LOADSTRING);
+ LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+
+ //If it is already running, then focus on the window
+ hWnd = FindWindow(szWindowClass, szTitle);
+ if (hWnd)
+ {
+ // set focus to foremost child window
+ // The "| 0x01" is used to bring any owned windows to the foreground and
+ // activate them.
+ SetForegroundWindow((HWND)((ULONG) hWnd | 0x00000001));
+ return 0;
+ }
+
+ MyRegisterClass(hInstance, szWindowClass);
+
+ RECT rect;
+ GetClientRect(hWnd, &rect);
+
+ hWnd = CreateWindow(szWindowClass, szTitle, WS_VISIBLE,
+ CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);
+
+ if (!hWnd)
+ {
+ int error = 0;
+ error = GetLastError();
+ return FALSE;
+ }
+ //When the main window is created using CW_USEDEFAULT the height of the menubar (if one
+ // is created is not taken into account). So we resize the window after creating it
+ // if a menubar is present
+ {
+ RECT rc;
+ GetWindowRect(hWnd, &rc);
+ rc.bottom -= MENU_HEIGHT;
+ if (g_hwndCB)
+ MoveWindow(hWnd, rc.left, rc.top, rc.right, rc.bottom, FALSE);
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// FUNCTION: WndProc(HWND, unsigned, WORD, LONG)
+//
+// PURPOSE: Processes messages for the main window.
+//
+// WM_COMMAND - process the application menu
+// WM_PAINT - Paint the main window
+// WM_DESTROY - post a quit message and return
+//
+//
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ HDC hdc;
+ int wmId, wmEvent, nCmdHt;
+ PAINTSTRUCT ps;
+ RECT textRect;
+
+ switch (message)
+ {
+ case WM_COMMAND:
+ wmId = LOWORD(wParam);
+ wmEvent = HIWORD(wParam);
+ // Parse the menu selections:
+ switch (wmId)
+ {
+ case IDM_HELP_ABOUT:
+ DialogBox(g_hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
+ break;
+
+ case IDOK:
+ SendMessage(hWnd, WM_ACTIVATE, MAKEWPARAM(WA_INACTIVE, 0), (LPARAM)hWnd);
+ SendMessage(hWnd, WM_CLOSE, 0, 0);
+ break;
+
+ case ID_SETTING_RUN:
+ {
+#ifdef NO_ACE
+ cout << ACE_LIB_TEXT("START with command line: ") << g_CommandLine << endl;
+ CE_ARGV ce_argv(g_CommandLine);
+ main_i(ce_argv.argc(), ce_argv.argv());
+ cout << ACE_LIB_TEXT("END") << endl << endl;
+#else
+ cout << ACE_LIB_TEXT("START with command line: ") << g_CommandLine << endl;
+ ACE_CE_ARGV ce_argv(g_CommandLine);
+ ACE::init();
+ ACE_MAIN_OBJECT_MANAGER
+ ACE_LOG_MSG->msg_callback(&cout); // register call back
+ ACE_LOG_MSG->set_flags(ACE_Log_Msg::MSG_CALLBACK); // set call back flag
+ ace_main_i(ce_argv.argc(), ce_argv.argv());
+ ACE::fini();
+ cout << ACE_LIB_TEXT("END") << endl << endl;
+#endif // NO_ACE
+ }
+ break;
+
+ case ID_SETTING_EXIT:
+ SendMessage(hWnd, WM_DESTROY, 0, 0);
+ break;
+
+ case ID_TOOLS_SAVETOFILE:
+ // create a dialog box to get the file name
+ DialogBox(g_hInst, (LPCTSTR)IDD_OUTFILE, hWnd, (DLGPROC)SaveFileName);
+ break;
+
+ case ID_SETTING_COMMANDLINE:
+ // create a dialog box to get the command line
+ DialogBox(g_hInst, (LPCTSTR)IDD_CMDLINE, hWnd, (DLGPROC)CommandLine);
+ break;
+
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ break;
+
+ case WM_CREATE:
+ SHMENUBARINFO mbi;
+
+ memset(&mbi, 0, sizeof(SHMENUBARINFO));
+ mbi.cbSize = sizeof(SHMENUBARINFO);
+ mbi.hwndParent = hWnd;
+ mbi.nToolBarId = IDM_MENU;
+ mbi.hInstRes = g_hInst;
+ mbi.nBmpId = 0;
+ mbi.cBmpImages = 0;
+
+ if (!SHCreateMenuBar(&mbi))
+ return NULL;
+
+ g_hwndCB = mbi.hwndMB;
+
+ // Initialize the shell activate info structure
+ memset (&s_sai, 0, sizeof (s_sai));
+ s_sai.cbSize = sizeof (s_sai);
+
+ GetClientRect(hWnd, &textRect);
+ nCmdHt = CommandBar_Height(mbi.hwndMB);
+
+ hWndEdit = CreateWindow(ACE_LIB_TEXT("EDIT"),
+ NULL,
+ WS_CHILD | WS_VISIBLE | ES_READONLY | ES_MULTILINE | WS_VSCROLL | WS_HSCROLL,
+ 0,
+ 0,
+ textRect.right,
+ textRect.bottom - MENU_HEIGHT,
+ hWnd,
+ NULL,
+ g_hInst,
+ NULL);
+ cout.SetOutputWindow(hWndEdit);
+ LoadParameterHistory();
+ break;
+
+ case WM_PAINT:
+ RECT rt;
+ hdc = BeginPaint(hWnd, &ps);
+ GetClientRect(hWnd, &rt);
+ EndPaint(hWnd, &ps);
+ break;
+
+ case WM_ACTIVATE:
+ // Notify shell of our activate message
+ SHHandleWMActivate(hWnd, wParam, lParam, &s_sai, FALSE);
+ break;
+
+ case WM_SETTINGCHANGE:
+ SHHandleWMSettingChange(hWnd, wParam, lParam, &s_sai);
+ break;
+
+ case WM_HIBERNATE: // low power
+ case WM_CLOSE:
+ case WM_DESTROY:
+ g_Parameter.saveParameter(); // save parameters to history file
+ CommandBar_Destroy(g_hwndCB);
+ PostQuitMessage(0);
+ break;
+
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+
+HWND CreateRpCommandBar(HWND hwnd)
+{
+ SHMENUBARINFO mbi;
+
+ memset(&mbi, 0, sizeof(SHMENUBARINFO));
+ mbi.cbSize = sizeof(SHMENUBARINFO);
+ mbi.hwndParent = hwnd;
+ mbi.nToolBarId = IDM_MENU;
+ mbi.hInstRes = g_hInst;
+ mbi.nBmpId = 0;
+ mbi.cBmpImages = 0;
+
+ if (!SHCreateMenuBar(&mbi))
+ return NULL;
+
+ return mbi.hwndMB;
+}
+
+// Mesage handler for the About box.
+LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ SHINITDLGINFO shidi;
+
+ ACE_TCHAR* copyrightNote = ACE_LIB_TEXT(
+"ACE® and TAO® are copyrighted by Dr. Douglas C. Schmidt and Center for Distributed Object \
+Computing at Washington University,© 1993-2002, all rights reserved. \
+FaCE is copyrighted by Object Computing, Inc.,© 2002,\n all rights reserved.\n\
+See License.txt for more information.");
+
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ // Create a Done button and size it.
+ shidi.dwMask = SHIDIM_FLAGS;
+ shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIPDOWN | SHIDIF_SIZEDLGFULLSCREEN;
+ shidi.hDlg = hDlg;
+ SHInitDialog(&shidi);
+ SetDlgItemText(hDlg, IDC_COPYRIGHT, copyrightNote);
+ return TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return TRUE;
+ }
+ break;
+ }
+ return FALSE;
+}
+
+
+LRESULT CALLBACK CommandLine(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ int wmId;
+ int wmEvent;
+
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ g_Parameter.sendParameterMSG(hDlg, CB_INSERTSTRING);
+ SetDlgItemText(hDlg, IDC_CMDEDIT, g_CommandLine); // pass existing command line for display
+ return TRUE;
+
+ case WM_COMMAND:
+ wmId = LOWORD(wParam);
+ wmEvent = HIWORD(wParam);
+ // Parse the menu selections:
+ switch (wmId)
+ {
+ case IDOK:
+ // new command line accepted
+ GetDlgItemText(hDlg, IDC_CMDEDIT, g_CommandLine, MAX_COMMAND_LINE - 1);
+ EndDialog(hDlg, wmId);
+ g_Parameter.addParameter(g_CommandLine);
+ return TRUE;
+
+ case IDCANCEL:
+ EndDialog(hDlg, wmId);
+ return TRUE;
+
+ default:
+ return FALSE;
+ }
+ break;
+ default:
+ return FALSE;
+ }
+
+ return FALSE;
+}
+
+
+LRESULT CALLBACK SaveFileName(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ int wmId;
+ int wmEvent;
+
+ ACE_TCHAR tempBuffer[MAX_LOADSTRING];
+ ACE_TCHAR fileMode[3] = { 0, '+', 0 }; // mode will either be "a+" or "w+"
+ FILE* tempFile;
+
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ SetDlgItemText(hDlg, IDC_SAVEFILE, g_SaveFileName);
+ return TRUE;
+
+ case WM_COMMAND:
+ wmId = LOWORD(wParam);
+ wmEvent = HIWORD(wParam);
+ // Parse the menu selections:
+ switch (wmId)
+ {
+ case IDOK:
+ GetDlgItemText(hDlg, IDC_SAVEFILE, tempBuffer, MAX_LOADSTRING - 1);
+ EndDialog(hDlg, wmId);
+
+ tempFile = _wfopen(tempBuffer, ACE_LIB_TEXT("r"));
+
+ if (tempFile != NULL) // if file exists
+ {
+ fclose(tempFile); // close temp handler
+ int choice = DialogBox(g_hInst, (LPCTSTR)IDD_FILEEXIST, hDlg, (DLGPROC)FileExist);
+ switch (choice)
+ {
+ case IDOVERWRITE: // overwrite existing file
+ fileMode[0] = 'w';
+ break;
+
+ case IDC_APPEND: // append to existing file
+ fileMode[0] = 'a';
+ break;
+
+ case IDCANCEL: // cancel operation without changing g_OutputFile
+ return TRUE;
+ }
+ }
+ else // if file does not exist
+ {
+ fileMode[0] = 'w';
+ }
+
+ tempFile = _wfopen(tempBuffer, fileMode);
+
+ if (tempFile == NULL)
+ {
+ DialogBox(g_hInst, (LPCTSTR)IDD_ERRFILE, hDlg, (DLGPROC)FileError);
+ }
+ else
+ {
+ wcscpy(g_SaveFileName, tempBuffer);
+
+ if (g_OutputFile != NULL)
+ {
+ fclose(g_OutputFile); // close any open file
+ }
+
+ g_OutputFile = tempFile;
+
+ cout << g_OutputFile; // update FILE* for the CE_Screen_Output class object.
+ }
+
+ return TRUE;
+
+ case IDCANCEL:
+ EndDialog(hDlg, wmId);
+ return TRUE;
+
+ default:
+ return FALSE;
+ }
+ break;
+ default:
+ return FALSE;
+ }
+
+ return FALSE;
+}
+
+
+LRESULT CALLBACK FileError(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return TRUE;
+ }
+ break;
+ }
+
+ return FALSE;
+}
+
+
+LRESULT CALLBACK FileExist(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return TRUE;
+ case WM_COMMAND:
+ EndDialog(hDlg, LOWORD(wParam));
+ return TRUE;
+ default:
+ return FALSE;
+ }
+
+ return FALSE;
+}
diff --git a/apps/FaCE/FaCE.h b/apps/FaCE/FaCE.h
new file mode 100644
index 00000000000..8a4b80425d9
--- /dev/null
+++ b/apps/FaCE/FaCE.h
@@ -0,0 +1,57 @@
+// -*- C++ -*-
+//=============================================================================
+/**
+ * @file FaCE.h
+ *
+ * $Id$
+ *
+ * @author Si Mong Park <spark@ociweb.com>
+ */
+//=============================================================================
+
+#if !defined(AFX_FACE_H__1043241E_A6A9_4246_A9E4_7A774E19EE73__INCLUDED_)
+#define AFX_FACE_H__1043241E_A6A9_4246_A9E4_7A774E19EE73__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#if (_WIN32_WCE <= 211)
+#error This project can not be built for H/PC Pro 2.11 or earlier platforms.
+#endif
+
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+
+//////
+// BEGIN FaCE specific preprocessor
+#ifdef NO_ACE
+
+#include <windows.h>
+#include "CE_Screen_Output.h"
+
+#define ACE_TCHAR wchar_t
+#define ACE_LIB_TEXT(STRING) L##STRING
+#define ACE_CE_Screen_Output CE_Screen_Output
+
+int main_i(int, wchar_t**);
+
+#else
+
+#include <ace/OS.h>
+#include <ace/CE_Screen_Output.h>
+
+int ace_main_i(int, ACE_TCHAR**);
+
+#endif // NO_ACE
+// END FaCE specific
+//////
+
+#include "resource.h"
+
+#define MENU_HEIGHT 26
+#define MAX_LOADSTRING 101
+#define MAX_COMMAND_LINE 1001 // Max number of characters + 1 (null at the end) for user-input argv
+
+extern ACE_CE_Screen_Output cout; // Replacement of std::cout
+
+#endif // !defined(AFX_FACE_H__1043241E_A6A9_4246_A9E4_7A774E19EE73__INCLUDED_)
diff --git a/apps/FaCE/FaCE.rc b/apps/FaCE/FaCE.rc
new file mode 100644
index 00000000000..1d1b40df81e
--- /dev/null
+++ b/apps/FaCE/FaCE.rc
@@ -0,0 +1,268 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "newres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_FACE ICON DISCARDABLE "FACE.ico"
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "#include ""newres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Data
+//
+
+IDM_MENU SHMENUBAR MOVEABLE PURE
+BEGIN
+ IDM_MENU, 2,
+ I_IMAGENONE, ID_SETTING, TBSTATE_ENABLED,
+ TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_CAP_SETTING, 0, 0,
+ I_IMAGENONE, IDM_MAIN_COMMAND1, TBSTATE_ENABLED,
+ TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_HELP, 0, 1,
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Menubar
+//
+
+IDM_MENU MENU DISCARDABLE
+BEGIN
+ POPUP "Setting"
+ BEGIN
+ MENUITEM "Command Line", ID_SETTING_COMMANDLINE
+ MENUITEM "Run", ID_SETTING_RUN
+ MENUITEM SEPARATOR
+ MENUITEM "Exit", ID_SETTING_EXIT
+ END
+ POPUP "Tools"
+ BEGIN
+ MENUITEM "About", IDM_HELP_ABOUT
+ MENUITEM "Save To File", ID_TOOLS_SAVETOFILE
+ END
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 148, 161
+STYLE WS_POPUP | WS_CAPTION
+EXSTYLE 0x80000000L
+CAPTION "About FACE"
+FONT 8, "System"
+BEGIN
+ CONTROL 113,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE,33,6,
+ 69,52
+ CTEXT "Static",IDC_COPYRIGHT,7,86,128,68
+ CONTROL 114,IDC_TAO,"Static",SS_BITMAP,7,61,134,22
+END
+
+IDD_CMDLINE DIALOG DISCARDABLE 0, 0, 125, 50
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Command Line"
+FONT 8, "System"
+BEGIN
+ DEFPUSHBUTTON "OK",IDOK,7,29,50,14
+ PUSHBUTTON "Cancel",IDCANCEL,68,29,50,14
+ COMBOBOX IDC_CMDEDIT,7,7,111,80,CBS_DROPDOWN | CBS_AUTOHSCROLL |
+ CBS_OEMCONVERT | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL |
+ WS_TABSTOP
+END
+
+IDD_OUTFILE DIALOG DISCARDABLE 0, 0, 127, 49
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Output File Name"
+FONT 8, "System"
+BEGIN
+ DEFPUSHBUTTON "OK",IDOK,7,28,50,14
+ PUSHBUTTON "Cancel",IDCANCEL,70,28,50,14
+ EDITTEXT IDC_SAVEFILE,7,7,113,14,ES_AUTOHSCROLL
+END
+
+IDD_ERRFILE DIALOG DISCARDABLE 0, 0, 124, 49
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "ERROR"
+FONT 8, "System"
+BEGIN
+ DEFPUSHBUTTON "OK",IDOK,37,28,50,14
+ CTEXT "File Creation Error!",IDC_ERRFILE,13,7,98,17,
+ SS_CENTERIMAGE
+END
+
+IDD_FILEEXIST DIALOG DISCARDABLE 0, 0, 114, 90
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "File Exists"
+FONT 8, "System"
+BEGIN
+ DEFPUSHBUTTON "Overwrite",IDOVERWRITE,32,32,50,14
+ PUSHBUTTON "Cancel",IDCANCEL,32,68,50,14
+ PUSHBUTTON "Append",IDC_APPEND,32,50,50,14
+ CTEXT "File already exists!",IDC_STATIC,7,15,100,11
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Accelerator
+//
+
+IDC_FACE ACCELERATORS DISCARDABLE
+BEGIN
+ "A", IDM_HELP_ABOUT, VIRTKEY, CONTROL, NOINVERT
+ "Q", IDOK, VIRTKEY, CONTROL, NOINVERT
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO DISCARDABLE
+BEGIN
+ IDD_ABOUTBOX, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 141
+ TOPMARGIN, 6
+ BOTTOMMARGIN, 154
+ END
+
+ IDD_CMDLINE, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 118
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 43
+ END
+
+ IDD_OUTFILE, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 120
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 42
+ END
+
+ IDD_ERRFILE, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 117
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 42
+ END
+
+ IDD_FILEEXIST, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 107
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 82
+ END
+END
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Bitmap
+//
+
+IDB_ACERACER BITMAP DISCARDABLE "ACE_Racer.bmp"
+IDB_TAO BITMAP DISCARDABLE "TAO.bmp"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_APP_TITLE "FaCE"
+ IDC_FACE "FaCE"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_HELP "Tools"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_COMMAND1 "Done "
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_CAP_SETTING "Setting"
+END
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/apps/FaCE/FaCE.vcp b/apps/FaCE/FaCE.vcp
new file mode 100644
index 00000000000..1dcf8c5fe60
--- /dev/null
+++ b/apps/FaCE/FaCE.vcp
@@ -0,0 +1,604 @@
+# Microsoft eMbedded Visual Tools Project File - Name="FaCE" - Package Owner=<4>
+# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (WCE x86) Application" 0x8301
+# TARGTYPE "Win32 (WCE ARM) Application" 0x8501
+
+CFG=FaCE - Win32 (WCE ARM) Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "FaCE.vcn".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "FaCE.vcn" CFG="FaCE - Win32 (WCE ARM) Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "FaCE - Win32 (WCE ARM) Release" (based on "Win32 (WCE ARM) Application")
+!MESSAGE "FaCE - Win32 (WCE ARM) Debug" (based on "Win32 (WCE ARM) Application")
+!MESSAGE "FaCE - Win32 (WCE x86) Release" (based on "Win32 (WCE x86) Application")
+!MESSAGE "FaCE - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+# PROP ATL_Project 2
+
+!IF "$(CFG)" == "FaCE - Win32 (WCE ARM) Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ARMRel"
+# PROP BASE Intermediate_Dir "ARMRel"
+# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
+# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ARMRel"
+# PROP Intermediate_Dir "ARMRel"
+# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
+# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+RSC=rc.exe
+# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
+# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
+CPP=clarm.exe
+# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /Oxs /M$(CECrtMT) /c
+# ADD CPP /nologo /W3 /I "$(ACE_ROOT)" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Oxs /M$(CECrtMT) /c
+# SUBTRACT CPP /YX /Yc /Yu
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 commctrl.lib coredll.lib aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
+# ADD LINK32 commctrl.lib coredll.lib aygshell.lib ace_os.lib ace.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /libpath:"$(ACE_ROOT)\LIB\Release\ARM" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
+
+!ELSEIF "$(CFG)" == "FaCE - Win32 (WCE ARM) Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "ARMDbg"
+# PROP BASE Intermediate_Dir "ARMDbg"
+# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
+# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "ARMDbg"
+# PROP Intermediate_Dir "ARMDbg"
+# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
+# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+RSC=rc.exe
+# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
+# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
+CPP=clarm.exe
+# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /M$(CECrtMTDebug) /c
+# ADD CPP /nologo /W3 /Zi /Od /I "$(ACE_ROOT)" /D "DEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /M$(CECrtMTDebug) /c
+# SUBTRACT CPP /YX /Yc /Yu
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 commctrl.lib coredll.lib aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
+# ADD LINK32 commctrl.lib coredll.lib aygshell.lib ace_osd.lib aced.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /libpath:"$(ACE_ROOT)\LIB\Debug\ARM" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
+
+!ELSEIF "$(CFG)" == "FaCE - Win32 (WCE x86) Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "X86Rel"
+# PROP BASE Intermediate_Dir "X86Rel"
+# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
+# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "X86Rel"
+# PROP Intermediate_Dir "X86Rel"
+# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
+# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+RSC=rc.exe
+# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
+# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
+CPP=cl.exe
+# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /Yu"stdafx.h" /Gs8192 /GF /Oxs /c
+# ADD CPP /nologo /W3 /I "$(ACE_ROOT)" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /Gs8192 /GF /Oxs /c
+# SUBTRACT CPP /YX /Yc /Yu
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86
+# ADD LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) aygshell.lib ace_os.lib ace.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86
+
+!ELSEIF "$(CFG)" == "FaCE - Win32 (WCE x86) Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "X86Dbg"
+# PROP BASE Intermediate_Dir "X86Dbg"
+# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
+# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "X86Dbg"
+# PROP Intermediate_Dir "X86Dbg"
+# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
+# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+RSC=rc.exe
+# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
+# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
+CPP=cl.exe
+# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /Yu"stdafx.h" /Gs8192 /GF /c
+# ADD CPP /nologo /W3 /Zi /Od /I "$(ACE_ROOT)" /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /Gs8192 /GF /c
+# SUBTRACT CPP /YX /Yc /Yu
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86
+# ADD LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) aygshell.lib ace_osd.lib aced.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /libpath:"$(ACE_ROOT)\LIB\Debug\X86EM" /subsystem:$(CESubsystem) /MACHINE:IX86
+
+!ENDIF
+
+# Begin Target
+
+# Name "FaCE - Win32 (WCE ARM) Release"
+# Name "FaCE - Win32 (WCE ARM) Debug"
+# Name "FaCE - Win32 (WCE x86) Release"
+# Name "FaCE - Win32 (WCE x86) Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\FaCE.cpp
+
+!IF "$(CFG)" == "FaCE - Win32 (WCE ARM) Release"
+
+DEP_CPP_FACE_=\
+ ".\FaCE.h"\
+
+NODEP_CPP_FACE_=\
+ ".\ipapi.h"\
+ ".\StdAfx.h"\
+ ".\ygshell.h"\
+
+
+!ELSEIF "$(CFG)" == "FaCE - Win32 (WCE ARM) Debug"
+
+DEP_CPP_FACE_=\
+ ".\FaCE.h"\
+
+NODEP_CPP_FACE_=\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ace.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ACE.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ACE_export.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ace_wchar.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ace_wchar.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Base_Thread_Adapter.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Base_Thread_Adapter.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Basic_Types.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Basic_Types.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\CE_Screen_Output.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-all.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-cygwin32-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-cygwin32.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-g++-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-ghs-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-borland.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-ghs.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-mingw.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc-5.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc-6.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc-7.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-visualage.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-WinCE.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Flag_Manip.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Flag_Manip.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Handle_Ops.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Handle_Ops.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Init_ACE.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Init_ACE.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\iosfwd.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Lib_Find.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Lib_Find.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Msg.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Msg_Callback.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Priority.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Record.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Record.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Managed_Object.cpp"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Managed_Object.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Managed_Object.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Min_Max.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Object_Manager.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Object_Manager.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Dirent.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Dirent.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Errno.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Errno.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Export.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Log_Msg_Attributes.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Log_Msg_Attributes.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Memory.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Memory.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_String.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_String.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_TLI.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_TLI.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\post.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\pre.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Sock_Connect.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Sock_Connect.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\streams.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\svc_export.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Adapter.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Adapter.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Control.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Control.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Exit.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Hook.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Trace.h"\
+ ".\ipapi.h"\
+ ".\StdAfx.h"\
+ ".\ygshell.h"\
+
+
+!ELSEIF "$(CFG)" == "FaCE - Win32 (WCE x86) Release"
+
+DEP_CPP_FACE_=\
+ ".\FaCE.h"\
+
+NODEP_CPP_FACE_=\
+ ".\ipapi.h"\
+ ".\StdAfx.h"\
+ ".\ygshell.h"\
+
+
+!ELSEIF "$(CFG)" == "FaCE - Win32 (WCE x86) Debug"
+
+DEP_CPP_FACE_=\
+ "..\..\ace\ace.h"\
+ "..\..\ace\ACE.i"\
+ "..\..\ace\ACE_export.h"\
+ "..\..\ace\ace_wchar.h"\
+ "..\..\ace\ace_wchar.inl"\
+ "..\..\ace\Argv_Type_Converter.h"\
+ "..\..\ace\Argv_Type_Converter.inl"\
+ "..\..\ace\Base_Thread_Adapter.h"\
+ "..\..\ace\Base_Thread_Adapter.inl"\
+ "..\..\ace\Basic_Types.h"\
+ "..\..\ace\Basic_Types.i"\
+ "..\..\ace\CE_Screen_Output.h"\
+ "..\..\ace\config-all.h"\
+ "..\..\ace\config-cygwin32-common.h"\
+ "..\..\ace\config-cygwin32.h"\
+ "..\..\ace\config-g++-common.h"\
+ "..\..\ace\config-ghs-common.h"\
+ "..\..\ace\config-win32-borland.h"\
+ "..\..\ace\config-win32-common.h"\
+ "..\..\ace\config-win32-ghs.h"\
+ "..\..\ace\config-win32-mingw.h"\
+ "..\..\ace\config-win32-msvc-5.h"\
+ "..\..\ace\config-win32-msvc-6.h"\
+ "..\..\ace\config-win32-msvc-7.h"\
+ "..\..\ace\config-win32-msvc.h"\
+ "..\..\ace\config-win32-visualage.h"\
+ "..\..\ace\config-win32.h"\
+ "..\..\ace\config-WinCE.h"\
+ "..\..\ace\config.h"\
+ "..\..\ace\Default_Constants.h"\
+ "..\..\ace\Flag_Manip.h"\
+ "..\..\ace\Flag_Manip.i"\
+ "..\..\ace\Global_Macros.h"\
+ "..\..\ace\Handle_Ops.h"\
+ "..\..\ace\Handle_Ops.i"\
+ "..\..\ace\Init_ACE.h"\
+ "..\..\ace\Init_ACE.i"\
+ "..\..\ace\iosfwd.h"\
+ "..\..\ace\Lib_Find.h"\
+ "..\..\ace\Lib_Find.i"\
+ "..\..\ace\Log_Msg.h"\
+ "..\..\ace\Log_Msg_Callback.h"\
+ "..\..\ace\Log_Priority.h"\
+ "..\..\ace\Log_Record.h"\
+ "..\..\ace\Log_Record.i"\
+ "..\..\ace\Managed_Object.cpp"\
+ "..\..\ace\Managed_Object.h"\
+ "..\..\ace\Managed_Object.i"\
+ "..\..\ace\Min_Max.h"\
+ "..\..\ace\Object_Manager.h"\
+ "..\..\ace\Object_Manager.i"\
+ "..\..\ace\OS.h"\
+ "..\..\ace\OS.i"\
+ "..\..\ace\OS_Dirent.h"\
+ "..\..\ace\OS_Dirent.inl"\
+ "..\..\ace\OS_Errno.h"\
+ "..\..\ace\OS_Errno.inl"\
+ "..\..\ace\OS_Export.h"\
+ "..\..\ace\OS_Log_Msg_Attributes.h"\
+ "..\..\ace\OS_Log_Msg_Attributes.inl"\
+ "..\..\ace\OS_Memory.h"\
+ "..\..\ace\OS_Memory.inl"\
+ "..\..\ace\OS_String.h"\
+ "..\..\ace\OS_String.inl"\
+ "..\..\ace\OS_TLI.h"\
+ "..\..\ace\OS_TLI.inl"\
+ "..\..\ace\post.h"\
+ "..\..\ace\pre.h"\
+ "..\..\ace\Sock_Connect.h"\
+ "..\..\ace\Sock_Connect.i"\
+ "..\..\ace\streams.h"\
+ "..\..\ace\svc_export.h"\
+ "..\..\ace\Thread_Adapter.h"\
+ "..\..\ace\Thread_Adapter.inl"\
+ "..\..\ace\Thread_Control.h"\
+ "..\..\ace\Thread_Control.inl"\
+ "..\..\ace\Thread_Exit.h"\
+ "..\..\ace\Thread_Hook.h"\
+ "..\..\ace\Trace.h"\
+ ".\CE_ARGV.h"\
+ ".\CE_Screen_Output.h"\
+ ".\FaCE.h"\
+ {$(INCLUDE)}"aygshell.h"\
+ {$(INCLUDE)}"sipapi.h"\
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\FaCE.rc
+
+!IF "$(CFG)" == "FaCE - Win32 (WCE ARM) Release"
+
+!ELSEIF "$(CFG)" == "FaCE - Win32 (WCE ARM) Debug"
+
+!ELSEIF "$(CFG)" == "FaCE - Win32 (WCE x86) Release"
+
+!ELSEIF "$(CFG)" == "FaCE - Win32 (WCE x86) Debug"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\Main.cpp
+
+!IF "$(CFG)" == "FaCE - Win32 (WCE ARM) Release"
+
+DEP_CPP_MAIN_=\
+ ".\FaCE.h"\
+
+
+!ELSEIF "$(CFG)" == "FaCE - Win32 (WCE ARM) Debug"
+
+DEP_CPP_MAIN_=\
+ ".\FaCE.h"\
+
+NODEP_CPP_MAIN_=\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ACE_export.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ace_wchar.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ace_wchar.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Base_Thread_Adapter.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Base_Thread_Adapter.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Basic_Types.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Basic_Types.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-all.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-cygwin32-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-cygwin32.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-g++-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-ghs-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-borland.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-ghs.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-mingw.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc-5.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc-6.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc-7.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-visualage.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-WinCE.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\iosfwd.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Msg.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Msg_Callback.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Priority.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Record.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Record.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Managed_Object.cpp"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Managed_Object.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Managed_Object.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Min_Max.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Object_Manager.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Object_Manager.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Dirent.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Dirent.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Errno.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Errno.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Export.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Log_Msg_Attributes.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Log_Msg_Attributes.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Memory.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Memory.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_String.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_String.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_TLI.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_TLI.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\post.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\pre.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\streams.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\svc_export.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Adapter.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Adapter.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Control.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Control.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Exit.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Hook.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Trace.h"\
+
+
+!ELSEIF "$(CFG)" == "FaCE - Win32 (WCE x86) Release"
+
+DEP_CPP_MAIN_=\
+ ".\FaCE.h"\
+
+
+!ELSEIF "$(CFG)" == "FaCE - Win32 (WCE x86) Debug"
+
+DEP_CPP_MAIN_=\
+ "..\..\ace\ACE_export.h"\
+ "..\..\ace\ace_wchar.h"\
+ "..\..\ace\ace_wchar.inl"\
+ "..\..\ace\Argv_Type_Converter.h"\
+ "..\..\ace\Argv_Type_Converter.inl"\
+ "..\..\ace\Base_Thread_Adapter.h"\
+ "..\..\ace\Base_Thread_Adapter.inl"\
+ "..\..\ace\Basic_Types.h"\
+ "..\..\ace\Basic_Types.i"\
+ "..\..\ace\CE_Screen_Output.h"\
+ "..\..\ace\config-all.h"\
+ "..\..\ace\config-cygwin32-common.h"\
+ "..\..\ace\config-cygwin32.h"\
+ "..\..\ace\config-g++-common.h"\
+ "..\..\ace\config-ghs-common.h"\
+ "..\..\ace\config-win32-borland.h"\
+ "..\..\ace\config-win32-common.h"\
+ "..\..\ace\config-win32-ghs.h"\
+ "..\..\ace\config-win32-mingw.h"\
+ "..\..\ace\config-win32-msvc-5.h"\
+ "..\..\ace\config-win32-msvc-6.h"\
+ "..\..\ace\config-win32-msvc-7.h"\
+ "..\..\ace\config-win32-msvc.h"\
+ "..\..\ace\config-win32-visualage.h"\
+ "..\..\ace\config-win32.h"\
+ "..\..\ace\config-WinCE.h"\
+ "..\..\ace\config.h"\
+ "..\..\ace\Default_Constants.h"\
+ "..\..\ace\Global_Macros.h"\
+ "..\..\ace\iosfwd.h"\
+ "..\..\ace\Log_Msg.h"\
+ "..\..\ace\Log_Msg_Callback.h"\
+ "..\..\ace\Log_Priority.h"\
+ "..\..\ace\Log_Record.h"\
+ "..\..\ace\Log_Record.i"\
+ "..\..\ace\Managed_Object.cpp"\
+ "..\..\ace\Managed_Object.h"\
+ "..\..\ace\Managed_Object.i"\
+ "..\..\ace\Min_Max.h"\
+ "..\..\ace\Object_Manager.h"\
+ "..\..\ace\Object_Manager.i"\
+ "..\..\ace\OS.h"\
+ "..\..\ace\OS.i"\
+ "..\..\ace\OS_Dirent.h"\
+ "..\..\ace\OS_Dirent.inl"\
+ "..\..\ace\OS_Errno.h"\
+ "..\..\ace\OS_Errno.inl"\
+ "..\..\ace\OS_Export.h"\
+ "..\..\ace\OS_Log_Msg_Attributes.h"\
+ "..\..\ace\OS_Log_Msg_Attributes.inl"\
+ "..\..\ace\OS_Memory.h"\
+ "..\..\ace\OS_Memory.inl"\
+ "..\..\ace\OS_String.h"\
+ "..\..\ace\OS_String.inl"\
+ "..\..\ace\OS_TLI.h"\
+ "..\..\ace\OS_TLI.inl"\
+ "..\..\ace\post.h"\
+ "..\..\ace\pre.h"\
+ "..\..\ace\streams.h"\
+ "..\..\ace\svc_export.h"\
+ "..\..\ace\Thread_Adapter.h"\
+ "..\..\ace\Thread_Adapter.inl"\
+ "..\..\ace\Thread_Control.h"\
+ "..\..\ace\Thread_Control.inl"\
+ "..\..\ace\Thread_Exit.h"\
+ "..\..\ace\Thread_Hook.h"\
+ "..\..\ace\Trace.h"\
+ ".\CE_Screen_Output.h"\
+ ".\FaCE.h"\
+
+
+!ENDIF
+
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\FaCE.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\newres.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\resource.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\ACE_Racer.bmp
+# End Source File
+# Begin Source File
+
+SOURCE=.\FaCE.ico
+# End Source File
+# Begin Source File
+
+SOURCE=.\TAO.bmp
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=.\License.txt
+# End Source File
+# Begin Source File
+
+SOURCE=.\ReadMe.txt
+# End Source File
+# End Target
+# End Project
diff --git a/apps/FaCE/FaCE.vcw b/apps/FaCE/FaCE.vcw
new file mode 100644
index 00000000000..3ef52974f61
--- /dev/null
+++ b/apps/FaCE/FaCE.vcw
@@ -0,0 +1,29 @@
+Microsoft eMbedded Visual Tools Workspace File, Format Version 3.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "FaCE"=".\FaCE.vcp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/apps/FaCE/FaCENOACE.vcp b/apps/FaCE/FaCENOACE.vcp
new file mode 100644
index 00000000000..a6cabffe420
--- /dev/null
+++ b/apps/FaCE/FaCENOACE.vcp
@@ -0,0 +1,528 @@
+# Microsoft eMbedded Visual Tools Project File - Name="FaCENOACE" - Package Owner=<4>
+# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (WCE x86) Application" 0x8301
+# TARGTYPE "Win32 (WCE ARM) Application" 0x8501
+
+CFG=FaCENOACE - Win32 (WCE ARM) Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "FaCENOACE.vcn".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "FaCENOACE.vcn" CFG="FaCENOACE - Win32 (WCE ARM) Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "FaCENOACE - Win32 (WCE ARM) Release" (based on "Win32 (WCE ARM) Application")
+!MESSAGE "FaCENOACE - Win32 (WCE ARM) Debug" (based on "Win32 (WCE ARM) Application")
+!MESSAGE "FaCENOACE - Win32 (WCE x86) Release" (based on "Win32 (WCE x86) Application")
+!MESSAGE "FaCENOACE - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+# PROP ATL_Project 2
+
+!IF "$(CFG)" == "FaCENOACE - Win32 (WCE ARM) Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ARMRel"
+# PROP BASE Intermediate_Dir "ARMRel"
+# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
+# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ARMRelNOACE"
+# PROP Intermediate_Dir "ARMRelNOACE"
+# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
+# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+RSC=rc.exe
+# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
+# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
+CPP=clarm.exe
+# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /Oxs /M$(CECrtMT) /c
+# ADD CPP /nologo /W3 /D "ARM" /D "_ARM_" /D "NDEBUG" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "NO_ACE" /Oxs /M$(CECrtMT) /c
+# SUBTRACT CPP /YX /Yc /Yu
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 commctrl.lib coredll.lib aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
+# ADD LINK32 commctrl.lib coredll.lib aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE ARM) Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "ARMDbg"
+# PROP BASE Intermediate_Dir "ARMDbg"
+# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
+# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "ARMDbgNOACE"
+# PROP Intermediate_Dir "ARMDbgNOACE"
+# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
+# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+RSC=rc.exe
+# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
+# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
+CPP=clarm.exe
+# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /M$(CECrtMTDebug) /c
+# ADD CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "NO_ACE" /M$(CECrtMTDebug) /c
+# SUBTRACT CPP /YX /Yc /Yu
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 commctrl.lib coredll.lib aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
+# ADD LINK32 commctrl.lib coredll.lib aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE x86) Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "X86Rel"
+# PROP BASE Intermediate_Dir "X86Rel"
+# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
+# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "X86RelNOACE"
+# PROP Intermediate_Dir "X86RelNOACE"
+# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
+# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+RSC=rc.exe
+# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
+# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
+CPP=cl.exe
+# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /Yu"stdafx.h" /Gs8192 /GF /Oxs /c
+# ADD CPP /nologo /W3 /D "_i386_" /D "i_386_" /D "_X86_" /D "x86" /D "NDEBUG" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "NO_ACE" /Gs8192 /GF /Oxs /c
+# SUBTRACT CPP /YX /Yc /Yu
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86
+# ADD LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE x86) Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "X86Dbg"
+# PROP BASE Intermediate_Dir "X86Dbg"
+# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
+# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "X86DbgNOACE"
+# PROP Intermediate_Dir "X86DbgNOACE"
+# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
+# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+RSC=rc.exe
+# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
+# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
+CPP=cl.exe
+# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /Yu"stdafx.h" /Gs8192 /GF /c
+# ADD CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "_i386_" /D "i_386_" /D "_X86_" /D "x86" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "NO_ACE" /Gs8192 /GF /c
+# SUBTRACT CPP /YX /Yc /Yu
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86
+# ADD LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86
+
+!ENDIF
+
+# Begin Target
+
+# Name "FaCENOACE - Win32 (WCE ARM) Release"
+# Name "FaCENOACE - Win32 (WCE ARM) Debug"
+# Name "FaCENOACE - Win32 (WCE x86) Release"
+# Name "FaCENOACE - Win32 (WCE x86) Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\CE_ARGV.CPP
+
+!IF "$(CFG)" == "FaCENOACE - Win32 (WCE ARM) Release"
+
+DEP_CPP_CE_AR=\
+ ".\CE_ARGV.H"\
+
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE ARM) Debug"
+
+DEP_CPP_CE_AR=\
+ ".\CE_ARGV.H"\
+
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE x86) Release"
+
+DEP_CPP_CE_AR=\
+ ".\CE_ARGV.H"\
+
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE x86) Debug"
+
+DEP_CPP_CE_AR=\
+ ".\CE_ARGV.H"\
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\CE_Screen_Output.cpp
+
+!IF "$(CFG)" == "FaCENOACE - Win32 (WCE ARM) Release"
+
+DEP_CPP_CE_SC=\
+ ".\CE_Screen_Output.h"\
+
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE ARM) Debug"
+
+DEP_CPP_CE_SC=\
+ ".\CE_Screen_Output.h"\
+
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE x86) Release"
+
+DEP_CPP_CE_SC=\
+ ".\CE_Screen_Output.h"\
+
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE x86) Debug"
+
+DEP_CPP_CE_SC=\
+ ".\CE_Screen_Output.h"\
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\FaCE.cpp
+
+!IF "$(CFG)" == "FaCENOACE - Win32 (WCE ARM) Release"
+
+DEP_CPP_FACE_=\
+ ".\FaCE.h"\
+ ".\StdAfx.h"\
+
+NODEP_CPP_FACE_=\
+ ".\ipapi.h"\
+ ".\ygshell.h"\
+
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE ARM) Debug"
+
+DEP_CPP_FACE_=\
+ ".\FaCE.h"\
+ ".\StdAfx.h"\
+
+NODEP_CPP_FACE_=\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ace.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ACE.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ACE_export.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ace_wchar.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ace_wchar.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Base_Thread_Adapter.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Base_Thread_Adapter.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Basic_Types.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Basic_Types.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\CE_Screen_Output.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-all.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-cygwin32-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-cygwin32.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-g++-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-ghs-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-borland.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-ghs.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-mingw.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc-5.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc-6.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc-7.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-visualage.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-WinCE.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Flag_Manip.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Flag_Manip.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Handle_Ops.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Handle_Ops.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Init_ACE.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Init_ACE.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\iosfwd.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Lib_Find.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Lib_Find.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Msg.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Msg_Callback.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Priority.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Record.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Record.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Managed_Object.cpp"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Managed_Object.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Managed_Object.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Min_Max.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Object_Manager.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Object_Manager.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Dirent.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Dirent.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Errno.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Errno.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Export.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Log_Msg_Attributes.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Log_Msg_Attributes.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Memory.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Memory.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_String.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_String.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_TLI.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_TLI.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\post.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\pre.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Sock_Connect.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Sock_Connect.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\streams.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\svc_export.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Adapter.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Adapter.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Control.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Control.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Exit.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Hook.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Trace.h"\
+ ".\ipapi.h"\
+ ".\ygshell.h"\
+
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE x86) Release"
+
+DEP_CPP_FACE_=\
+ ".\FaCE.h"\
+ ".\StdAfx.h"\
+
+NODEP_CPP_FACE_=\
+ ".\ipapi.h"\
+ ".\ygshell.h"\
+
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE x86) Debug"
+
+DEP_CPP_FACE_=\
+ ".\CE_ARGV.H"\
+ ".\CE_Screen_Output.h"\
+ ".\FaCE.h"\
+ {$(INCLUDE)}"aygshell.h"\
+ {$(INCLUDE)}"sipapi.h"\
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\FaCE.rc
+
+!IF "$(CFG)" == "FaCENOACE - Win32 (WCE ARM) Release"
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE ARM) Debug"
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE x86) Release"
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE x86) Debug"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\Main.cpp
+
+!IF "$(CFG)" == "FaCENOACE - Win32 (WCE ARM) Release"
+
+DEP_CPP_MAIN_=\
+ ".\FaCE.h"\
+
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE ARM) Debug"
+
+DEP_CPP_MAIN_=\
+ ".\FaCE.h"\
+
+NODEP_CPP_MAIN_=\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ACE_export.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ace_wchar.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\ace_wchar.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Base_Thread_Adapter.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Base_Thread_Adapter.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Basic_Types.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Basic_Types.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-all.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-cygwin32-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-cygwin32.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-g++-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-ghs-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-borland.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-common.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-ghs.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-mingw.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc-5.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc-6.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc-7.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-msvc.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32-visualage.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-win32.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config-WinCE.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\config.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\iosfwd.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Msg.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Msg_Callback.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Priority.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Record.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Log_Record.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Managed_Object.cpp"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Managed_Object.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Managed_Object.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Min_Max.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Object_Manager.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Object_Manager.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS.i"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Dirent.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Dirent.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Errno.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Errno.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Export.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Log_Msg_Attributes.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Log_Msg_Attributes.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Memory.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_Memory.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_String.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_String.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_TLI.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\OS_TLI.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\post.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\pre.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\streams.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\svc_export.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Adapter.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Adapter.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Control.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Control.inl"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Exit.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Thread_Hook.h"\
+ "..\..\toshiba\implementation\ACE_wrappers\ace\Trace.h"\
+
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE x86) Release"
+
+DEP_CPP_MAIN_=\
+ ".\FaCE.h"\
+
+
+!ELSEIF "$(CFG)" == "FaCENOACE - Win32 (WCE x86) Debug"
+
+DEP_CPP_MAIN_=\
+ ".\CE_Screen_Output.h"\
+ ".\FaCE.h"\
+
+
+!ENDIF
+
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\CE_ARGV.H
+# End Source File
+# Begin Source File
+
+SOURCE=.\CE_Screen_Output.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FaCE.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\newres.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\resource.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\ACE_Racer.bmp
+# End Source File
+# Begin Source File
+
+SOURCE=.\FaCE.ico
+# End Source File
+# Begin Source File
+
+SOURCE=.\TAO.bmp
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=.\License.txt
+# End Source File
+# Begin Source File
+
+SOURCE=.\ReadMe.txt
+# End Source File
+# End Target
+# End Project
diff --git a/apps/FaCE/FaCENOACE.vcw b/apps/FaCE/FaCENOACE.vcw
new file mode 100644
index 00000000000..98a3b7e412a
--- /dev/null
+++ b/apps/FaCE/FaCENOACE.vcw
@@ -0,0 +1,29 @@
+Microsoft eMbedded Visual Tools Workspace File, Format Version 3.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "FaCENOACE"=".\FaCENOACE.vcp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/apps/FaCE/License.txt b/apps/FaCE/License.txt
new file mode 100644
index 00000000000..ceaf85d3550
--- /dev/null
+++ b/apps/FaCE/License.txt
@@ -0,0 +1,27 @@
+==
+== Copyright and Licensing Information
+==
+
+ACE(tm) and TAO(tm) are copyrighted by Dr. Douglas C. Schmidt and the Center for Distributed
+Object Computing ('DOC' group) at Washington University, Copyright (C) 1993 - 2002, all rights
+reserved. Since ACE and TAO are open source, free software, you are free to use, modify, and
+distribute the ACE and TAO source code and object code produced from the source, as long as
+you include this copyright statement along with code built using ACE and TAO. Please refer to
+ACE and TAO documentations for detailed copyright and license information on ACE and TAO.
+
+FaCE is an additional front-end shell package designed for ACE and TAO testing work for Pocket
+PC 2002 platform, created and released by Object Computing, Inc. (OCI) and distributed with ACE
+and TAO under the same licensing terms. You can modify and change the source of FaCE for your
+own use as long as you provide attribution to OCI by including its copyright statement in your
+distributions of source and object code. OCI welcomes submissions of improvements to the FaCE
+code base.
+
+FaCE is copyrighted by Object Computing, Inc., St. Louis Missouri, Copyright (C) 2002,
+all rights reserved.
+
+
+==
+== Warranty Information
+==
+
+FaCE is provided 'as is' without warranties of any kind.
diff --git a/apps/FaCE/Main.cpp b/apps/FaCE/Main.cpp
new file mode 100644
index 00000000000..dbe2347a922
--- /dev/null
+++ b/apps/FaCE/Main.cpp
@@ -0,0 +1,49 @@
+// $Id$
+
+// ************************************************
+// ** This file is NOT to be used for framework. **
+// ************************************************
+
+// This file defines the entry point for Windows CE, which is defined in OS.h for real applications.
+
+
+#include "FaCE.h"
+
+extern BOOL InitInstance (HINSTANCE, int);
+extern void InitSetup();
+
+
+int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow)
+{
+ MSG msg;
+ HACCEL hAccelTable;
+ if (!InitInstance (hInstance, nCmdShow)) return FALSE;
+ hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_FACE);
+ InitSetup();
+ while (GetMessage(&msg, NULL, 0, 0)) {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+ return msg.wParam;
+}
+
+
+#ifdef NO_ACE
+
+int main_i(int, ACE_TCHAR**)
+{
+ // this function will be replaced by user's main_ce function
+ return 0;
+}
+
+#else
+
+int ace_main_i(int, ACE_TCHAR**)
+{
+ // this function will be replaced by user's main_ce function
+ return 0;
+}
+
+#endif // NO_ACE
diff --git a/apps/FaCE/ReadMe.txt b/apps/FaCE/ReadMe.txt
new file mode 100644
index 00000000000..68f8625a367
--- /dev/null
+++ b/apps/FaCE/ReadMe.txt
@@ -0,0 +1,275 @@
+===
+=== FaCE (Front-end for ACE CE)
+===
+=== Object Computing, Inc. <http://www.ociweb.com>
+=== St. Louis, Missouri
+=== Copyright (C) 2002. All rights reserved.
+===
+=== V1.0, March 29th, 2002
+===
+
+
+== What's FaCE?
+
+FaCE is a simple front-end framework for testing and debugging non-Windows
+CE applications on the Pocket PC 2002 platform. Originally, FaCE was
+developed to test ACE and TAO components internally in Object Computing, Inc.
+However, since it has shown dramatic increase of productivity in a lot
+shorter amount of time, it has been prepared as a package for all programmers
+who want to test and run existing codes (non-WinCE native codes) on Pocket PC
+2002 and WinCE 3.0.
+
+The features of FaCE are:
+
+ 1. command line parameter support
+ 2. command line history support (never type in same command line again)
+ 3. output displayed on the windows screen
+ 4. output to file (with append and overwrite support)
+ 5. does not use MFC
+ 6. almost no modification to existing user code
+ 7. easy to enable and disable after install
+
+* Default project files only contain Pocket PC 2002 platform configuration.
+ A new configuration can be added for other WinCE 3.0 platform from eVC.
+
+
+== Package Contents
+
+Files contained in FaCE package are:
+
+ Main Framework Files for both ACE users and non-ACE users
+ - ACE_Racer.bmp
+ - FaCE.h & cpp
+ - FaCE.ico
+ - FaCE.rc
+ - newres.h
+ - resource.h
+ - TAO.bmp
+
+ Additional Framework files for non-ACE users
+ - CE_ARGV.h & cpp
+ - CE_Screen_Output.h & cpp
+
+ Files for loading skeleton FaCE from eVC
+ - FaCE.vcp & vcw : FaCE Project files for ACE users
+ - FaCENOACE.vcp & vcw : FaCE Project files for non-ACE users
+ - Main.cpp : almost empty entry point function
+
+ Misc. Files
+ - ACE.ico : a bonus icon of ACE logo
+ - License.txt : license and warranty information
+ - ReadMe.txt : this document
+
+
+== Requirement
+
+ - Microsoft(C) eMbedded Visual Studio/C++ (eVC) 3.0
+ - Pocket PC 2002 SDK
+
+ ** For ACE-users only:
+ - ACE+TAO installed and configured for WinCE build only for ACE-users
+ - ace and ace_os libraries built for WinCE and loaded on machine
+
+
+== Important Note
+
+It has been reported that certain Pocket PC 2002 machines with ARM processor
+can be totally dead and will not even respond to the hard reset. While the
+real cause of this problem is unknown, HP has released a patch for this
+problem. We have tested it, and it seems working fine on our machine (HP
+Jornada 568), which is our 5th machine that has been running fine for the
+longest time.
+
+As this has been identified by hardware manufacturer and can be fixed as HP
+did, Object Computing, Inc. (OCI) or any member of ACE+TAO community cannot
+be responsible for this problem. If this problem happens during debugging,
+contact your hardware manufacturer for fix or replacement. It has found
+that almost all Pocket PC 2002 machines regardless of manufacturers have same
+problem.
+
+Also, Phil Mesnier at OCI has found that virtual function calls under certain
+situation can cause a problem that randomly changes parameter and pointer
+values over function calls. This is due to the incorrect instructions
+generated by eVC for ARM processor. So far, no solution or patch has been
+released by compiler vendor, although vendor is aware of this problem.
+
+Since Pocket PC 2002 is based on WinCE 3.0, ACE+TAO as well as FaCE should
+be able to run on any WinCE 3.0 platform by adding a new configuraion with
+minimal change.
+
+
+== Installation & Setup
+
+1. Create a subdirectory named 'FaCE' (or anything in your taste) under
+ your current project directory.
+
+2. Copy main framework files listed above and add them into "your" project
+ (NOT FaCE.vcw/vcp). For non-ACE users, copy additional framework files
+ for non-ACE users in addition to the main framework files.
+ It would be a good idea to create a new folder in your project and put
+ all FaCE files into it. This way, it will be easy to disable FaCE by
+ setting the folder excluded from the build on the folder property option.
+
+ ** IMPORTANT! **
+ FaCE does NOT use MFC. Thus, if your project is already set for
+ 'Not using MFC', then do not change the setting.
+
+ * Note: Make sure those files are not shared by multiple executables.
+ Each project must have its own copy of those files.
+ It is a good idea to create a separate folder on your project
+ and put FaCE related files into that folder. In that case,
+ if you want to disable FaCE and run by using normal 'main',
+ then you can simply set the whole FaCE folder excluded from
+ build in the project setting menu.
+
+3. Change your 'main()' function part similar to the following example.
+
+ #ifdef ACE_HAS_WINCE
+ #include "FaCE/FaCE.h" // use the name of subdirectory you created
+ int FaCE_MAIN (int argc, ACE_TCHAR *argv[])
+ #else
+ int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) // ACE normal entry point
+ #endif
+
+ Change the directory name for "FaCE/FaCE.h" if necessary.
+ For non-ACE users, use 'UNDER_CE' instead of 'ACE_HAS_WINCE'.
+
+ == Possible Additional Change
+
+ Above change will be the only change if your program compiles and links
+ fine under eVC. It does not mean that your program is WinCE-ready but
+ just means that your program does not include the libraries that are not
+ supported by WinCE, such as iostream.
+
+ For ACE users, good examples will be the ACE test programs under
+ $ACE_ROOT/test.
+
+ For non-ACE users, I highly recommend to create a project for WinCE first
+ if it has not already been done and write your code using wmain.
+ Try compile and link your program without FaCE to check your program does
+ not include any libraries not supported by WinCE. FaCE supports text output
+ by aliasing 'cout' in FaCE.h; however, it is NOT a real iostream but an alias
+ for CE_Screen_Output class. You may need to use '#ifdef UNDER_CE' for your
+ iostream includes, if you want to share the code among different platforms.
+
+ Also, it is important to match the parameter types for 'wmain' function.
+ For WinCE, it MUST be in the format of:
+
+ int FaCE_MAIN (int, wchar_t**)
+
+ and you can leave your original wmain type as it was for non-CE platform
+ definition.
+
+4. Go to 'ResourceView' or double-click on the 'FaCE.rc'. Open 'String Table ->
+ String Table' from the resource browse view, and change the string value (caption)
+ defined for 'IDS_APP_TITLE' from 'FaCE' to your program name. This will
+ help identifying multiple FaCE-fied applications when you brose them
+ through system memory -> running programs in case of crash.
+
+5. That's it!
+
+** Optionally, you can personalize the icons defined for FaCE for your own.
+ To do this easily, load "FaCE.vcw" (requires ACE library) or "FaCENOACE.vcw"
+ from eVC. Also, FaCENOACE.vcw can be used as 'hello world'-type starting
+ frame-work for non-WinCE programmers.
+
+** Non-ACE users may see the warning messages saying, "Could not find the file xxx",
+ for ace.h, Log_Msg.h, OS.h, and CE_Screen_Output.h. This is due to the eVC's
+ not-so-perfect precompilation file checking and totally harmless.
+
+
+== Running FaCE
+
+1. Command line option
+
+User can specify the command line option for the program by using 'Settings ->
+Command Line' from the FaCE menu. FaCE will automatically save all user-entered
+command line parameters as a ASCII format file named 'Parameters.txt' in the
+root directory of WinCE device/emulator. User can edit and change by openning
+this file from any text editor and save as a ASCII text file with DOS standard
+CR/LF combo. This will greatly save time especially when you are working on the
+Pocket PC machine that does not have keyboard. Remember NOT to convert file
+format to Unicode; it must be standard DOS ASCII text file.
+
+2. Output Saving
+
+You can save output to file by selecting 'Tools -> Save To File'. By default,
+FaCE will not create/save any file. Also, any output received before setting
+up this feature will not be saved.
+
+If the file with specified name exists, FaCE will ask whether you want to
+append to the end of file or erase and overwrite. All output files will be
+saved in the root directory of the system.
+
+3. Running Your Program
+
+'Setting -> Run' will execute your program. Two tags, 'START' and 'END'
+indicate the beginning and end of your code.
+
+For ACE users, any log message sent to ACE message log (ACE_DEBUG, for example)
+will be displayed on the screen. Also, if you have setup to save to file,
+the same contents will be saved to the file as well. Note that the output will
+NOT have ACE internal tags (i.e. Dec 04 14:51:12.000 2001@LM_DEBUG@) because
+FaCE uses callback message function, and ACE does not pass those tags along
+with the output message.
+
+For non-ACE users, you can declare your own local copy of CE_Screen_Output
+object. For example, you can declare CE_Screen_Output object in your cpp file
+like:
+
+ CE_Screen_Output cout;
+
+and use it like,
+
+ int a = 100;
+ wchar_t* strTemp = L"Hello, world!";
+ cout << L"String : " << strTemp << L"a = " << a << endl;
+
+Remember, CE_Screen_Output is just a simple text output function and does not
+have the full capabilities of iostream, which is not available for WinCE 3.0.
+
+4. In case of crash
+
+If you have started your code, but the code crashes, which can be easily
+identified by looking for the 'END' tag, then you can use Windows CE's memory
+program to kill the process (Start -> Settings -> System tag -> Memory ->
+Running Programs tag). If you have changed IDS_APP_TITLE in the resource
+viewer, then you will see the name you have specified; otherwise, FaCE will be
+listed. You can select the name and stop the process by clicking 'Stop' button.
+Sometimes, you may need to reset the machine if you cannot access memory program.
+
+
+== Note
+
+- This FaCE framework does not use any MFC; it only uses general Win32
+ API, thus, your project setting does not have to be changed.
+
+- FaCE is for the 'legacy' Unix/DOS style console applications that
+ do not use any Win32 and MFC for Windows OS. Programs that are already
+ using native Windows/WinCE API's will not need FaCE framework.
+
+- If you run your application from FaCE (Settings -> Run), 'START' and
+ 'END' will appear at the beginning and end of output messages from your
+ application. If you see 'END' lable after execution, you can run your
+ program again without exit and start up FaCE again.
+
+- Make sure to terminate FaCE by selecting 'Settings -> Exit'. It will
+ completely terminate FaCE session; Clicking on the 'X' button
+ at the top-left corner of the screen will not, just like most WinCE programs.
+
+- FaCE_MAIN is only for the WinCE port of ACE, ensuring proper windows system
+ message filtering along with proper registraion so that user can see the
+ process from memory setting and task switcher applications.
+
+- ACE and FaCE do not overrides native WinMain. If you are developing for
+ Windows OS only, your WinMain should be just safe from any overrides.
+ In this case, of course, you don't need to use FaCE package.
+
+
+== Question or Comment
+
+If you have question and/or comment specific to the FaCE, please contact
+Si Park at spark@ociweb.com or Justin Michel at michel_j@ociweb.com.
+
+For general ACE+TAO support, please refer to comp.soft-sys.ace or contact
+Object Computing, Inc. at http://www.ociweb.com.
diff --git a/apps/FaCE/TAO.bmp b/apps/FaCE/TAO.bmp
new file mode 100644
index 00000000000..1492f789509
--- /dev/null
+++ b/apps/FaCE/TAO.bmp
Binary files differ
diff --git a/apps/FaCE/newres.h b/apps/FaCE/newres.h
new file mode 100644
index 00000000000..0fdbcaa3bb0
--- /dev/null
+++ b/apps/FaCE/newres.h
@@ -0,0 +1,43 @@
+// $Id$
+
+#ifndef __NEWRES_H__
+#define __NEWRES_H__
+
+#if !defined(UNDER_CE)
+#define UNDER_CE _WIN32_WCE
+#endif
+
+#if defined(_WIN32_WCE)
+ #if !defined(WCEOLE_ENABLE_DIALOGEX)
+ #define DIALOGEX DIALOG DISCARDABLE
+ #endif
+ #include <commctrl.h>
+ #define SHMENUBAR RCDATA
+ #if defined(WIN32_PLATFORM_PSPC) && (_WIN32_WCE >= 300)
+ #include <aygshell.h>
+ #define AFXCE_IDR_SCRATCH_SHMENU 28700
+ #else
+ #define I_IMAGENONE (-2)
+ #define NOMENU 0xFFFF
+ #define IDS_SHNEW 1
+
+ #define IDM_SHAREDNEW 10
+ #define IDM_SHAREDNEWDEFAULT 11
+ #endif // _WIN32_WCE_PSPC
+ #define AFXCE_IDD_SAVEMODIFIEDDLG 28701
+#endif // _WIN32_WCE
+
+#ifdef RC_INVOKED
+#ifndef _INC_WINDOWS
+#define _INC_WINDOWS
+ #include "winuser.h" // extract from windows header
+ #include "winver.h"
+#endif
+#endif
+
+#ifdef IDC_STATIC
+#undef IDC_STATIC
+#endif
+#define IDC_STATIC (-1)
+
+#endif //__NEWRES_H__
diff --git a/apps/FaCE/resource.h b/apps/FaCE/resource.h
new file mode 100644
index 00000000000..a79d8345d1b
--- /dev/null
+++ b/apps/FaCE/resource.h
@@ -0,0 +1,45 @@
+// $Id$
+
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by FaCE.rc
+//
+#define IDS_APP_TITLE 1
+#define IDC_FACE 3
+#define IDI_FACE 101
+#define IDM_MENU 102
+#define IDD_ABOUTBOX 103
+#define IDS_HELP 104
+#define IDD_CMDLINE 104
+#define IDD_OUTFILE 105
+#define IDD_ERRFILE 107
+#define IDD_FILEEXIST 109
+#define IDB_ACERACER 113
+#define IDB_TAO 114
+#define IDS_COMMAND1 301
+#define IDC_CMDEDIT 1001
+#define IDC_SAVEFILE 1002
+#define IDC_ERRFILE 1003
+#define IDOVERWRITE 1004
+#define IDC_APPEND 1005
+#define IDC_COPYRIGHT 1007
+#define IDC_TAO 1008
+#define IDM_MAIN_COMMAND1 40001
+#define IDM_HELP_ABOUT 40003
+#define ID_SETTING 40004
+#define IDS_CAP_SETTING 40006
+#define ID_SETTING_COMMANDLINE 40007
+#define ID_SETTING_RUN 40008
+#define ID_SETTING_EXIT 40011
+#define ID_TOOLS_SAVETOFILE 40012
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 116
+#define _APS_NEXT_COMMAND_VALUE 40013
+#define _APS_NEXT_CONTROL_VALUE 1009
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif