be_extern.h File Reference

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

Include dependency graph for be_extern.h:

Include dependency graph

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

Included by dependency graph

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 FE_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 103 of file be_init.cpp.

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

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

TAO_IFR_BE_Export void BE_post_init char *  [],
long 
 

Definition at line 123 of file be_init.cpp.

00124 {
00125 }

TAO_IFR_BE_Export void BE_produce void   ) 
 

Definition at line 174 of file be_produce.cpp.

References ACE_ANY_EXCEPTION, ACE_CATCHANY, ACE_DECLARE_NEW_CORBA_ENV, ACE_ENDTRY, ACE_ENV_SINGLE_ARG_PARAMETER, ACE_ERROR, ACE_PRINT_EXCEPTION, ACE_TEXT(), ACE_TRY, ACE_TRY_CHECK, BE_abort(), BE_cleanup(), BE_create_holding_scope(), be_global, BE_ifr_repo_init(), LM_ERROR, BE_GlobalData::removing(), TAO_IFR_VISITOR_WRITE_GUARD, and ifr_removing_visitor::visit_scope().

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

TAO_IFR_BE_Export void BE_version void   ) 
 

Definition at line 94 of file be_init.cpp.

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

00095 {
00096   ACE_DEBUG ((LM_DEBUG,
00097               "%s %s\n",
00098               ACE_TEXT ("TAO_IFR_BE, version"),
00099               ACE_TEXT (TAO_VERSION)));
00100 }


Variable Documentation

TAO_IFR_BE_Export BE_GlobalData* be_global
 

Definition at line 77 of file be_extern.h.

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_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_valuebox(), ifr_adding_visitor::visit_valuetype(), and ifr_adding_visitor::visit_valuetype_fwd().


Generated on Thu Nov 9 14:11:51 2006 for TAO_IFR by doxygen 1.3.6