X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FNetwork%2Fprops.hxx;h=9e7405583ee3480df5d59338a06db61c1bfbb0fa;hb=b0dcb657e77579ecc79798ff365737095f96f9e2;hp=bd173bf0500d0bd051c802716ad00e0ac6a88b66;hpb=63bbe7de75780857d2d8896dd6af72e380fd97ab;p=flightgear.git diff --git a/src/Network/props.hxx b/src/Network/props.hxx index bd173bf05..9e7405583 100644 --- a/src/Network/props.hxx +++ b/src/Network/props.hxx @@ -1,8 +1,10 @@ -// props.hxx -- FGFS property manager interaction class +// \file props.hxx +// Property server class. // // Written by Curtis Olson, started September 2000. +// Modified by Bernie Bright, May 2002. // -// Copyright (C) 2000 Curtis L. Olson - curt@flightgear.org +// Copyright (C) 2000 Curtis L. Olson - http://www.flightgear.org/~curt // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License as @@ -16,7 +18,7 @@ // // 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$ @@ -24,42 +26,64 @@ #ifndef _FG_PROPS_HXX #define _FG_PROPS_HXX - #include -#include +#include +#include -#include STL_STRING +#include #include "protocol.hxx" -FG_USING_STD(string); - - -const static int max_cmd_len = 256; - -class FGProps : public FGProtocol { - - char buf[max_cmd_len]; - int length; - - // tree view of property list - string path; - +/** + * Property server class. + * This class provides a telnet-like server for remote access to + * FlightGear properties. + */ +class FGProps : public FGProtocol, + public simgear::NetChannel, + public SGPropertyChangeListener // for subscriptions +{ +private: + + /** + * Server port to listen on. + */ + int port; + simgear::NetChannelPoller poller; public: - - FGProps(); + /** + * Create a new TCP server. + * + * @param tokens Tokenized configuration parameters + */ + FGProps( const std::vector& tokens ); + + /** + * Destructor. + */ ~FGProps(); - // open hailing frequencies + /** + * Start the telnet server. + */ bool open(); - // process work for this port + /** + * Process network activity. + */ bool process(); - bool process_command( const char *cmd ); - // close the channel + /** + * + */ bool close(); -}; + /** + * Accept a new client connection. + */ + void handleAccept(); + +}; #endif // _FG_PROPS_HXX +