be_extern.h File Reference

#include "TAO_IFR_BE_Export.h"
#include "be_global.h"

Include dependency graph for be_extern.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

TAO_IFR_BE_Export int BE_init (int &, char *[])
TAO_IFR_BE_Export void BE_post_init (char *[], long)
TAO_IFR_BE_Export void BE_version (void)
TAO_IFR_BE_Export void BE_produce (void)
TAO_IFR_BE_Export void BE_cleanup (void)
TAO_IFR_BE_Export void BE_abort (void)

Variables

TAO_IFR_BE_Export BE_GlobalDatabe_global


Function Documentation

TAO_IFR_BE_Export void BE_abort ( void   ) 

Definition at line 92 of file be_produce.cpp.

References ACE_ERROR, ACE_TEXT(), and LM_ERROR.

Referenced by BE_produce().

00093 {
00094   ACE_ERROR ((LM_ERROR,
00095               ACE_TEXT ("Fatal Error - Aborting\n")));
00096 
00097   // BE_cleanup will be called after the exception is caught.
00098   throw Bailout ();
00099 }

TAO_IFR_BE_Export void BE_cleanup ( void   ) 

Definition at line 85 of file be_produce.cpp.

Referenced by BE_produce().

00086 {
00087   idl_global->destroy ();
00088 }

TAO_IFR_BE_Export int BE_init ( int &  ,
char *  [] 
)

Definition at line 98 of file be_init.cpp.

References ACE_NEW_RETURN, be_global, BE_ifr_orb_init(), and BE_save_orb_args().

00099 {
00100   // Initialize BE global data object.
00101   ACE_NEW_RETURN (be_global,
00102                   BE_GlobalData,
00103                   -1);
00104 
00105   int status = BE_save_orb_args (argc, argv);
00106 
00107   if (status != 0)
00108     {
00109       return status;
00110     }
00111 
00112   idl_global->using_ifr_backend (true);
00113 
00114   return BE_ifr_orb_init (argc, argv);
00115 }

TAO_IFR_BE_Export void BE_post_init ( char *  [],
long   
)

Definition at line 118 of file be_init.cpp.

00119 {
00120 }

TAO_IFR_BE_Export void BE_produce ( void   ) 

Definition at line 173 of file be_produce.cpp.

References CORBA::Exception::_tao_print_exception(), ACE_ERROR, ACE_TEXT(), BE_GlobalData::allow_duplicate_typedefs(), BE_abort(), BE_cleanup(), BE_create_holding_scope(), be_global, BE_ifr_repo_init(), LM_ERROR, BE_GlobalData::removing(), and TAO_IFR_VISITOR_WRITE_GUARD.

00174 {
00175   try
00176     {
00177       int status = BE_ifr_repo_init ();
00178 
00179       if (status != 0)
00180         {
00181           return;
00182         }
00183 
00184       BE_create_holding_scope ();
00185 
00186       // Get the root node.
00187       AST_Decl *d = idl_global->root ();
00188       AST_Root *root = AST_Root::narrow_from_decl (d);
00189 
00190       if (root == 0)
00191         {
00192           ACE_ERROR ((LM_ERROR,
00193                       ACE_TEXT ("(%N:%l) BE_produce - ")
00194                       ACE_TEXT ("No Root\n")));
00195 
00196           BE_abort ();
00197         }
00198 
00199       if (be_global->removing ())
00200         {
00201           ifr_removing_visitor visitor;
00202 
00203           TAO_IFR_VISITOR_WRITE_GUARD;
00204 
00205           // If the visitor is dispatched this way, we need to override
00206           // only visit_scope() for the removing visitor.
00207           if (visitor.visit_scope (root) == -1)
00208             {
00209               ACE_ERROR ((
00210                   LM_ERROR,
00211                   ACE_TEXT ("(%N:%l) BE_produce -")
00212                   ACE_TEXT (" failed to accept removing visitor\n")
00213                 ));
00214 
00215               BE_abort ();
00216             }
00217         }
00218       else
00219         {
00220           ifr_adding_visitor visitor (d, 0, be_global->allow_duplicate_typedefs ());
00221 
00222           TAO_IFR_VISITOR_WRITE_GUARD;
00223 
00224           if (root->ast_accept (&visitor) == -1)
00225             {
00226               ACE_ERROR ((
00227                   LM_ERROR,
00228                   ACE_TEXT ("(%N:%l) BE_produce -")
00229                   ACE_TEXT (" failed to accept adding visitor\n")
00230                 ));
00231 
00232               BE_abort ();
00233             }
00234         }
00235     }
00236   catch (const CORBA::Exception& ex)
00237     {
00238       ex._tao_print_exception (ACE_TEXT ("BE_produce"));
00239 
00240     }
00241 
00242   // Clean up.
00243   BE_cleanup ();
00244 }

