X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FNetwork%2Fjpg-httpd.hxx;h=ce6e78acbbbd258fbfc0d50cdd5a349ccf342622;hb=d5b70e98e0673f27a127aae58bd26bdfe4730825;hp=f6ac5713ac5f5bb37603b136190e90d4614549b7;hpb=d05121ef4689d2b50b3fe1848cbb0d1f5a1db877;p=flightgear.git diff --git a/src/Network/jpg-httpd.hxx b/src/Network/jpg-httpd.hxx index f6ac5713a..ce6e78acb 100644 --- a/src/Network/jpg-httpd.hxx +++ b/src/Network/jpg-httpd.hxx @@ -1,5 +1,4 @@ -// httpd.hxx -- FGFS http property manager interface / external script -// and control class +// jpg-httpd.hxx -- FGFS jpg-http interface // // Written by Curtis Olson, started June 2001. // @@ -20,116 +19,29 @@ // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software -// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // // $Id$ - #ifndef _FG_JPEG_HTTPD_HXX #define _FG_JPEG_HTTPD_HXX -#ifdef HAVE_CONFIG_H -# include -#endif - -#include - -#ifdef FG_JPEG_SERVER -# include -#else -// dummy it in to keep the compiler happy -class trJpgFactory { -public: - trJpgFactory(); - void init(int, int); - void destroy(); - int render(); - void *data(); -}; -#endif - #include "protocol.hxx" -class trJpgFactory; - +class HttpdImageServer; -/* simple httpd server that makes an hasty stab at following the http - 1.1 rfc. */ - -class HttpdImageChannel : public netChat +class FGJpegHttpd : public FGProtocol { - - netBuffer buffer ; - trJpgFactory *JpgFactory; - -public: - - HttpdImageChannel() : buffer(512) { - setTerminator("\r\n"); - JpgFactory = new trJpgFactory(); - - // This is a terrible hack but it can't be initialized until - // after OpenGL is up an running - JpgFactory->init(400,300); - } - - ~HttpdImageChannel() { - JpgFactory->destroy(); - delete JpgFactory; - } - - virtual void collectIncomingData (const char* s, int n) { - buffer.append(s,n); - } - - // Handle the actual http request - virtual void foundTerminator (void); -}; - - -class HttpdImageServer : private netChannel -{ - virtual bool writable (void) { return false ; } - - virtual void handleAccept (void) { - netAddress addr ; - int handle = accept ( &addr ) ; - printf("Client %s:%d connected\n", addr.getHost(), addr.getPort()); - - HttpdImageChannel *hc = new HttpdImageChannel; - hc->setHandle ( handle ) ; - } - -public: - - HttpdImageServer ( int port ) { - open (); - bind( "", port ); - listen( 5 ); - - printf( "HttpdImage server started on port %d\n", port ) ; - } - -}; - - -class FGJpegHttpd : public FGProtocol { - int port; HttpdImageServer *imageServer; - -public: - - inline FGJpegHttpd( int p ) { port = p; } - inline ~FGJpegHttpd() { } +public: + FGJpegHttpd( int p ); + ~FGJpegHttpd(); bool open(); - bool process(); - bool close(); }; - #endif // _FG_JPEG_HTTPD_HXX