@srcdir@/gtut-tour-08-exceptions.doc \
@srcdir@/gtut-tour-09-simpledata.doc \
@srcdir@/gtut-tour-10-rpc.doc \
- @srcdir@/gtut-tour-11-staticstruct.doc \
- @srcdir@/gtut-tour-12-pointers.doc \
- @srcdir@/gtut-tour-13-dynar.doc \
- @srcdir@/gtut-tour-14-manualdatadef.doc \
- @srcdir@/gtut-tour-15-exchangecb.doc \
+ @srcdir@/gtut-tour-11-explicitwait.doc \
+ @srcdir@/gtut-tour-recap-messages.doc \
+ @srcdir@/gtut-tour-12-staticstruct.doc \
+ @srcdir@/gtut-tour-13-pointers.doc \
+ @srcdir@/gtut-tour-14-dynar.doc \
+ @srcdir@/gtut-tour-15-manualdatadef.doc \
+ @srcdir@/gtut-tour-16-exchangecb.doc \
\
./logcategories.doc \
\
# or name=definition (no spaces). If the definition and the = are
# omitted =1 is assumed.
-PREDEFINED = DOXYGEN DOXYGEN_SKIP_IT
+PREDEFINED = DOXYGEN DOXYGEN_SKIP_IT XBT_PUBLIC=
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.
_09-simpledata_client.c
_09-simpledata_server.c
_09-simpledata_simulator.c
+
+10-rpc.mk
+10-rpc.trace
+10-rpc_client
+10-rpc_server
+10-rpc_simulator
+_10-rpc_client.c
+_10-rpc_server.c
+_10-rpc_simulator.c
all: 01-bones.output 02-simple.output 03-args.output 04-callback.output \
05-globals.output 06-logs.output 07-timers.output 08-exceptions.output \
- 09-simpledata.output
+ 09-simpledata.output 10-rpc.output
veryclean: clean
rm *.output*
clean::
rm -f 09-datatype-dump.o 09-datatype-dump
-# Lesson 6: logs
-########################################
-
09-simpledata.output: 09-simpledata_client 09-simpledata_server 09-simpledata_simulator
echo '$$ ./test_server 12345 & ./test_client 127.0.0.1 12345' > $@
./09-simpledata_server 12345 2>&1 |sed s/09-simpledata/test/ >> $@ 2>&1&
if [ -e 09-simpledata.mk ] ; then make -f 09-simpledata.mk clean; fi
rm -f _09-simpledata_client.c _09-simpledata_server.c _09-simpledata_simulator.c 09-simpledata.trace 09-simpledata.mk
+# Lesson 10: RPC
+########################################
+10-rpc.output: 10-rpc_client 10-rpc_server 10-rpc_simulator
+ echo '$$ ./test_server & ./test_client 127.0.0.1 ' > $@
+ ./10-rpc_server 12345 2>&1 |sed s/10-rpc/test/ >> $@ 2>&1&
+ ./10-rpc_client 127.0.0.1 12345 2>&1 |sed s/10-rpc/test/ >> $@ 2>&1
+ sleep 1
+ echo '$$' >> $@
+ echo '$$ killall test_server' >> $@
+ killall 10-rpc_server 10-rpc_client 2>/dev/null || true
+ echo '$$' >> $@
+ echo '$$ ./test_simulator platform.xml test.xml' >> $@
+ ./10-rpc_simulator gtut-platform.xml 03-args.xml 2>&1 |sed s/10-rpc/test/ >> $@ 2>&1
+ echo '$$' >> $@
+
+10-rpc_client 10-rpc_server 10-rpc_simulator: _10-rpc_client.c _10-rpc_server.c _10-rpc_simulator.c
+ make -f 10-rpc.mk
+
+_10-rpc_client.c _10-rpc_server.c _10-rpc_simulator.c: 10-rpc.c 03-args.xml
+ ../../tools/gras/gras_stub_generator 10-rpc 03-args.xml >/dev/null
clean::
- if [ -e 08-exceptions.mk ] ; then make -f 08-exceptions.mk clean; fi
- rm -f _08-exceptions_client.c _08-exceptions_server.c _08-exceptions_simulator.c 08-exceptions.trace 08-exceptions.mk
+ if [ -e 10-rpc.mk ] ; then make -f 10-rpc.mk clean; fi
+ rm -f _10-rpc_client.c _10-rpc_server.c _10-rpc_simulator.c 10-rpc.trace 10-rpc.mk
+
- \ref GRAS_tut_tour_exceptions
- \ref GRAS_tut_tour_simpledata
- \ref GRAS_tut_tour_rpc
+ - \ref GRAS_tut_tour_explicitwait
+ - \ref GRAS_tut_tour_message_recaping
- Part 3: Data description
- \ref GRAS_tut_tour_staticstruct
- \ref GRAS_tut_tour_pointers
--- /dev/null
+/**
+@page GRAS_tut_tour_explicitwait Lesson 11: Explicitely waiting for messages (TODO)
+
+\section GRAS_tut_tour_explicitwait_toc Table of Contents
+ - \ref GRAS_tut_tour_explicitwait_intro
+ - \ref GRAS_tut_tour_explicitwait_use
+ - \ref GRAS_tut_tour_explicitwait_recap
+
+<hr>
+
+\section GRAS_tut_tour_explicitwait_intro Introduction
+
+
+\section GRAS_tut_tour_explicitwait_use Defining structure containing explicitwait
+
+
+\section GRAS_tut_tour_explicitwait_recap Recapping everything together
+
+The program now reads:
+\include 11-explicitwait.c
+
+Which produces the expected output:
+\include 11-explicitwait.output
+
+
+*/
/**
-@page GRAS_tut_tour_staticstruct Lesson 11: Defining static structures (TODO)
+@page GRAS_tut_tour_staticstruct Lesson 12: Defining static structures (TODO)
\section GRAS_tut_tour_staticstruct_toc Table of Contents
- \ref GRAS_tut_tour_staticstruct_intro
/**
-@page GRAS_tut_tour_pointers Lesson 12: Defining structure containing pointers (TODO)
+@page GRAS_tut_tour_pointers Lesson 13: Defining structure containing pointers (TODO)
\section GRAS_tut_tour_pointers_toc Table of Contents
- \ref GRAS_tut_tour_pointers_intro
/**
-@page GRAS_tut_tour_dynar Lesson 13: Exchanging aggregate datatypes such as dynar (TODO)
+@page GRAS_tut_tour_dynar Lesson 14: Exchanging aggregate datatypes such as dynar (TODO)
\section GRAS_tut_tour_dynar_toc Table of Contents
- \ref GRAS_tut_tour_dynar_intro
/**
-@page GRAS_tut_tour_manualdatadef Lesson 14: Manual data definition (TODO)
+@page GRAS_tut_tour_manualdatadef Lesson 15: Manual data definition (TODO)
\section GRAS_tut_tour_manualdatadef_toc Table of Contents
- \ref GRAS_tut_tour_manualdatadef_intro
/**
-@page GRAS_tut_tour_exchangecb Lesson 15: Advanced topics on data definition (TODO)
+@page GRAS_tut_tour_exchangecb Lesson 16: Advanced topics on data definition (TODO)
\section GRAS_tut_tour_exchangecb_toc Table of Contents
- \ref GRAS_tut_tour_exchangecb_intro
DOXYGEN_NAVBAR_CHILD "8: Exceptions"=GRAS_tut_tour_exceptions.html
DOXYGEN_NAVBAR_CHILD "9: Data exchange"=GRAS_tut_tour_simpledata.html
DOXYGEN_NAVBAR_CHILD "10: RPC"=GRAS_tut_tour_rpc.html
- DOXYGEN_NAVBAR_CHILD "11: Static data definition"=GRAS_tut_tour_staticstruct.html
- DOXYGEN_NAVBAR_CHILD "12: Pointers definition"=GRAS_tut_tour_pointers.html
- DOXYGEN_NAVBAR_CHILD "13: Dynars definition"=GRAS_tut_tour_dynars.html
- DOXYGEN_NAVBAR_CHILD "14: Manual data definition"=GRAS_tut_tour_manualdatadef.html
- DOXYGEN_NAVBAR_CHILD "15: Advanced data definition"=GRAS_tut_tour_exchangecb.html
+ DOXYGEN_NAVBAR_CHILD "Recapping part 1"=GRAS_tut_tour_message_recaping.html
+ DOXYGEN_NAVBAR_CHILD "12: Static data definition"=GRAS_tut_tour_staticstruct.html
+ DOXYGEN_NAVBAR_CHILD "13: Pointers definition"=GRAS_tut_tour_pointers.html
+ DOXYGEN_NAVBAR_CHILD "14: Dynars definition"=GRAS_tut_tour_dynars.html
+ DOXYGEN_NAVBAR_CHILD "15: Manual data definition"=GRAS_tut_tour_manualdatadef.html
+ DOXYGEN_NAVBAR_CHILD "16: Advanced data definition"=GRAS_tut_tour_exchangecb.html
--> \endhtmlonly
<b>Part 1: Bases</b>
- \ref GRAS_tut_tour_rpc
- \ref GRAS_tut_tour_rpc_intro
- \ref GRAS_tut_tour_rpc_use
+ - \ref GRAS_tut_tour_rpc_use_declare
+ - \ref GRAS_tut_tour_rpc_use_i2a_cb
+ - \ref GRAS_tut_tour_rpc_use_a2i_cb
+ - \ref GRAS_tut_tour_rpc_use_rest
- \ref GRAS_tut_tour_rpc_recap
<b>Part 3: Data description</b>