#include "struct_simple-impl.h"
#include <iostream>
namespace Test
{
SimpleStructArg* TestIface_impl::test_ret () throw (CORBA::SystemException)
{
std::cout << "TestIface_impl::test_ret" << std::endl;
SimpleStructArg *ret_val = new SimpleStructArg;
static OutputStream_impl stream ("Returned instance");
OutputStream_var stream_var = stream._this ();
ret_val->stream = Test::OutputStream::_duplicate (stream_var);
ret_val->number = 42;
std::cout << "TestIface_impl::~test_ret" << std::endl;
return ret_val;
}
void TestIface_impl::test_in (const SimpleStructArg &in_struct,
const char *message) throw (CORBA::SystemException)
{
std::cout << "TestIface_impl::test_in" << std::endl;
std::cout << "TestIface_Impl: Message is \"" << message << "\"" << std::endl;
#if 0
#warning "FIXME: This segfaults -- there's a refcounting/connection managment issue lurking around"
for (int i = 0; i < in_struct.number; i++)
in_struct.stream->print (message);
#else
std::cout << "TestIFace_Impl: in_struct.number == " << in_struct.number << std::endl;
in_struct.stream->print (message);
#endif
}
OutputStream_impl::OutputStream_impl (const std::string &member_data_):
member_data (member_data_)
{
}
void OutputStream_impl::print (const char *message) throw (CORBA::SystemException)
{
std::cout << "OutputStream server (" << member_data << "): \"" << message << "\"" << std::endl;}
} // namespace hellomodule
syntax highlighted by Code2HTML, v. 0.9.1