int main (int argc, char *argv[]) { CORBA_Object servant = CORBA_OBJECT_NIL; CORBA_char filename[] = "/tmp/test-ldata.ior"; CORBA_Environment ev[1]; CORBA_exception_init(ev); server_init (&argc, argv, &global_orb, &root_poa, ev); etk_abort_if_exception(ev, "failed ORB init"); servant = server_activate_service (global_orb, root_poa, ev); etk_abort_if_exception(ev, "failed activating service"); g_print ("Writing service reference to: %s\n\n", filename); etk_export_object_to_file (global_orb, servant, filename, ev); etk_abort_if_exception(ev, "failed exporting IOR"); server_run (global_orb, ev); etk_abort_if_exception(ev, "failed entering main loop"); server_cleanup (global_orb, root_poa, servant, ev); etk_abort_if_exception(ev, "failed cleanup"); exit (0); }
static gpointer server_in_background (BackgroundData *data) { int argc = data->argc; char **argv = data->argv; CORBA_Object servant = CORBA_OBJECT_NIL; CORBA_char filename[] = "calculator.ref"; CORBA_Environment ev[1]; CORBA_exception_init(ev); server_init (&argc, argv, &global_orb, &default_poa, ev); etk_abort_if_exception(ev, "failed ORB init"); servant = server_activate_service (global_orb, default_poa, ev); etk_abort_if_exception(ev, "failed activating service"); g_print ("Writing service reference to: %s\n\n", filename); etk_export_object_to_file (global_orb, servant, filename, ev); etk_abort_if_exception(ev, "failed exporting IOR"); server_run (global_orb, ev); etk_abort_if_exception(ev, "failed entering main loop"); server_cleanup (global_orb, default_poa, servant, ev); etk_abort_if_exception(ev, "failed cleanup"); g_thread_exit (NULL); }