/* * CORBA empty test * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2, or (at your option) any * later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * Author: Elliot Lee */ #include #include #include #include #include "empty.h" static Empty empty_client = CORBA_OBJECT_NIL; static void do_Nothing(PortableServer_Servant servant, CORBA_Environment *ev); static PortableServer_ServantBase__epv base_epv = { NULL, NULL, NULL }; static POA_Empty__epv empty_epv = { NULL, do_Nothing }; static POA_Empty__vepv poa_empty_vepv = { &base_epv, &empty_epv }; static POA_Empty poa_empty_servant = { NULL, &poa_empty_vepv }; static void do_exit(int arg) { exit(2); } int main (int argc, char *argv[]) { FILE *iorfile; PortableServer_ObjectId objid = {0, sizeof("myFoo"), "myFoo"}; PortableServer_POA poa; CORBA_Environment ev; char *retval; CORBA_ORB orb; PortableServer_ObjectId *oid; signal(SIGINT, do_exit); signal(SIGTERM, do_exit); CORBA_exception_init(&ev); orb = CORBA_ORB_init(&argc, argv, "orbit-local-orb", &ev); POA_Empty__init(&poa_empty_servant, &ev); poa = (PortableServer_POA) CORBA_ORB_resolve_initial_references(orb, "RootPOA", &ev); PortableServer_POAManager_activate( PortableServer_POA__get_the_POAManager(poa, &ev), &ev); oid = PortableServer_POA_activate_object(poa, &poa_empty_servant, &ev); if(ev._major == CORBA_NO_EXCEPTION) CORBA_free(oid); empty_client = PortableServer_POA_servant_to_reference(poa, &poa_empty_servant, &ev); if (ev._major != CORBA_NO_EXCEPTION) { printf("Cannot get objref\n"); return 1; } retval = CORBA_ORB_object_to_string(orb, empty_client, &ev); iorfile = fopen ("empty-server.iorfile", "w"); fprintf(iorfile, "%s\n", retval); fclose(iorfile); g_print("%s\n", retval); fflush(stdout); CORBA_free(retval); CORBA_ORB_run(orb, &ev); PortableServer_POA_deactivate_object(poa, &objid, &ev); return 0; } static void do_Nothing(PortableServer_Servant servant, CORBA_Environment *ev) { }