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 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 164 of file be_produce.cpp.

References ACE_ERROR, ACE_TEXT(), 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().

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

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 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_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 Sun Jan 27 16:31:54 2008 for TAO_IFR by doxygen 1.3.6