diff options
Diffstat (limited to 'CIAO/tools/IDL3_to_IDL2/be_helper.cpp')
-rw-r--r-- | CIAO/tools/IDL3_to_IDL2/be_helper.cpp | 436 |
1 files changed, 0 insertions, 436 deletions
diff --git a/CIAO/tools/IDL3_to_IDL2/be_helper.cpp b/CIAO/tools/IDL3_to_IDL2/be_helper.cpp deleted file mode 100644 index c5000558c24..00000000000 --- a/CIAO/tools/IDL3_to_IDL2/be_helper.cpp +++ /dev/null @@ -1,436 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// -// = LIBRARY -// TAO IDL -// -// = FILENAME -// be_helper.cpp -// -// = DESCRIPTION -// Provides helper classes to print generated code to the output -// -// = AUTHOR -// Aniruddha Gokhale -// -// Improvements by Carlos O'Ryan -// -// ============================================================================ - -#include "be_helper.h" -#include "idl_defines.h" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_string.h" -#include "ace/os_include/os_ctype.h" - -ACE_RCSID (be, - be_helper, - "$Id$") - -static const char copyright[] = -"// -*- C++ -*-\n" -"//\n" -"// $I" "d$\n\n" -"// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****\n" -"// TAO and the TAO IDL Compiler have been developed by:\n" -"// Center for Distributed Object Computing\n" -"// Washington University\n" -"// St. Louis, MO\n" -"// USA\n" -"// http://www.cs.wustl.edu/~schmidt/doc-center.html\n" -"// and\n" -"// Distributed Object Computing Laboratory\n" -"// University of California at Irvine\n" -"// Irvine, CA\n" -"// USA\n" -"// http://doc.ece.uci.edu/\n" -"// and\n" -"// Institute for Software Integrated Systems\n" -"// Vanderbilt University\n" -"// Nashville, TN\n" -"// USA\n" -"// http://www.isis.vanderbilt.edu/\n" -"//\n" -"// Information about TAO is available at:\n" -"// http://www.cs.wustl.edu/~schmidt/TAO.html"; - -TAO_NL::TAO_NL (void) -{ -} - -TAO_INDENT::TAO_INDENT (int do_now) - : do_now_ (do_now) -{ -} - -TAO_UNINDENT::TAO_UNINDENT (int do_now) - : do_now_ (do_now) -{ -} - -const TAO_NL be_nl; -const TAO_INDENT be_idt; -const TAO_INDENT be_idt_nl (1); -const TAO_UNINDENT be_uidt; -const TAO_UNINDENT be_uidt_nl (1); - -// Methods of the TAO_OutStream class. - -TAO_OutStream::TAO_OutStream (void) - : fp_ (0), - indent_level_ (0) -{ -} - -TAO_OutStream::~TAO_OutStream (void) -{ - // Close the underlying I/O handle only if it exists. - if (this->fp_ != 0) - { - ACE_OS::fclose (this->fp_); - this->fp_ = 0; - } - - indent_level_ = 0; -} - -int -TAO_OutStream::open (const char *fname) -{ - if (fname != 0) - { - // File name exists, open an I/O file handle. - this->fp_ = ACE_OS::fopen (fname, "w"); - - if (this->fp_ != 0) - { - // Put the copyright notice. - ACE_OS::fprintf (this->fp_, - "%s\n", - copyright); - - ACE_OS::fflush (this->fp_); - - return 0; - } - else - { - return -1; - } - } - else - { - return -1; - } -} - -// Return the underlying lowlevel file pointer. -// indentation. -FILE * -TAO_OutStream::file (void) -{ - return this->fp_; -} - -int -TAO_OutStream::incr_indent (unsigned short flag) -{ - indent_level_++; - - if (flag != 0) - { - return this->indent (); - } - else - { - // Do not indent output. - return 0; - } -} - -// Indentation -int -TAO_OutStream::decr_indent (unsigned short flag) -{ - this->indent_level_--; - // Just in case somebody gets "unindent happy". - if (this->indent_level_ < 0) - { - // ACE_DEBUG ((LM_DEBUG, "negative indentation?\n")); - this->indent_level_ = 0; - } - if (flag != 0) - { - return this->indent (); - } - else - { - // Do not indent output. - return 0; - } -} - -int -TAO_OutStream::reset (void) -{ - this->indent_level_ = 0; - return 0; -} - -// Indented print. -int -TAO_OutStream::indent (void) -{ - // Based on the current indentation level, leave appropriate number of blank - // spaces in the output. - if (this->indent_level_ > 0) - { - for (int i = 0; i < this->indent_level_; i++) - { - ACE_OS::fprintf (this->fp_, " "); - ACE_OS::fflush (this->fp_); - } - } - - return 0; -} - -int -TAO_OutStream::nl (void) -{ - ACE_OS::fprintf (this->fp_, "\n"); - this->indent (); - return 0; -} - -// Printf style variable argument print. -int -TAO_OutStream::print (const char *format, ...) -{ - int result = 0; - va_list ap; - va_start (ap, format); - ACE_OSCALL (::vfprintf (this->fp_, - format, - ap), - int, - -1, - result); - - ACE_OS::fflush (this->fp_); - va_end (ap); - - return result; -} - -void -TAO_OutStream::gen_ifndef_string (const char *fname, - const char *prefix, - const char *suffix) -{ - static char macro_name [NAMEBUFSIZE]; - - ACE_OS::memset (macro_name, - '\0', - NAMEBUFSIZE); - - const char *extension = ACE_OS::strrchr (fname, '.'); - - if (extension == 0) - { - // File seems to have no extension, so let us take the name - // as it is. - extension = fname; - } - - ACE_OS::sprintf (macro_name, prefix); - - size_t offset = ACE_OS::strlen (prefix); - - // Convert letters in fname to upper case. - for (int i = 0; i < (extension - fname); i++) - { - if (isalpha (fname [i])) - { - macro_name[i + offset] = (char) toupper (fname [i]); - } - else if (isdigit (fname [i])) - { - macro_name[i + offset] = fname[i]; - } - else - { - macro_name[i + offset] = '_'; - } - } - - ACE_OS::strcat (macro_name, suffix); - - // Generate the #ifndef ... #define statements. - this->print ("#ifndef %s\n", - macro_name); - this->print ("#define %s", - macro_name); -} - -TAO_OutStream & -TAO_OutStream::operator<< (const char *str) -{ - ACE_OS::fprintf (this->fp_, "%s", str); - ACE_OS::fflush (this->fp_); - return *this; -} - -TAO_OutStream & -TAO_OutStream::operator<< (const ACE_CDR::UShort num) -{ - ACE_OS::fprintf (this->fp_, - "%hu", - num); - - ACE_OS::fflush (this->fp_); - - return *this; -} - -TAO_OutStream & -TAO_OutStream::operator<< (const ACE_CDR::Short num) -{ - ACE_OS::fprintf (this->fp_, - "%hd", - num); - - ACE_OS::fflush (this->fp_); - - return *this; -} - -TAO_OutStream & -TAO_OutStream::operator<< (const ACE_CDR::ULong num) -{ - ACE_OS::fprintf (this->fp_, - "%lu", - (unsigned long) num); - - ACE_OS::fflush (this->fp_); - - return *this; -} - -TAO_OutStream & -TAO_OutStream::operator<< (const ACE_CDR::Long num) -{ - ACE_OS::fprintf (this->fp_, - "%ld", - (long) num); - - ACE_OS::fflush (this->fp_); - - return *this; -} - -#if defined (ACE_WIN64) -TAO_OutStream & -TAO_OutStream::operator<< (const ACE_CDR::ULongLong num) -{ - ACE_OS::fprintf (this->fp_, - ACE_UINT64_FORMAT_SPECIFIER, - num); - - ACE_OS::fflush (this->fp_); - - return *this; -} - -TAO_OutStream & -TAO_OutStream::operator<< (const ACE_CDR::LongLong num) -{ - ACE_OS::fprintf (this->fp_, - ACE_INT64_FORMAT_SPECIFIER, - num); - - ACE_OS::fflush (this->fp_); - - return *this; -} -#endif /* ACE_WIN64 */ - -TAO_OutStream & -TAO_OutStream::operator<< (const unsigned long num) -{ - ACE_OS::fprintf (this->fp_, - "%lu", - num); - - ACE_OS::fflush (this->fp_); - - return *this; -} - -TAO_OutStream & -TAO_OutStream::operator<< (const long num) -{ - ACE_OS::fprintf (this->fp_, - "%ld", - num); - - ACE_OS::fflush (this->fp_); - - return *this; -} - -TAO_OutStream & -TAO_OutStream::operator<< (const TAO_NL&) -{ - ACE_OS::fprintf (this->fp_ , - "\n"); - this->indent (); - - return *this; -} - -TAO_OutStream & -TAO_OutStream::operator<< (const TAO_INDENT& i) -{ - this->incr_indent (0); - - if (i.do_now_) - { - this->nl (); - } - - return *this; -} - -TAO_OutStream & -TAO_OutStream::operator<< (const TAO_UNINDENT& i) -{ - this->decr_indent (0); - - if (i.do_now_) - { - this->nl (); - } - - return *this; -} - -TAO_OutStream & -TAO_OutStream::operator<< (Identifier *id) -{ - return this->print (id); -} - -TAO_OutStream & -TAO_OutStream::operator<< (UTL_IdList *id) -{ - return this->print (id); -} - -TAO_OutStream & -TAO_OutStream::operator<< (AST_Expression *expr) -{ - return this->print (expr); -} |