00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef TAO_IFR_BE_GLOBAL_H
00021 #define TAO_IFR_BE_GLOBAL_H
00022
00023 #include "TAO_IFR_BE_Export.h"
00024 #include "tao/IFR_Client/IFR_BasicC.h"
00025 #include "tao/ORB.h"
00026 #include "ace/Containers.h"
00027 #include "ace/SString.h"
00028
00029 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00030 # pragma once
00031 #endif
00032
00033 class AST_Generator;
00034
00035
00036
00037 class TAO_IFR_BE_Export BE_GlobalData
00038 {
00039 public:
00040
00041
00042
00043
00044
00045
00046 BE_GlobalData (void);
00047
00048
00049 virtual ~BE_GlobalData (void);
00050
00051
00052
00053
00054 bool removing (void) const;
00055 void removing (bool value);
00056
00057 CORBA::ORB_ptr orb (void) const;
00058 void orb (CORBA::ORB_ptr orb);
00059
00060 CORBA::Repository_ptr repository (void) const;
00061 void repository (CORBA::Repository_ptr repo);
00062
00063 CORBA::ModuleDef_ptr holding_scope (void) const;
00064 void holding_scope (CORBA::ModuleDef_ptr scope);
00065
00066 const char *holding_scope_name (void) const;
00067
00068 ACE_Unbounded_Stack<CORBA::Container_ptr> &ifr_scopes (void);
00069
00070 void destroy (void);
00071
00072
00073 const char *filename (void) const;
00074 void filename (char *fname);
00075
00076 bool enable_locking (void) const;
00077 void enable_locking (bool value);
00078
00079 bool do_included_files (void) const;
00080 void do_included_files (bool val);
00081
00082 ACE_CString orb_args (void) const;
00083 void orb_args (const ACE_CString& args);
00084
00085 ACE_CString spawn_options (void);
00086
00087
00088
00089 void parse_args (long &i, char **av);
00090
00091
00092 void prep_be_arg (char *s);
00093
00094
00095 void arg_post_proc (void);
00096
00097
00098 void usage (void) const;
00099
00100
00101 AST_Generator *generator_init (void);
00102
00103
00104 private:
00105 bool removing_;
00106
00107
00108 CORBA::ORB_var orb_;
00109
00110
00111 CORBA::Repository_var repository_;
00112
00113
00114 CORBA::ModuleDef_var holding_scope_;
00115
00116
00117
00118 CORBA::String_var holding_scope_name_;
00119
00120
00121 ACE_Unbounded_Stack<CORBA::Container_ptr> ifr_scopes_;
00122
00123
00124 char *filename_;
00125
00126
00127 bool enable_locking_;
00128
00129
00130 bool do_included_files_;
00131
00132
00133 ACE_CString orb_args_;
00134
00135 };
00136
00137 #endif