// objective: test the \msc and \endmsc commands // check: class_sender.xml // check: class_receiver.xml // check: 037__msc_8cpp.xml /** \file * A bit more complex msc diagram, with also parallel events. * \msc * Sender_1,Receiver_1,Sender1_1, * Sender,Receiver,Sender1, * Sender_2,Receiver_2,Sender1_2; * * Sender_1->Receiver_1 [label="Command()", URL="nref Receiver::Command()"], * Sender1_1<-Receiver_1 [label="Ack()", URL="nref Ack()", ID="1"]; * * Sender->Receiver [label="Command()", URL="nref Receiver::Command()"]; * Sender1<-Receiver [label="Ack()", URL="nref Ack()", ID="1"]; * Sender_2->Receiver_2 [label="Command()", URL="nref Receiver::Command()"], * Sender1_2<-Receiver_2 [label="Ack()", URL="nref Ack()", ID="1"]; * \endmsc */ /** Sender class. Can be used to send a command to the server. * The receiver will acknowledge the command by calling Ack(). * \msc * Sender,Receiver; * Sender->Receiver [label="Command()", URL="\ref Receiver::Command()"]; * Sender<-Receiver [label="Ack()", URL="\ref Ack()", ID="1"]; * \endmsc */ class Sender { public: /** Acknowledgement from server */ void Ack(bool ok); }; /** Receiver class. Can be used to receive and execute commands. * After execution of a command, the receiver will send an acknowledgement * \msc * Receiver,Sender; * Receiver<-Sender [label="Command()", URL="\ref Command()"]; * Receiver->Sender [label="Ack()", URL="\ref Sender::Ack()", ID="1"]; * \endmsc */ class Receiver { public: /** Executable a command on the server */ void Command(int commandId); };