PSDL_Module_Scope.cpp

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // PSDL_Module_Scope.cpp,v 1.1 2002/07/25 15:25:51 pgontla Exp
00003 
00004 #include "PSDL_Module_Scope.h"
00005 #include "PSDL_Interface_Scope.h"
00006 
00007 ACE_RCSID (PSS, PSDL_Module_Scope, "PSDL_Module_Scope.cpp,v 1.1 2002/07/25 15:25:51 pgontla Exp")
00008 
00009 TAO_PSDL_Module_Scope::TAO_PSDL_Module_Scope (TAO_PSDL_Scope *parent_scope)
00010   : module_scope_ (),
00011     parent_scope_ (parent_scope),
00012     identifier_type_ ("module")
00013 {
00014 }
00015 
00016 TAO_PSDL_Module_Scope::~TAO_PSDL_Module_Scope (void)
00017 {
00018 }
00019 
00020 int
00021 TAO_PSDL_Module_Scope::add_module (ACE_CString identifier)
00022 {
00023   return TAO_PSDL_Scope::instance ()->add_module_to_scope (identifier,
00024                                                            this);
00025 }
00026 
00027 int
00028 TAO_PSDL_Module_Scope::add_interface (ACE_CString interface_name)
00029 {
00030   return TAO_PSDL_Scope::instance ()->add_interface_to_scope (interface_name,
00031                                                               this);
00032 }
00033 
00034 int
00035 TAO_PSDL_Module_Scope::add_struct (ACE_CString struct_name)
00036 {
00037   return TAO_PSDL_Scope::instance ()->add_struct_to_scope (struct_name,
00038                                                               this);
00039 }
00040 
00041 int
00042 TAO_PSDL_Module_Scope::add_typedef (ACE_CString identifier,
00043                                     ACE_CString identifier_type)
00044 {
00045   return TAO_PSDL_Scope::instance ()->add_typedef_to_scope (identifier,
00046                                                             identifier_type,
00047                                                             this);
00048 }
00049 
00050 int
00051 TAO_PSDL_Module_Scope::add_const_decl (ACE_CString identifier,
00052                                        ACE_CString identifier_type)
00053 {
00054   return TAO_PSDL_Scope::instance ()->add_const_decl_to_scope (identifier,
00055                                                                identifier_type,
00056                                                                this);
00057 }
00058 
00059 int
00060 TAO_PSDL_Module_Scope::add_except_decl (ACE_CString identifier,
00061                                         ACE_CString identifier_type)
00062 {
00063   return TAO_PSDL_Scope::instance ()->add_except_decl_to_scope (identifier,
00064                                                                 identifier_type,
00065                                                                 this);
00066 }
00067 
00068 int
00069 TAO_PSDL_Module_Scope::add_exception (ACE_CString identifier)
00070 {
00071   return TAO_PSDL_Scope::instance ()->add_exception_to_scope (identifier,
00072                                                               this);
00073 }
00074 
00075 int
00076 TAO_PSDL_Module_Scope::add_enum_decl (ACE_CString identifier,
00077                                       ACE_CString identifier_type)
00078 {
00079   return TAO_PSDL_Scope::instance ()->add_enum_decl_to_scope (identifier,
00080                                                               identifier_type,
00081                                                               this);
00082 }
00083 
00084 int
00085 TAO_PSDL_Module_Scope::add_op_dcl (ACE_CString identifier)
00086 {
00087   return TAO_PSDL_Scope::instance ()->add_op_dcl_to_scope (identifier,
00088                                                            this);
00089 }
00090 
00091 void
00092 TAO_PSDL_Module_Scope::dump (CORBA::ULong depth)
00093 {
00094   depth = depth + 5;
00095 
00096   for (Scope_Map_Iterator i = this->module_scope_.begin ();
00097        i != this->module_scope_.end ();
00098        ++i)
00099     {
00100       this->print_depth (depth);
00101       ACE_DEBUG ((LM_DEBUG,
00102                   "%s (module/interface/storagebase/struct)\n",
00103                   (*i).ext_id_.c_str ()));
00104       (*i).int_id_->dump (depth);
00105     }
00106 }
00107 
00108 int
00109 TAO_PSDL_Module_Scope::find (const ACE_CString &identifier_name,
00110                              ACE_CString &identifier_type)
00111 {
00112   for (Scope_Map_Iterator i = this->module_scope_.begin ();
00113        i != this->module_scope_.end ();
00114        ++i)
00115     {
00116       if (ACE_OS::strcmp (identifier_name.c_str (), (*i).ext_id_.c_str ()) == 0)
00117         {
00118           identifier_type = (*i).int_id_->identifier_type ();
00119           return 0;
00120         }
00121       else
00122         {
00123           if ((*i).int_id_->find (identifier_name,
00124                                   identifier_type) == 0)
00125             {
00126               return 0;
00127             }
00128         }
00129     }
00130 
00131   return -1;
00132 }
00133 
00134 int
00135 TAO_PSDL_Module_Scope::find (const ACE_CString &identifier_name)
00136 {
00137   for (Scope_Map_Iterator i = this->module_scope_.begin ();
00138        i != this->module_scope_.end ();
00139        ++i)
00140     {
00141       if (ACE_OS::strcmp (identifier_name.c_str (), (*i).ext_id_.c_str ()) == 0)
00142         {
00143           return 0;
00144         }
00145       else
00146         {
00147           if ((*i).int_id_->find (identifier_name) == 0)
00148             {
00149               return 0;
00150             }
00151         }
00152     }
00153 
00154   return -1;
00155 }
00156 
00157 int
00158 TAO_PSDL_Module_Scope::get_module_name (const ACE_CString &identifier_name,
00159                                         ACE_CString &module_name)
00160 {
00161   for (Scope_Map_Iterator i = this->module_scope_.begin ();
00162        i != this->module_scope_.end ();
00163        ++i)
00164     {
00165       if (ACE_OS::strcmp (identifier_name.c_str (), (*i).ext_id_.c_str ()) == 0)
00166         {
00167           module_name = (*i).int_id_->module_name ();
00168           return 0;
00169         }
00170       else
00171         {
00172           if ((*i).int_id_->get_module_name (identifier_name,
00173                                              module_name) == 0)
00174             {
00175               return 0;
00176             }
00177         }
00178     }
00179 
00180   return -1;
00181 }
00182 
00183 int
00184 TAO_PSDL_Module_Scope::get_interface_name (const ACE_CString &identifier_name,
00185                                            ACE_CString &interface_name)
00186 {
00187   for (Scope_Map_Iterator i = this->module_scope_.begin ();
00188        i != this->module_scope_.end ();
00189        ++i)
00190     {
00191       if (ACE_OS::strcmp (identifier_name.c_str (), (*i).ext_id_.c_str ()) == 0)
00192         {
00193           interface_name = (*i).int_id_->interface_name ();
00194           return 0;
00195         }
00196       else
00197         {
00198           if ((*i).int_id_->get_interface_name (identifier_name,
00199                                                 interface_name) == 0)
00200             {
00201               return 0;
00202             }
00203         }
00204     }
00205 
00206   return -1;
00207 }
00208 
00209 TAO_PSDL_Scope *
00210 TAO_PSDL_Module_Scope::parent_scope (void)
00211 {
00212   return this->parent_scope_;
00213 }
00214 
00215 Scope_Map *
00216 TAO_PSDL_Module_Scope::scope_map (void)
00217 {
00218   return &this->module_scope_;
00219 }
00220 
00221 ACE_CString
00222 TAO_PSDL_Module_Scope::identifier_type (void)
00223 {
00224   return this->identifier_type_;
00225 }
00226 
00227 ACE_CString
00228 TAO_PSDL_Module_Scope::module_name (void)
00229 {
00230   return this->module_name_;
00231 }
00232 
00233 ACE_CString
00234 TAO_PSDL_Module_Scope::interface_name (void)
00235 {
00236   return this->interface_name_;
00237 }

Generated on Thu Nov 9 14:07:02 2006 for TAO_PSS by doxygen 1.3.6