TAO_IFR_BE_Export void BE_version ( void   ) 

Definition at line 89 of file be_init.cpp.

References ACE_DEBUG, ACE_TEXT(), LM_DEBUG, and TAO_VERSION.

00090 {
00091   ACE_DEBUG ((LM_DEBUG,
00092               "%s %s\n",
00093               ACE_TEXT ("TAO_IFR_BE, version"),
00094               ACE_TEXT (TAO_VERSION)));
00095 }


Variable Documentation

TAO_IFR_BE_Export BE_GlobalData* be_global

Definition at line 29 of file be_global.cpp.

Referenced by BE_create_holding_scope(), BE_ifr_orb_init(), BE_ifr_repo_init(), BE_init(), BE_produce(), BE_save_orb_args(), ifr_adding_visitor::create_component_def(), ifr_adding_visitor::create_event_def(), ifr_adding_visitor::create_home_def(), ifr_adding_visitor::create_interface_def(), ifr_adding_visitor::create_value_def(), ifr_adding_visitor::create_value_member(), DRV_init(), ifr_adding_visitor::element_type(), ifr_adding_visitor::fill_base_component(), ifr_adding_visitor::fill_base_home(), ifr_adding_visitor::fill_base_value(), ifr_adding_visitor::fill_exceptions(), ifr_adding_visitor::fill_managed_component(), ifr_adding_visitor::fill_primary_key(), ifr_adding_visitor::get_referenced_type(), ifr_visitor::ifr_visitor(), BE_GlobalData::parse_args(), ifr_adding_visitor::visit_all_consumes(), ifr_adding_visitor::visit_all_emits(), ifr_adding_visitor::visit_all_provides(), ifr_adding_visitor::visit_all_publishes(), ifr_adding_visitor::visit_all_uses(), ifr_adding_visitor::visit_array(), ifr_adding_visitor::visit_attribute(), ifr_adding_visitor::visit_component(), ifr_adding_visitor::visit_component_fwd(), ifr_adding_visitor::visit_constant(), ifr_adding_visitor_union::visit_enum(), ifr_adding_visitor_structure::visit_enum(), ifr_adding_visitor_exception::visit_enum(), ifr_adding_visitor::visit_enum(), ifr_adding_visitor::visit_eventtype(), ifr_adding_visitor::visit_eventtype_fwd(), ifr_adding_visitor_exception::visit_exception(), ifr_adding_visitor::visit_exception(), ifr_adding_visitor::visit_home(), ifr_adding_visitor::visit_interface(), ifr_adding_visitor::visit_interface_fwd(), ifr_adding_visitor::visit_module(), ifr_adding_visitor::visit_native(), ifr_adding_visitor_operation::visit_operation(), ifr_adding_visitor::visit_predefined_type(), ifr_removing_visitor::visit_root(), ifr_adding_visitor::visit_root(), ifr_removing_visitor::visit_scope(), ifr_adding_visitor::visit_sequence(), ifr_adding_visitor::visit_string(), ifr_adding_visitor_union::visit_structure(), ifr_adding_visitor_structure::visit_structure(), ifr_adding_visitor_exception::visit_structure(), ifr_adding_visitor::visit_structure(), ifr_adding_visitor::visit_structure_fwd(), ifr_adding_visitor::visit_typedef(), ifr_adding_visitor_union::visit_union(), ifr_adding_visitor_structure::visit_union(), ifr_adding_visitor_exception::visit_union(), ifr_adding_visitor::visit_union(), ifr_adding_visitor::visit_union_fwd(), ifr_adding_visitor::visit_valuebox(), ifr_adding_visitor::visit_valuetype(), and ifr_adding_visitor::visit_valuetype_fwd().


Generated on Tue Feb 2 17:50:49 2010 for TAO_IFR by  doxygen 1.4.7