From: Tom H. <tom...@us...> - 2003-01-06 17:23:29
|
Update of /cvsroot/rccparser/rcclient In directory sc8-pr-cvs1:/tmp/cvs-serv26364 Modified Files: AUTHORS ChangeLog NEWS README Log Message: 2003-01-06 Tom Howard <tom...@us...> * ./configure.ac Released rcclient-0.0.0 Index: AUTHORS =================================================================== RCS file: /cvsroot/rccparser/rcclient/AUTHORS,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** AUTHORS 6 Jan 2003 15:11:07 -0000 1.1.1.1 --- AUTHORS 6 Jan 2003 17:22:41 -0000 1.2 *************** *** 0 **** --- 1 ---- + Tom Howard <tom...@us...> Index: ChangeLog =================================================================== RCS file: /cvsroot/rccparser/rcclient/ChangeLog,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ChangeLog 6 Jan 2003 16:24:48 -0000 1.2 --- ChangeLog 6 Jan 2003 17:22:43 -0000 1.3 *************** *** 1,4 **** --- 1,24 ---- 2003-01-06 Tom Howard <tom...@us...> + * ./configure.ac + Released rcclient-0.0.0 + + 2003-01-06 Tom Howard <tom...@us...> + + * ./AUTHORS + Added myself + + * ./README + Added basic documentation + + * ./src/Makefile.am + changed library instaltion directory + + * ./src/rcclient.cpp + * ./src/rcclient.h + Added reconnect + + 2003-01-06 Tom Howard <tom...@us...> + * ./src/rcclient.cpp Removed default agruments. They are already specified in the .h Index: NEWS =================================================================== RCS file: /cvsroot/rccparser/rcclient/NEWS,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** NEWS 6 Jan 2003 15:11:07 -0000 1.1.1.1 --- NEWS 6 Jan 2003 17:22:44 -0000 1.2 *************** *** 0 **** --- 1,3 ---- + [0.0.0] + * Initial release. Please see the README file for some basic + documentation and the source code more details. Index: README =================================================================== RCS file: /cvsroot/rccparser/rcclient/README,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** README 6 Jan 2003 15:11:07 -0000 1.1.1.1 --- README 6 Jan 2003 17:22:46 -0000 1.2 *************** *** 0 **** --- 1,130 ---- + ============ INTRODUCTION ============ + + RCClient is a library for clients for the RoboCup Soccer Simulator + (http://sserver.sf.net). The library is designed for use with the + RCCParser library and provides complete network send and receive + functionality for version 7 and 8 players (including goalies). Send + support for other clients (coaches) will be added soon (recv + functionality is already implemented). + + =========== CONFIGURING =========== + + Before you can build the RCClient library you will need to run the + `configure' script located in the root of the distribution directory. + + The default configuration will set up RCClient to install its + components in the following locations: + + /usr/local/bin for the rcctest executable, /usr/local/lib for + the RCClient library and /usr/local/include/rcclient for the RCClient + headers. + + You may need administrator privilages to install RCClient into the + default locations. These locations can be modified by using + configure's `--prefix=DIR' and related options. See `configure + --help' for more details. + + RCClient has serveral features that can be enabled or disabled at + configure time by using the `--enable-FEATURE[=ARG]' or + `--disable-FEATURE' parameters to `configure'. `--disable-FEATURE' is + equivlant to `--enable-FEATURE=no' and `--enable-FEATURE' is equivlant + to `--enable-FEATURE=yes'. The only valid values for `ARG' are `yes' + and `no'. + + `--enable-shared=yes' will enable the building and installation of + shared libraries, where the operating system supports shared + libraries. Shared libraries are enabled by default. + + RCClient uses GNU Libtool in order to build shared libraries on a + variety of systems. While this is very nice for making usable + binaries, it can be a pain when trying to debug a program. For that + reason, it is recommended that you disable shared libraries when + debugging. + + To link against the shared library you must either use GNU Libtool, + and specify the full pathname of the RCClient shared library, or use + `-L<prefix>/lib' during linking and do at least one of + the following: - add `<prefix>/lib' to the + `LD_LIBRARY_PATH' environment variable during execution - add + `<prefix>/lib' to the `LD_RUN_PATH' environment variable + during linking - use the `-Wl,--rpath -Wl,<prefix>/lib' + linker flag - have your system administrator add + `<prefix>/lib' to `/etc/ld.so.conf' + + where <prefix> is where you installed rcclient (default is + /usr/local). See any operating system documentation about shared + libraries for more information, such as the ld(1) and ld.so(8) manual + pages. + + `--enable-static=yes' will enable the building and installation of + static libraries, where the operating system supports static + libraries. Static libraries are enabled by default. + + Your code can be compiled with the static RCClient library by adding + `-I<prefix>/rcclient -L<prefix>/lib -lrcclient' or + modify as necessary if you installed rcclient into non-default directories. + + + `--enable-rccptest=yes' will enable the building and installation of + rccptest, a parser testing program that reads from stdin. + + ======== BUILDING ======== + + Once you have successully configured RCClient, simply run `make' to + build the sources. + + ========== INSTALLING ========== + + When you have completed building RCClient, it's components can be + installed into their default locations or the locations specified + during configuring by running `make install'. Depending on where you + are installing RCClient, you may need special permissions to do this. + + ============ UNINSTALLING ============ + + RCClient can also be easily removed by entering the distribution + directory and running `make uninstall'. This will remove all the + files that where installed, but not any directories that were created + during the installation process. + + ================ USING THE LIBRARY ================ + + The parser can be interfaced with your code by adding + + #include <rcclient/rcclient.h> + + in one of you source files. You can then create an instance of a + rcc::Client by passing it an instance of a rcc::Parser, the port you + wish to connect on and the host name of the machine running the + server. For instance + + rcc::Client your_client( your_parser, server_port, server_host ); + + You would then send an init message to the server by calling + init(). E.G. + + your_client.init( your_teamname, protocol_version, goalie_flag ); + + Apon recieving your init message, the server will start to send data + to your client. You can start parsing the data by either calling the + operator() or by passing your client to a thread and have it call the + operator(). The operator() is used to provide direct compatibility + with rcss::thread::Thread. + + The operator() does not return until some error in parsing has + occured, so if you chose not to use a threaded approach (which is a + perfectly valid thing to do) you will only be able to call send + functions (such as dash and turn) from within the rcc::Parser virtual + functions. + + Also note, if you choose to use a single threaded approach you will + also have to make sure that you return promptly from any of the + rcc::Parser virtual functions. Failure to do so may result in a + backup of data and potential data loss if the nework buffer overflows. + + ============== Making Contact ============== + + For bug reports, feature requests and latest updates, please goto + http://sourceforge.net/projects/rccparser/ + + Tom Howard <tom...@us...> |