Functions | Variables

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 &, ACE_TCHAR *[])
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.

{
  ACE_ERROR ((LM_ERROR,
              ACE_TEXT ("Fatal Error - Aborting\n")));

  // BE_cleanup will be called after the exception is caught.
  throw Bailout ();
}

TAO_IFR_BE_Export void BE_cleanup ( void   ) 

Definition at line 85 of file be_produce.cpp.

{
  idl_global->destroy ();
}

TAO_IFR_BE_Export int BE_init ( int &  ,
ACE_TCHAR [] 
)

Definition at line 99 of file be_init.cpp.

{
  // Initialize BE global data object.
  ACE_NEW_RETURN (be_global,
                  BE_GlobalData,
                  -1);

  int status = BE_save_orb_args (argc, argv);

  if (status != 0)
    {
      return status;
    }

  idl_global->using_ifr_backend (true);

  return BE_ifr_orb_init (argc, argv);
}

TAO_IFR_BE_Export void BE_post_init ( char *  [],
long   
)

Definition at line 119 of file be_init.cpp.

{
}

TAO_IFR_BE_Export void BE_produce ( void   ) 

Definition at line 146 of file be_produce.cpp.

{
  try
    {
      int status = BE_ifr_repo_init ();

      if (status != 0)
        {
          return;
        }

      // Get the root node.
      AST_Decl *d = idl_global->root ();
      AST_Root *root = AST_Root::narrow_from_decl (d);

      if (root == 0)
        {
          ACE_ERROR ((LM_ERROR,
                      ACE_TEXT ("(%N:%l) BE_produce - ")
                      ACE_TEXT ("No Root\n")));

          BE_abort ();
        }

      if (be_global->removing ())
        {
          ifr_removing_visitor visitor;

          TAO_IFR_VISITOR_WRITE_GUARD;

          // If the visitor is dispatched this way, we need to override
          // only visit_scope() for the removing visitor.
          if (visitor.visit_scope (root) == -1)
            {
              ACE_ERROR ((
                  LM_ERROR,
                  ACE_TEXT ("(%N:%l) BE_produce -")
                  ACE_TEXT (" failed to accept removing visitor\n")
                ));

              BE_abort ();
            }
        }
      else
        {
          ifr_adding_visitor visitor (d, 0, be_global->allow_duplicate_typedefs ());

          TAO_IFR_VISITOR_WRITE_GUARD;

          if (root->ast_accept (&visitor) == -1)
            {
              ACE_ERROR ((
                  LM_ERROR,
                  ACE_TEXT ("(%N:%l) BE_produce -")
                  ACE_TEXT (" failed to accept adding visitor\n")
                ));

              BE_abort ();
            }
        }
    }
  catch (const CORBA::Exception& ex)
    {
      ex._tao_print_exception (ACE_TEXT ("BE_produce"));

    }

  // Clean up.
  BE_cleanup ();
}

TAO_IFR_BE_Export void BE_version ( void   ) 

Definition at line 90 of file be_init.cpp.

{
  ACE_DEBUG ((LM_DEBUG,
              "%s %s\n",
              ACE_TEXT ("TAO_IFR_BE, version"),
              ACE_TEXT (TAO_VERSION)));
}


Variable Documentation

TAO_IFR_BE_Export BE_GlobalData* be_global

Definition at line 25 of file be_global.cpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Defines