Functions | Variables

woshcesrv.cpp File Reference

WOSH Server for Windows CE/Mobile 6.1. More...

#include <core/WoshKernel.h>
#include <core/LogContext.h>
#include <core/LogHandlers.h>
#include <core/FileSystem.h>
#include <core/BundleManager.h>
#include <bundles/DiscoveryUdp/DiscoveryUdpBundle.h>
#include <bundles/WindowsMobile/WindowsMobileBundle.h>
#include <QCoreApplication>
#include <windows.h>
#include "wincesrv_form.h"

Go to the source code of this file.


int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd)
 Entry point for the application.


 Local copy of hInstance.

Detailed Description

WOSH Server for Windows CE/Mobile 6.1.

Refer to WOSH CE Server [WindowsCE / Mobile] for more information.

WOSH CE Server [WindowsCE / Mobile]

This application is a tiny server with minimal interface, designed to host wosh::Bundle:WindowsMobileBundlle and allow interaction with other hosts (WOSH servers) on the network. Because of that, unlike standard WOSH Server, this application doesn't support dynamic loading (allocators) of Bundle, NetworkProtocol and Database.


WOSH CE Server:Network Menu


WOSH CE Server:WindowsMobileBundle Menu

Software is intent to be active 24/7 on device connected (RNDIS) to the Home LAN and reachable by another WOSH Server. Main goal is to provide to the distributed system some communication (such as messaging) features.

As any application, woshcesrv may lose the active focus, you may display the GUI again using the Task Manager (it may be usually shown hitting power button once).

Tested with Microsoft Visual Studio 2008, Windows Mobile 6 SDK, QT 4.5 for WinCE

Microsoft Visual Studio 2008 - C++ Command line dump:

/I "g:\dev\Qt\wince.4.6.1\include\QtCore" /I "g:\dev\Qt\wince.4.6.1\include\QtNetwork" /I "g:\dev\Qt\wince.4.6.1\include\QtXml" /I "g:\dev\Qt\wince.4.6.1\include" /I "." /I "..\lib\3rdparty" /I "..\tmp\moc" /I "g:\dev\Qt\wince.4.6.1\include\ActiveQt" /I "g:\dev\Qt\wince.4.6.1\mkspecs\default" /D "DEBUG" /D "_DEBUG" /D "_WINDOWS" /D "UNDER_CE" /D "WINCE" /D "_UNICODE" /D "UNICODE" /D "_WIN32" /D "QT_NO_PRINTER" /D "QT_NO_PRINTDIALOG" /D "SMARTPHONE2003_UI_MODEL" /D "ARMV4I" /D "_ARMV4I_" /D "armv4i" /D "_ARM_" /D "ARM" /D "_M_ARM" /D "__arm__" /D "Q_OS_WINCE_WM" /D "QT_KEYPAD_NAVIGATION" /D "_WIN32_WCE=0x502" /D "QT_NO_CURSOR" /D "_OS_WINCE" /D "WOSH_CORE" /D "WOSH_CORE_UTILS" /D "WOSH_COMMUNICATION" /D "WOSH_NETWORK" /D "WOSH_NETWORK_QT" /D "WOSH_SECURITY" /D "WOSH_PERSISTENCE" /D "WOSH_PERSISTENCE_QT" /D "WOSH_PERSISTENCE_plaintext" /D "WOSH_PERSISTENCE_RAW" /D "WOSH_PERSISTENCE_Raw" /D "WOSH_BUNDLE_WindowsMobile" /D "QT_THREAD_SUPPORT" /D "QT_DLL" /D "QT_XML_LIB" /D "QT_NETWORK_LIB" /D "QT_CORE_LIB" /FD /EHsc /MDd /GS- /fp:fast /Zc:wchar_t- /GR /Fo"..\tmp\\" /Fd".\\" /W3 /nologo /c /Zi /TP /wd4100

Microsoft Visual Studio 2008 - Linker Command line dump:

/OUT:"..\bin\woshcesrv\woshcesrv.exe" /NOLOGO /LIBPATH:"g:\dev\Qt\wince.4.6.1\lib" /LIBPATH:"../lib/" /LIBPATH:"../lib/3rdparty" /MANIFEST:NO /NODEFAULTLIB:"OLDNAMES.LIB" /DEBUG /DYNAMICBASE /NXCOMPAT /ERRORREPORT:PROMPT corelibc.lib g:\dev\Qt\wince.4.6.1\lib\qtmaind.lib coredll.lib cellcore.lib sms.lib cemapi.lib aygshell.lib g:\dev\Qt\wince.4.6.1\lib\QtXmld4.lib g:\dev\Qt\wince.4.6.1\lib\QtNetworkd4.lib g:\dev\Qt\wince.4.6.1\lib\QtCored4.lib  coredll.lib corelibc.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib
How to configure RNDIS
  • Plug device
  • ensure module has been loaded (execute 'dmesg')
  • ensure network interface has been crated (execute 'ifconfig -a')
  • assign IP to device (execute 'dhclient3 rndis0')
  • ping device (execute 'ping')

Device is now part of the network. You may need to setup routing for accessing the network/internet

alex@linbox:/$ sudo echo "1" > /proc/sys/net/ipv4/ip_forward
woshcesrv.cpp 4259 2011-02-19 20:02:13Z alex
Alessandro Polo

Definition in file woshcesrv.cpp.

Function Documentation

int WINAPI WinMain ( HINSTANCE  hInstance,
HINSTANCE  hPrevInstance,
LPWSTR  lpCmdLine,
int  nShowCmd 

Entry point for the application.

[in]hInstanceHandle to the current instance of the application.
[in]hPrevInstanceHandle to the previous instance of the application. (always NULL)
[in]lpCmdLinePointer to a null-terminated string specifying the command line for the application, excluding the program name
[in]nShowCmdSpecifies how the window is to be shown.
You may need to clear Value of Project->Properties->Linker->Advanced->Entry Point

Definition at line 130 of file woshcesrv.cpp.

References DialogProc(), g_hInst, wosh::StaticLogHandler::getInstance(), wosh::WoshKernel::init(), wosh::WoshKernel::shutdown(), wosh::WoshKernel::start(), WRET_ERR_INTERNAL, WRET_ERR_PARAM, and WRET_OK.

Variable Documentation


Local copy of hInstance.

Definition at line 116 of file woshcesrv.cpp.

Referenced by InitDialog(), and WinMain().

Generated on Sat Feb 26 2011 11:28:25 for WOSH system 0.8.888 [phoenix] by Alessandro Polo, using DoxyGen 1.7.2 hosted by WOSH Framework