00001
00002
00003
00004 #include "IFR_Service.h"
00005 #include "orbsvcs/IFRService/ComponentRepository_i.h"
00006 #include "orbsvcs/IFRService/Options.h"
00007 #include "orbsvcs/IFRService/IFR_ComponentsS.h"
00008 #include "orbsvcs/IFRService/IFR_Service_Utils.h"
00009 #include "orbsvcs/IOR_Multicast.h"
00010 #include "tao/IORTable/IORTable.h"
00011 #include "tao/ORB_Core.h"
00012 #include "ace/Auto_Ptr.h"
00013
00014 ACE_RCSID (IFR_Service,
00015 IFR_Service,
00016 "$Id: IFR_Service.cpp 76589 2007-01-25 18:04:11Z elliott_c $")
00017
00018 IFR_Service::IFR_Service (void)
00019 {
00020 }
00021
00022 IFR_Service::~IFR_Service (void)
00023 {
00024 }
00025
00026 int
00027 IFR_Service::init (int argc,
00028 char *argv[])
00029 {
00030 int result;
00031 try
00032 {
00033 this->orb_ = CORBA::ORB_init (argc,
00034 argv,
00035 0);
00036
00037 result = this->my_ifr_server_.init_with_orb (argc,
00038 argv,
00039 this->orb_.in ());
00040 if (result != 0)
00041 {
00042 return result;
00043 }
00044
00045 }
00046 catch (const CORBA::Exception& ex)
00047 {
00048 ex._tao_print_exception ("IFR_Service::init");
00049
00050 throw;
00051 }
00052 return 0;
00053 }
00054
00055 int
00056 IFR_Service::run (void)
00057 {
00058 this->orb_->run (0);
00059
00060 return 0;
00061 }
00062
00063 int
00064 IFR_Service::fini (void)
00065 {
00066 try
00067 {
00068 this->my_ifr_server_.fini ();
00069 }
00070 catch (const CORBA::Exception& ex)
00071 {
00072 ex._tao_print_exception ("IFR_Service::fini");
00073 throw;
00074 }
00075 return 0;
00076 }
00077