We start with generating and building the empty components:
~/hello> ccmtools-c++-generate -c 1.0 -d -p hello1.0 Hello.idl ~/hello> ccmtools-c++-configure -p hello1.0 ~/hello> ccmtools-c++-make -p hello1.0
For each of the components a mirror component has been generated as well as a test client that connects every component with its mirror component and calls the component's operations - Test-Driven Development.
To make it short, we implemented the following methods in the business logic of the Display and the Hello component:
// Display_app.cc
void
lcd_impl::display_text ( const std::string& s )
{
DEBUGNL ( " lcd_impl->display_text ( s )" );
cout << component->prompt() << s;
}
// Hello_app.cc
long
console_impl::println ( const std::string& s2 )
{
DEBUGNL ( " console_impl->println ( s2 )" );
component->ctx->get_connection_lcd().ptr()->display_text(s2);
cout << endl;
return s2.length();
}
We build the components again and install them in the component repository:
~/hello> ccmtools-c++-make -p hello1.0 ~/hello> ccmtools-c++-install -p hello1.0