/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
#include "test-cpp-stubs.h"
#include <iostream>
#include <fstream>
#include <string>
int main(int argc, char *argv[])
{
CORBA::ORB_var orb = CORBA::ORB_init(argc, argv, "orbit-local-orb");
std::ifstream ior_stream ("test.ior");
std::string ior;
ior_stream >> ior;
CORBA::Object_var obj = orb->string_to_object (ior);
Test::IMaster_var master_ptr = Test::IMaster::_narrow (obj);
///////////////////////////////////
// -> IN
Test::str_seq *in_seq = new Test::str_seq;
in_seq->length (5);
for (CORBA::ULong i = 0; i < 5; i++)
{
char *tmp = g_strdup_printf ("IN string #%d", i);
(*in_seq)[i] = CORBA::string_dup (tmp);
g_free (tmp);
}
master_ptr->seq_in (*in_seq);
///////////////////////////////////
// <-> INOUT
Test::str_seq inout_seq;
inout_seq.length (5);
for (CORBA::ULong i = 0; i < 5; i++)
{
char *tmp = g_strdup_printf ("INOUT string #%d", i);
inout_seq[i] = CORBA::string_dup (tmp);
g_free (tmp);
}
master_ptr->seq_inout (inout_seq);
for (CORBA::ULong i = 0; i < inout_seq.length (); i++)
std::cout << "Client::seq_inout[" << i << "] == " << inout_seq[i] << std::endl;
///////////////////////////////////
// <- OUT
Test::str_seq_var out_seq;
master_ptr->seq_out (out_seq);
for (CORBA::ULong i = 0; i < out_seq->length (); i++)
std::cout << "Client::seq_out[" << i << "] == " << out_seq[i] << std::endl;
///////////////////////////////////
// <- RET
Test::str_seq_var ret_seq = master_ptr->seq_ret ();
for (CORBA::ULong i = 0; i < ret_seq->length (); i++)
std::cout << "Client::seq_ret[" << i << "] == " << ret_seq[i] << std::endl;
return 0;
}
syntax highlighted by Code2HTML, v. 0.9.1