CELF Project Proposal/Suppress Xvnc dependency on C++
- Suppress Xvnc dependency on C++
- Philippe De Muyter
Vnc is a useful protocol to connect a thin-client to a server, or in the case of embedded systems to connect a gui client to a display-less embedded system. Xvnc is the combination of a X11 server able to run all the known X11 applications, and of a vnc server offering a thin-client interface to a remote user. It offers the advantage over http that it can show spontaneous events at the server side without polling from the user side, and that it can use every X11 existing application to build the interface. For video applications it also offers for free zero-delay streaming.
Although the Xorg server is written exclusively in C, the Xvnc part is written in C++. That makes its footprint unnecessarily larger, and limits its availability to platforms for which a working C++ (cross-)compiler exists. This is not always the case, even if the C compiler works.
Here are IIRC the c++ files :
./pvnc-1.0.5/vnc_unix/xc/programs/Xserver/vnc/Xvnc/xvnc.cc ./pvnc-1.0.5/vnc_unix/xc/programs/Xserver/vnc/vncHooks.cc ./pvnc-1.0.5/vnc_unix/xc/programs/Xserver/vnc/xf86vncModule.cc ./pvnc-1.0.5/vnc_unix/xc/programs/Xserver/vnc/module/XserverDesktop.cc ./pvnc-1.0.5/vnc_unix/xc/programs/Xserver/vnc/module/vncExtInit.cc
- This should take less than 2 weeks of development and test.