orbconf.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file     orbconf.h
00006  *
00007  *  orbconf.h,v 1.253 2006/06/20 06:05:55 jwillemsen Exp
00008  *
00009  *  Build configuration file.
00010  *
00011  *  @author  Copyright 1995 by Sun Microsystems, Inc.
00012  *  @author  Chris Cleeland
00013  *  @author  Douglas C. Schmidt
00014  */
00015 //=============================================================================
00016 
00017 #ifndef TAO_ORBCONF_H
00018 #define TAO_ORBCONF_H
00019 
00020 #include /**/ "ace/pre.h"
00021 
00022 #include "ace/Basic_Types.h"
00023 #include "ace/Global_Macros.h"
00024 #include "ace/Synch_Traits.h"
00025 
00026 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00027 # pragma once
00028 #endif /* ACE_LACKS_PRAGMA_ONCE */
00029 
00030 #include "tao/Versioned_Namespace.h"
00031 
00032 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00033 
00034 #define TAO_INVALID_PRIORITY -1
00035 
00036 #if !defined (TAO_REACTOR)
00037 #define TAO_REACTOR ACE_Select_Reactor
00038 #endif /* TAO_REACTOR */
00039 
00040 #if !defined (TAO_NULL_LOCK_REACTOR)
00041 #define TAO_NULL_LOCK_REACTOR ACE_Select_Reactor_T< ACE_Reactor_Token_T<ACE_Noop_Token> >
00042 #endif /* TAO_NULL_LOCK_REACTOR */
00043 
00044 // Define this to modify the default mutex type used throughout TAO.
00045 #if !defined (TAO_SYNCH_MUTEX)
00046 #define TAO_SYNCH_MUTEX ACE_SYNCH_MUTEX
00047 #endif /* TAO_SYNCH_MUTEX */
00048 
00049 #if !defined (TAO_SYNCH_RECURSIVE_MUTEX)
00050 #define TAO_SYNCH_RECURSIVE_MUTEX ACE_SYNCH_RECURSIVE_MUTEX
00051 #endif /* TAO_SYNCH_RECURSIVE_MUTEX */
00052 
00053 #if !defined (TAO_SYNCH_RW_MUTEX)
00054 #define TAO_SYNCH_RW_MUTEX ACE_SYNCH_RW_MUTEX
00055 #endif /* TAO_SYNCH_RW_MUTEX */
00056 
00057 #if !defined (TAO_SYNCH_CONDITION)
00058 #define TAO_SYNCH_CONDITION ACE_SYNCH_CONDITION
00059 #endif /* TAO_SYNCH_CONDITION */
00060 
00061 // Define this if you don't want POA timestamps in the IOR.  Remember,
00062 // without timestamps, transient and persistent POA cannot be
00063 // distinguished.
00064 #if !defined (POA_NO_TIMESTAMP)
00065 # define POA_NO_TIMESTAMP 0
00066 #endif /* POA_NO_TIMESTAMP */
00067 
00068 // If set the ORB will use dotted decimal addresses in the IIOP IORs
00069 // it exports.  This is useful for platforms or environments that
00070 // cannot depend on a DNS being available.  This macro only affects
00071 // the server side of a TAO-based CORBA application. If we are on Win32
00072 // the DNS is perenially broken. Set it to 1 regardless.
00073 #if !defined (TAO_USE_DOTTED_DECIMAL_ADDRESSES) && defined (ACE_WIN32)
00074 # define TAO_USE_DOTTED_DECIMAL_ADDRESSES 1
00075 #endif /*TAO_USE_DOTTED_DECIMAL_ADDRESSES*/
00076 
00077 #if !defined (TAO_USE_DOTTED_DECIMAL_ADDRESSES)
00078 # define TAO_USE_DOTTED_DECIMAL_ADDRESSES 0
00079 #endif /* TAO_USE_DOTTED_DECIMAL_ADDRESSES */
00080 
00081 // If set the ORB will use codeset negotiation. This means adding a
00082 // Codeset component to each profile in an IOR, and a codeset context
00083 // to the first request. The use of codeset negotiation also causes
00084 // libTAO_Codeset to be linked in.
00085 #if !defined (TAO_NEGOTIATE_CODESETS)
00086 # define TAO_NEGOTIATE_CODESETS 1
00087 #endif /*TAO_NEGOTIATE_CODESETS*/
00088 
00089 // The default size of TAO's ORB table, i.e. the one used as the
00090 // underlying implementation for the CORBA::ORB_init() function.
00091 #if !defined (TAO_DEFAULT_ORB_TABLE_SIZE)
00092 const size_t TAO_DEFAULT_ORB_TABLE_SIZE = 16;
00093 #endif  /* !TAO_DEFAULT_ORB_TABLE_SIZE */
00094 
00095 // The default size of the reply dispatcher table, ie. if the reply
00096 // dispatcher strategy needs a table to maintain association between
00097 // request id's and reply dispatchers
00098 #if !defined (TAO_RD_TABLE_SIZE)
00099 const size_t TAO_RD_TABLE_SIZE = 16;
00100 #endif  /* !TAO_RD_TABLE_SIZE */
00101 
00102 // The default size of TAO's policy factory registry, i.e. the map
00103 // used as the underlying implementation for the
00104 // PortableInterceptor::ORBInitInfo::register_policy_factory() method.
00105 #if !defined (TAO_DEFAULT_POLICY_FACTORY_REGISTRY_SIZE)
00106 const size_t TAO_DEFAULT_POLICY_FACTORY_REGISTRY_SIZE = 64;
00107 #endif  /* !TAO_DEFAULT_ORB_TABLE_SIZE */
00108 
00109 // The default size of TAO's initial object reference table, i.e. the
00110 // one used as the underlying implementation for the
00111 // CORBA::ORB::register_initial_reference() and
00112 // PortableInterceptor::ORBInitInfo::register_initial_reference()
00113 // methods.
00114 #if !defined (TAO_DEFAULT_OBJECT_REF_TABLE_SIZE)
00115 const size_t TAO_DEFAULT_OBJECT_REF_TABLE_SIZE = 256;
00116 #endif  /* !TAO_DEFAULT_ORB_TABLE_SIZE */
00117 
00118 // The default size of TAO's ValueFactory table, i.e. the
00119 // one used as the underlying implementation for the
00120 // CORBA::ORB::register_value_factory() method.
00121 #if !defined (TAO_DEFAULT_VALUE_FACTORY_TABLE_SIZE)
00122 const size_t TAO_DEFAULT_VALUE_FACTORY_TABLE_SIZE = 128;
00123 #endif  /* !TAO_DEFAULT_ORB_TABLE_SIZE */
00124 
00125 
00126 // The default size of TAO's server active object map.
00127 #if !defined (TAO_DEFAULT_SERVER_ACTIVE_OBJECT_MAP_SIZE)
00128 # if defined (TAO_DEFAULT_SERVER_OBJECT_TABLE_SIZE)
00129 //
00130 // TAO_DEFAULT_SERVER_OBJECT_TABLE_SIZE is deprecated. Please use
00131 // TAO_DEFAULT_SERVER_ACTIVE_OBJECT_MAP_SIZE.
00132 //
00133 #  define TAO_DEFAULT_SERVER_ACTIVE_OBJECT_MAP_SIZE TAO_DEFAULT_SERVER_OBJECT_TABLE_SIZE
00134 # else
00135 #  define TAO_DEFAULT_SERVER_ACTIVE_OBJECT_MAP_SIZE 64
00136 # endif /* TAO_DEFAULT_SERVER_OBJECT_TABLE_SIZE */
00137 #endif /* ! TAO_DEFAULT_SERVER_ACTIVE_OBJECT_MAP_SIZE */
00138 
00139 // The default size of TAO's server poa map.
00140 #if !defined (TAO_DEFAULT_SERVER_POA_MAP_SIZE)
00141 #  define TAO_DEFAULT_SERVER_POA_MAP_SIZE 24
00142 #endif /* ! TAO_DEFAULT_SERVER_POA_MAP_SIZE */
00143 
00144 // The default timeout receiving the location request to the TAO
00145 // Naming, Trading and other servicesService.
00146 #if !defined (TAO_DEFAULT_SERVICE_RESOLUTION_TIMEOUT)
00147 #define TAO_DEFAULT_SERVICE_RESOLUTION_TIMEOUT 10
00148 #endif /* TAO_DEFAULT_SERVICE_RESOLUTION_TIMEOUT */
00149 
00150 // The default starting port number for TAO servers.
00151 // @@ This assumes we are using one or more protocols that will all
00152 // @@ 1) know what to do with a port number and
00153 // @@ 2) use the same default port number.
00154 // @@ This shou8ld go away!
00155 #if !defined (TAO_DEFAULT_SERVER_PORT)
00156 #define TAO_DEFAULT_SERVER_PORT 0
00157 #endif /* TAO_DEFAULT_SERVER_PORT */
00158 
00159 // TAO's max buffer size
00160 #if !defined (TAO_MAXBUFSIZE)
00161 #define TAO_MAXBUFSIZE 1024
00162 #endif /* TAO_MAXBUFSIZE */
00163 
00164 #if !defined (TAO_CONNECTION_PURGING_STRATEGY)
00165 # define TAO_CONNECTION_PURGING_STRATEGY TAO_Resource_Factory::LRU
00166 #endif /* TAO_CONNECTION_PURGING_STRATEGY */
00167 
00168 #if !defined (TAO_PURGE_PERCENT)
00169 # define TAO_PURGE_PERCENT 20
00170 #endif /* TAO_PURGE_PERCENT */
00171 
00172 #if !defined (TAO_CONNECTION_CACHE_MAXIMUM)
00173 // If for some reason you configure the maximum number of handles in
00174 // your OS to some astronomical value, then you should override this
00175 // macro to be a smaller value, e.g., NOFILES or FD_SETSIZE.
00176 # define TAO_CONNECTION_CACHE_MAXIMUM (ACE::max_handles () / 2)
00177 #endif /* TAO_CONNECTION_CACHE_MAXIMUM */
00178 
00179 // This definition theoretically is not required. Just leaving it here
00180 // for backward compatibility
00181 #define TAO_NAMESPACE_STORAGE_CLASS extern TAO_EXPORT_MACRO
00182 
00183 # if defined (_MSC_VER) && defined (__ACE_INLINE__)
00184 #   define TAO_NAMESPACE_INLINE_FUNCTION inline
00185 # else
00186 #   define TAO_NAMESPACE_INLINE_FUNCTION TAO_NAMESPACE_STORAGE_CLASS
00187 # endif
00188 
00189 #if !defined(TAO_NO_COPY_OCTET_SEQUENCES)
00190 # define TAO_NO_COPY_OCTET_SEQUENCES 1
00191 #endif /* TAO_NO_COPY_OCTET_SEQUENCES */
00192 
00193 #if defined (ACE_HAS_EXCEPTIONS)
00194 # define TAO_HAS_EXCEPTIONS
00195 // TAO_USE_EXCEPTIONS is only here for backwards compatibility and
00196 // will go away shortly so don't use it...
00197 # define TAO_USE_EXCEPTIONS
00198 #elif (defined (TAO_HAS_EXCEPTIONS) || defined (TAO_USE_EXCEPTIONS)) && !defined (ACE_HAS_EXCEPTIONS)
00199 # error "tao/orbconf.h: You can only use exceptions in TAO if ACE supports them"
00200 #endif /* TAO_HAS_EXCEPTIONS */
00201 
00202 // BC++ seems to have a different convention for detecting Win32 than
00203 // VC++.
00204 
00205 #if defined (__WIN32__)
00206 # if !defined(_WIN32)
00207 #   define _WIN32
00208 # endif /* !defined(_WIN32) */
00209 #endif /* __WIN32__ */
00210 
00211 // Define to `int' if <sys/types.h> doesn't define.
00212 /* #undef pid_t */
00213 
00214 // Define if your processor does not store words with the most significant
00215 // byte first.
00216 
00217 // @todo It seems to be that this definition of TAO_ENCAP_BYTE_ORDER
00218 // should be removed. We have an equivalent ACE definition in
00219 // ACE_CDR_BYTE_ORDER. Today both of them are consistent. It would be
00220 // a havoc if oneday this consistency is gone..
00221 #if defined (ACE_LITTLE_ENDIAN)
00222 #  define TAO_ENCAP_BYTE_ORDER 1  /* little endian encapsulation byte order has
00223                                      the value = 1 */
00224 #else  /* ! ACE_LITTLE_ENDIAN */
00225 #  define TAO_ENCAP_BYTE_ORDER 0  /* big endian encapsulation byte order has
00226                                      the value = 0 */
00227 #endif /* ! ACE_LITTLE_ENDIAN */
00228 
00229 // Define as the return type of signal handlers (int or void).
00230 #define RETSIGTYPE void
00231 
00232 // Define if you don't have vprintf but do have _doprnt.
00233 /* #undef HAVE_DOPRNT */
00234 
00235 // Define if you have the vprintf function.
00236 #define HAVE_VPRINTF 1
00237 
00238 // Avoid namespace pollution that's common on older UNIXes...
00239 #if defined (minor)
00240 #undef minor
00241 #endif /* minor */
00242 
00243 #if defined (major)
00244 #undef major
00245 #endif /* major*/
00246 
00247 #if !defined (TAO_EXPORT_NESTED_CLASSES) \
00248     && defined (ACE_EXPORT_NESTED_CLASSES)
00249 #define TAO_EXPORT_NESTED_CLASSES
00250 #endif /* !defined TAO_EXPORT_NESTED_CLASSES */
00251 
00252 #if !defined (TAO_EXPORT_NESTED_MACRO)
00253 #define TAO_EXPORT_NESTED_MACRO
00254 #endif /* !defined (TAO_EXPORT_NESTED_MACRO) */
00255 
00256 // Assume DOS/Windows if "configure" didn't get run.
00257 
00258 #if defined (_MSC_VER)
00259 // "C4355: 'this' : used in base member initializer list"
00260 #  pragma warning (disable:4355) /* disable C4355 warning */
00261 #endif /* defined (_MSC_VER) */
00262 
00263 // The Root POA default name.
00264 #if !defined (TAO_DEFAULT_ROOTPOA_NAME)
00265 #define TAO_DEFAULT_ROOTPOA_NAME   "RootPOA"
00266 #endif /* TAO_DEFAULT_ROOTPOA_NAME */
00267 
00268 #if !defined (TAO_DEFAULT_ROOTPOAMANAGER_NAME)
00269 #define TAO_DEFAULT_ROOTPOAMANAGER_NAME   "RootPOAManager"
00270 #endif /* TAO_DEFAULT_ROOTPOAMANAGER_NAME */
00271 
00272 // The default lane name used when storing endpoints.
00273 #if !defined (TAO_DEFAULT_LANE)
00274 #define TAO_DEFAULT_LANE "default lane"
00275 #endif /* TAO_DEFAULT_LANE */
00276 
00277 // Minimum CORBA
00278 #if !defined (TAO_HAS_MINIMUM_CORBA)
00279 # define TAO_HAS_MINIMUM_CORBA 0
00280 #endif /* TAO_HAS_MINIMUM_CORBA */
00281 
00282 /// Default IIOP settings
00283 #if !defined (TAO_HAS_IIOP)
00284 #  define TAO_HAS_IIOP 1
00285 #endif  /* !TAO_HAS_IIOP */
00286 
00287 /// Default DIOP settings
00288 #if !defined (TAO_HAS_DIOP)
00289 #  define TAO_HAS_DIOP 1
00290 #endif  /* !TAO_HAS_DIOP */
00291 
00292 /// Default SCIOP Settings
00293 /// SCIOP is disabled by default (i.e. TAO_HAS_SCIOP is undef)
00294 /// to enable SCIOP, make with sctp=openss7 option on command line.
00295 /// See $ACE_ROOT/performance-tests/SCTP/README for more info.
00296 #if !defined (TAO_HAS_SCIOP)
00297 #  if defined (ACE_HAS_SCTP)
00298 #    define TAO_HAS_SCIOP 1
00299 #    define TAO_DEF_SCIOP_MAJOR 1
00300 #    define TAO_DEF_SCIOP_MINOR 0
00301 #  else
00302 #    define TAO_HAS_SCIOP 0
00303 #  endif  /* ACE_HAS_SCTP */
00304 #endif  /* !TAO_HAS_SCIOP */
00305 
00306 // UIOP support is enabled by default if the platform supports UNIX
00307 // domain sockets, and TAO is not configured for minimum CORBA.
00308 // If TAO is configured for minimum CORBA, then UIOP will be disabled
00309 // by default.
00310 // To explicitly enable UIOP support uncomment the following
00311 // #define TAO_HAS_UIOP 1
00312 // To explicitly disable UIOP support uncomment the following
00313 // #define TAO_HAS_UIOP 0
00314 
00315 // Default UIOP settings
00316 #if !defined (TAO_HAS_UIOP)
00317 #  if defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS)
00318 #    define TAO_HAS_UIOP 0
00319 #  else
00320 #    define TAO_HAS_UIOP 1
00321 #  endif  /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */
00322 #endif  /* !TAO_HAS_UIOP */
00323 
00324 // NSKPW and NSKFS are Pluggable Protocols used on the Tandem
00325 // platform.  These are disabled by default.
00326 
00327 #if defined (TAO_HAS_NSKPW)
00328 #define TAO_DEF_NSKPW_MAJOR 1
00329 #define TAO_DEF_NSKPW_MINOR 2
00330 #endif
00331 
00332 #if defined (TAO_HAS_NSKFS)
00333 #define TAO_DEF_NSKFS_MAJOR 1
00334 #define TAO_DEF_NSKFS_MINOR 2
00335 #endif
00336 
00337 #if (ACE_HAS_POSITION_INDEPENDENT_POINTERS == 1)
00338 # if !defined (TAO_HAS_SHMIOP)
00339 #   define TAO_HAS_SHMIOP 1
00340 # endif /* TAO_HAS_SHMIOP */
00341 #else
00342 # if defined (TAO_HAS_SHMIOP)
00343 #   undef TAO_HAS_SHMIOP
00344 # endif /* TAO_HAS_SHMIOP */
00345 # define TAO_HAS_SHMIOP 0
00346 #endif /* ACE_HAS_POSITION_INDEPENDENT_POINTERS == 1 */
00347 
00348 // NAMED_RT_MUTEX support is disabled by default.
00349 // To explicitly enable NAMED_RT_MUTEX support uncomment the following
00350 // #define TAO_HAS_NAMED_RT_MUTEXES 1
00351 // To explicitly disable NAMED_RT_MUTEX support uncomment the following
00352 // #define TAO_HAS_NAMED_RT_MUTEXES 0
00353 
00354 // Default NAMED_RT_MUTEX settings
00355 #if !defined (TAO_HAS_NAMED_RT_MUTEXES)
00356 #  define TAO_HAS_NAMED_RT_MUTEXES 0
00357 #endif  /* !TAO_HAS_NAMED_RT_MUTEXES */
00358 
00359 // MINIMUM_POA support is disabled by default if TAO is not
00360 // configured for minimum CORBA.  If TAO is configured for minimum
00361 // CORBA, then MINIMUM_POA will be enabled by default.
00362 // To explicitly enable MINIMUM_POA support uncomment the following
00363 // #define TAO_HAS_MINIMUM_POA 1
00364 // To explicitly disable MINIMUM_POA support uncomment the following
00365 // #define TAO_HAS_MINIMUM_POA 0
00366 
00367 // Default MINIMUM_POA settings
00368 #if !defined (TAO_HAS_MINIMUM_POA)
00369 #  if (TAO_HAS_MINIMUM_CORBA == 1)
00370 #    define TAO_HAS_MINIMUM_POA 1
00371 #  else
00372 #    define TAO_HAS_MINIMUM_POA 0
00373 #  endif  /* TAO_HAS_MINIMUM_CORBA */
00374 #endif  /* !TAO_HAS_MINIMUM_POA */
00375 
00376 // MINIMUM_POA_MAPS support is disabled by default if TAO is not
00377 // configured for minimum POA.  If TAO is configured for minimum
00378 // POA, then MINIMUM_POA_MAPS will be enabled by default.
00379 // To explicitly enable MINIMUM_POA_MAPS support uncomment the following
00380 // #define TAO_HAS_MINIMUM_POA_MAPS 1
00381 // To explicitly disable MINIMUM_POA_MAPS support uncomment the following
00382 // #define TAO_HAS_MINIMUM_POA_MAPS 0
00383 
00384 // Default MINIMUM_POA_MAPS settings
00385 #if !defined (TAO_HAS_MINIMUM_POA_MAPS)
00386 #  if (TAO_HAS_MINIMUM_POA == 1)
00387 #    define TAO_HAS_MINIMUM_POA_MAPS 1
00388 #  else
00389 #    define TAO_HAS_MINIMUM_POA_MAPS 0
00390 #  endif  /* TAO_HAS_MINIMUM_POA */
00391 #endif  /* !TAO_HAS_MINIMUM_POA_MAPS */
00392 
00393 // CORBA_MESSAGING support is enabled by default if TAO is not
00394 // configured for minimum CORBA.  If TAO is configured for minimum
00395 // CORBA, then CORBA_MESSAGING will be disabled by default.
00396 // To explicitly enable CORBA_MESSAGING support uncomment the following
00397 // #define TAO_HAS_CORBA_MESSAGING 1
00398 // To explicitly disable CORBA_MESSAGING support uncomment the following
00399 // #define TAO_HAS_CORBA_MESSAGING 0
00400 
00401 // Default CORBA_MESSAGING settings
00402 #if !defined (TAO_HAS_CORBA_MESSAGING)
00403 #    define TAO_HAS_CORBA_MESSAGING 1
00404 #endif  /* !TAO_HAS_CORBA_MESSAGING */
00405 
00406 // For all the policies, support is enabled by default if TAO is
00407 // configured for CORBA Messaging.  If TAO is not configured for CORBA
00408 // Messaging, then policies cannot be enabled.  Default support can be
00409 // turned off by setting TAO_DISABLE_CORBA_MESSAGING_POLICIES to 1.
00410 
00411 #if !defined (TAO_DISABLE_CORBA_MESSAGING_POLICIES)
00412 # define TAO_DISABLE_CORBA_MESSAGING_POLICIES 0
00413 #endif  /* !TAO_DISABLE_CORBA_MESSAGING_POLICIES */
00414 
00415 // To explicitly disable REBIND_POLICY support uncomment the following
00416 // #define TAO_HAS_REBIND_POLICY 0
00417 
00418 // Default REBIND_POLICY settings
00419 #if !defined (TAO_HAS_REBIND_POLICY)
00420 #  if (TAO_HAS_CORBA_MESSAGING == 1) && \
00421       (TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0)
00422 #    define TAO_HAS_REBIND_POLICY 1
00423 #  else
00424 #    define TAO_HAS_REBIND_POLICY 0
00425 #  endif  /* TAO_HAS_CORBA_MESSAGING == 1 &&
00426              TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0 */
00427 #endif  /* !TAO_HAS_REBIND_POLICY */
00428 
00429 // To explicitly disable SYNC_SCOPE_POLICY support uncomment the following
00430 // #define TAO_HAS_SYNC_SCOPE_POLICY 0
00431 
00432 // Default SYNC_SCOPE_POLICY settings
00433 #if !defined (TAO_HAS_SYNC_SCOPE_POLICY)
00434 #  if (TAO_HAS_CORBA_MESSAGING == 1) && \
00435       (TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0)
00436 #    define TAO_HAS_SYNC_SCOPE_POLICY 1
00437 #  else
00438 #    define TAO_HAS_SYNC_SCOPE_POLICY 0
00439 #  endif  /* TAO_HAS_CORBA_MESSAGING == 1 &&
00440              TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0 */
00441 #endif  /* !TAO_HAS_SYNC_SCOPE_POLICY */
00442 
00443 // To explicitly disable PRIORITY_POLICIES support uncomment the following
00444 // #define TAO_HAS_PRIORITY_POLICIES 0
00445 
00446 // Default PRIORITY_POLICIES settings
00447 #if !defined (TAO_HAS_PRIORITY_POLICIES)
00448 #  if (TAO_HAS_CORBA_MESSAGING == 1) && \
00449       (TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0)
00450 #    define TAO_HAS_PRIORITY_POLICIES 1
00451 #  else
00452 #    define TAO_HAS_PRIORITY_POLICIES 0
00453 #  endif  /* TAO_HAS_CORBA_MESSAGING == 1 &&
00454              TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0 */
00455 #endif  /* !TAO_HAS_PRIORITY_POLICIES */
00456 
00457 // To explicitly disable REQUEST_START_TIME_POLICY support uncomment the following
00458 // #define TAO_HAS_REQUEST_START_TIME_POLICY 0
00459 
00460 // Default REQUEST_START_TIME_POLICY settings
00461 #if !defined (TAO_HAS_REQUEST_START_TIME_POLICY)
00462 #  if (TAO_HAS_CORBA_MESSAGING == 1) && \
00463       (TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0)
00464 #    define TAO_HAS_REQUEST_START_TIME_POLICY 1
00465 #  else
00466 #    define TAO_HAS_REQUEST_START_TIME_POLICY 0
00467 #  endif  /* TAO_HAS_CORBA_MESSAGING == 1 &&
00468              TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0 */
00469 #endif  /* !TAO_HAS_REQUEST_START_TIME_POLICY */
00470 
00471 // To explicitly disable REQUEST_END_TIME_POLICY support uncomment the following
00472 // #define TAO_HAS_REQUEST_END_TIME_POLICY 0
00473 
00474 // Default REQUEST_END_TIME_POLICY settings
00475 #if !defined (TAO_HAS_REQUEST_END_TIME_POLICY)
00476 #  if (TAO_HAS_CORBA_MESSAGING == 1) && \
00477       (TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0)
00478 #    define TAO_HAS_REQUEST_END_TIME_POLICY 1
00479 #  else
00480 #    define TAO_HAS_REQUEST_END_TIME_POLICY 0
00481 #  endif  /* TAO_HAS_CORBA_MESSAGING == 1 &&
00482              TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0 */
00483 #endif  /* !TAO_HAS_REQUEST_END_TIME_POLICY */
00484 
00485 // To explicitly disable REPLY_START_TIME_POLICY support uncomment the following
00486 // #define TAO_HAS_REPLY_START_TIME_POLICY 0
00487 
00488 // Default REPLY_START_TIME_POLICY settings
00489 #if !defined (TAO_HAS_REPLY_START_TIME_POLICY)
00490 #  if (TAO_HAS_CORBA_MESSAGING == 1) && \
00491       (TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0)
00492 #    define TAO_HAS_REPLY_START_TIME_POLICY 1
00493 #  else
00494 #    define TAO_HAS_REPLY_START_TIME_POLICY 0
00495 #  endif  /* TAO_HAS_CORBA_MESSAGING == 1 &&
00496              TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0 */
00497 #endif  /* !TAO_HAS_REPLY_START_TIME_POLICY */
00498 
00499 // To explicitly disable REPLY_END_TIME_POLICY support uncomment the following
00500 // #define TAO_HAS_REPLY_END_TIME_POLICY 0
00501 
00502 // Default REPLY_END_TIME_POLICY settings
00503 #if !defined (TAO_HAS_REPLY_END_TIME_POLICY)
00504 #  if (TAO_HAS_CORBA_MESSAGING == 1) && \
00505       (TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0)
00506 #    define TAO_HAS_REPLY_END_TIME_POLICY 1
00507 #  else
00508 #    define TAO_HAS_REPLY_END_TIME_POLICY 0
00509 #  endif  /* TAO_HAS_CORBA_MESSAGING == 1 &&
00510              TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0 */
00511 #endif  /* !TAO_HAS_REPLY_END_TIME_POLICY */
00512 
00513 // To explicitly disable RELATIVE_REQUEST_TIMEOUT_POLICY support uncomment the following
00514 // #define TAO_HAS_RELATIVE_REQUEST_TIMEOUT_POLICY 0
00515 
00516 // Default RELATIVE_REQUEST_TIMEOUT_POLICY settings
00517 #if !defined (TAO_HAS_RELATIVE_REQUEST_TIMEOUT_POLICY)
00518 #  if (TAO_HAS_CORBA_MESSAGING == 1) && \
00519       (TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0)
00520 #    define TAO_HAS_RELATIVE_REQUEST_TIMEOUT_POLICY 1
00521 #  else
00522 #    define TAO_HAS_RELATIVE_REQUEST_TIMEOUT_POLICY 0
00523 #  endif  /* TAO_HAS_CORBA_MESSAGING == 1 &&
00524              TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0 */
00525 #endif  /* !TAO_HAS_RELATIVE_REQUEST_TIMEOUT_POLICY */
00526 
00527 // To explicitly disable RELATIVE_ROUNDTRIP_TIMEOUT_POLICY support uncomment the following
00528 // #define TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY 0
00529 
00530 // Default RELATIVE_ROUNDTRIP_TIMEOUT_POLICY settings
00531 #if !defined (TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY)
00532 #  if (TAO_HAS_CORBA_MESSAGING == 1) && \
00533       (TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0)
00534 #    define TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY 1
00535 #  else
00536 #    define TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY 0
00537 #  endif  /* TAO_HAS_CORBA_MESSAGING == 1 &&
00538              TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0 */
00539 #endif  /* !TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY */
00540 
00541 // Default CONNECTION_TIMEOUT_POLICY settings. This is a proprietary
00542 // TAO policy.
00543 #if !defined (TAO_HAS_CONNECTION_TIMEOUT_POLICY)
00544 #  if (TAO_HAS_CORBA_MESSAGING == 1) && \
00545       (TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0)
00546 #    define TAO_HAS_CONNECTION_TIMEOUT_POLICY 1
00547 #  else
00548 #    define TAO_HAS_CONNECTION_TIMEOUT_POLICY 0
00549 #  endif  /* TAO_HAS_CORBA_MESSAGING == 1 &&
00550              TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0 */
00551 #endif  /* !TAO_HAS_CONNECTION_TIMEOUT_POLICY */
00552 
00553 
00554 // To explicitly disable ROUTING_POLICY support uncomment the following
00555 // #define TAO_HAS_ROUTING_POLICY 0
00556 
00557 // Default ROUTING_POLICY settings
00558 #if !defined (TAO_HAS_ROUTING_POLICY)
00559 #  if (TAO_HAS_CORBA_MESSAGING == 1) && \
00560       (TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0)
00561 #    define TAO_HAS_ROUTING_POLICY 1
00562 #  else
00563 #    define TAO_HAS_ROUTING_POLICY 0
00564 #  endif  /* TAO_HAS_CORBA_MESSAGING == 1 &&
00565              TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0 */
00566 #endif  /* !TAO_HAS_ROUTING_POLICY */
00567 
00568 // To explicitly disable MAX_HOPS_POLICY support uncomment the following
00569 // #define TAO_HAS_MAX_HOPS_POLICY 0
00570 
00571 // Default MAX_HOPS_POLICY settings
00572 #if !defined (TAO_HAS_MAX_HOPS_POLICY)
00573 #  if (TAO_HAS_CORBA_MESSAGING == 1) && \
00574       (TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0)
00575 #    define TAO_HAS_MAX_HOPS_POLICY 1
00576 #  else
00577 #    define TAO_HAS_MAX_HOPS_POLICY 0
00578 #  endif  /* TAO_HAS_CORBA_MESSAGING == 1 &&
00579              TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0 */
00580 #endif  /* !TAO_HAS_MAX_HOPS_POLICY */
00581 
00582 // To explicitly disable QUEUE_ORDER_POLICY support uncomment the following
00583 // #define TAO_HAS_QUEUE_ORDER_POLICY 0
00584 
00585 // Default QUEUE_ORDER_POLICY settings
00586 #if !defined (TAO_HAS_QUEUE_ORDER_POLICY)
00587 #  if (TAO_HAS_CORBA_MESSAGING == 1) && \
00588       (TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0)
00589 #    define TAO_HAS_QUEUE_ORDER_POLICY 1
00590 #  else
00591 #    define TAO_HAS_QUEUE_ORDER_POLICY 0
00592 #  endif  /* TAO_HAS_CORBA_MESSAGING == 1 &&
00593              TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0 */
00594 #endif  /* !TAO_HAS_QUEUE_ORDER_POLICY */
00595 
00596 // To explicitly disable BUFFERING_CONSTRAINT_POLICY support uncomment the following
00597 // #define TAO_HAS_BUFFERING_CONSTRAINT_POLICY 0
00598 
00599 // Default BUFFERING_CONSTRAINT_POLICY settings
00600 #if !defined (TAO_HAS_BUFFERING_CONSTRAINT_POLICY)
00601 #  if (TAO_HAS_CORBA_MESSAGING == 1) && \
00602       (TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0)
00603 #    define TAO_HAS_BUFFERING_CONSTRAINT_POLICY 1
00604 #  else
00605 #    define TAO_HAS_BUFFERING_CONSTRAINT_POLICY 0
00606 #  endif  /* TAO_HAS_CORBA_MESSAGING == 1 &&
00607              TAO_DISABLE_CORBA_MESSAGING_POLICIES == 0 */
00608 #endif  /* !TAO_HAS_BUFFERING_CONSTRAINT_POLICY */
00609 
00610 // AMI support is enabled by default, unless TAO is compiled with
00611 // Minimum CORBA.  In that case AMI is disabled by default.
00612 // If disabled you can also disable the CORBA MESSAGING support.
00613 // To explicitly enable AMI support uncomment the following
00614 // #define TAO_HAS_AMI 1
00615 // To explicitly disable AMI support uncomment the following
00616 // #define TAO_HAS_AMI 0
00617 
00618 // Default AMI settings
00619 #if !defined (TAO_HAS_AMI)
00620 #  if (TAO_HAS_MINIMUM_CORBA == 1)
00621 #    define TAO_HAS_AMI 0
00622 #  else
00623 #    define TAO_HAS_AMI 1
00624 #  endif  /* TAO_HAS_MINIMUM_CORBA */
00625 #else
00626 #  if (TAO_HAS_AMI == 1) && \
00627       (TAO_HAS_CORBA_MESSAGING == 0)
00628 #  error "tao/orbconf.h: You need CORBA_MESSAGING for AMI support"
00629 #  endif /* TAO_HAS_AMI == 1 &&
00630             TAO_HAS_CORBA_MESSAGING == 0 */
00631 #endif  /* !TAO_HAS_AMI */
00632 
00633 // We dont have AMI_POLLER support in TAO. Just prevent anyone from
00634 // using it.
00635 
00636 /***********************************************************/
00637 // All these are for future use. Commenting it..
00638 
00639 // #if !defined (TAO_HAS_AMI_POLLER)
00640 // #  if (TAO_HAS_AMI == 1)
00641 // #    define TAO_HAS_AMI_POLLER 1
00642 // #  else
00643 // #    define TAO_HAS_AMI_POLLER 0
00644 // #  endif  /* TAO_HAS_AMI == 1 */
00645 // #else
00646 // #  if (TAO_HAS_AMI_POLLER == 1) && (TAO_HAS_CORBA_MESSAGING == 0)
00647 // #  error "tao/orbconf.h: You need CORBA_MESSAGING for AMI support"
00648 // #  endif /* TAO_HAS_AMI_POLLER == 1 &&
00649 //             TAO_HAS_CORBA_MESSAGING == 0 */
00650 // #endif  /* !TAO_HAS_AMI_POLLER */
00651 /***********************************************************/
00652 
00653 // AMI_CALLBACK support is disabled by default if TAO is not
00654 // configured for AMI.  If TAO is configured for AMI, then
00655 // AMI_CALLBACK will be enabled by default. If enabled, it requires
00656 // CORBA_MESSAGING support.
00657 // To explicitly enable AMI_CALLBACK support uncomment the following
00658 // #define TAO_HAS_AMI_CALLBACK 1
00659 // To explicitly disable AMI_CALLBACK support uncomment the following
00660 // #define TAO_HAS_AMI_CALLBACK 0
00661 
00662 // Default AMI_CALLBACK settings
00663 #if !defined (TAO_HAS_AMI_CALLBACK)
00664 #  if (TAO_HAS_AMI == 1)
00665 #    define TAO_HAS_AMI_CALLBACK 1
00666 #  else
00667 #    define TAO_HAS_AMI_CALLBACK 0
00668 #  endif  /* TAO_HAS_AMI == 1 */
00669 #else
00670 #  if (TAO_HAS_AMI_CALLBACK == 1) && \
00671       (TAO_HAS_CORBA_MESSAGING == 0)
00672 #  error "tao/orbconf.h: You need CORBA_MESSAGING for AMI support"
00673 #  endif /* TAO_HAS_AMI_CALLBACK == 1 &&
00674             TAO_HAS_CORBA_MESSAGING == 0 */
00675 #endif  /* !TAO_HAS_AMI_CALLBACK */
00676 
00677 // Interceptors is supported by default if we are not building for
00678 // MinimumCORBA.
00679 #if !defined (TAO_HAS_INTERCEPTORS)
00680 # if (TAO_HAS_MINIMUM_CORBA == 1)
00681 #   define TAO_HAS_INTERCEPTORS 0
00682 # else
00683 #   define TAO_HAS_INTERCEPTORS 1
00684 # endif /* TAO_HAS_MINIMUM_CORBA */
00685 #endif
00686 
00687 // Proprietary FT interception-point support is disabled by default.
00688 #ifndef TAO_HAS_EXTENDED_FT_INTERCEPTORS
00689 # define TAO_HAS_EXTENDED_FT_INTERCEPTORS 0
00690 #endif  /* !TAO_HAS_EXTENEDED_FT_INTERCEPTORS */
00691 
00692 // This is needed for a check in the Policy Set; Should really not be
00693 // here though; We should find a different way to handle the check in
00694 // the Policy Set.
00695 #define TAO_RT_SERVER_PROTOCOL_POLICY_TYPE 42
00696 
00697 /// Policies that are accessed on the critical path and need to be
00698 /// incur minimal retrieval overhead.
00699 enum TAO_Cached_Policy_Type
00700 {
00701   TAO_CACHED_POLICY_UNCACHED = -1,
00702   TAO_CACHED_POLICY_PRIORITY_MODEL = 0,
00703   TAO_CACHED_POLICY_THREADPOOL,
00704   TAO_CACHED_POLICY_RT_SERVER_PROTOCOL,
00705   TAO_CACHED_POLICY_RT_CLIENT_PROTOCOL,
00706   TAO_CACHED_POLICY_RT_PRIVATE_CONNECTION,
00707   TAO_CACHED_POLICY_RT_PRIORITY_BANDED_CONNECTION,
00708 
00709   TAO_CACHED_POLICY_LIFESPAN,
00710   TAO_CACHED_POLICY_ID_UNIQUENESS,
00711   TAO_CACHED_POLICY_ID_ASSIGNMENT,
00712 
00713 #if (TAO_HAS_MINIMUM_POA == 0)
00714   TAO_CACHED_POLICY_THREAD,
00715   TAO_CACHED_POLICY_IMPLICIT_ACTIVATION,
00716   TAO_CACHED_POLICY_SERVANT_RETENTION,
00717   TAO_CACHED_POLICY_REQUEST_PROCESSING,
00718 #endif /* TAO_HAS_MINIMUM_POA == 0 */
00719 
00720 #if (TAO_HAS_SYNC_SCOPE_POLICY == 1)
00721   TAO_CACHED_POLICY_SYNC_SCOPE,
00722 #endif /* TAO_HAS_SYNC_SCOPE_POLICY == 1 */
00723 
00724 #if (TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY == 1)
00725   TAO_CACHED_POLICY_RELATIVE_ROUNDTRIP_TIMEOUT,
00726 #endif /* TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY == 1 */
00727 
00728 #if (TAO_HAS_BUFFERING_CONSTRAINT_POLICY == 1)
00729   TAO_CACHED_POLICY_BUFFERING_CONSTRAINT,
00730 #endif /* TAO_HAS_BUFFERING_CONSTRAINT_POLICY == 1 */
00731 
00732 #if (TAO_HAS_CONNECTION_TIMEOUT_POLICY == 1)
00733   TAO_CACHED_POLICY_CONNECTION_TIMEOUT,
00734 #endif /* TAO_HAS_CONNECTION_TIMEOUT_POLICY == 1 */
00735 
00736   TAO_CACHED_POLICY_BIDIRECTIONAL_GIOP,
00737 
00738   TAO_CACHED_POLICY_MAX_CACHED,
00739 
00740   TAO_CACHED_POLICY_ENDPOINT
00741 };
00742 
00743 // This enum provides a mask that represent the scope at which a given
00744 // policy can be applied
00745 enum TAO_Policy_Scope
00746 {
00747   TAO_POLICY_OBJECT_SCOPE   = 0x01,
00748   TAO_POLICY_THREAD_SCOPE   = 0x02,
00749   TAO_POLICY_ORB_SCOPE      = 0x04,
00750   TAO_POLICY_POA_SCOPE      = 0x08,
00751   TAO_POLICY_CLIENT_EXPOSED = 0x10
00752 };
00753 
00754 #define TAO_POLICY_DEFAULT_SCOPE \
00755   (static_cast<TAO_Policy_Scope> ( \
00756                    TAO_POLICY_OBJECT_SCOPE | \
00757                    TAO_POLICY_THREAD_SCOPE | \
00758                    TAO_POLICY_ORB_SCOPE | \
00759                    TAO_POLICY_POA_SCOPE))
00760 
00761 // Control the default version of GIOP used by TAO.
00762 // The ORB is always able to communicate with 1.0, 1.1 and 1.2
00763 // servers, and it creates 1.2 endpoints (and profiles).  If you need
00764 // to talk to old clients that only understand 1.0 or 1.1 (and do not
00765 // attempt to use 1.0 or 1.1 with 1.2 servers), then change the values
00766 // below.
00767 #if !defined (TAO_DEF_GIOP_MAJOR)
00768 #define TAO_DEF_GIOP_MAJOR 1
00769 #endif /* TAO_DEF_GIOP_MAJOR */
00770 #if !defined (TAO_DEF_GIOP_MINOR)
00771 #define TAO_DEF_GIOP_MINOR 2
00772 #endif /* TAO_DEF_GIOP_MINOR */
00773 
00774 // Control the minimum required IIOP version for IPv6 support
00775 #if defined (ACE_HAS_IPV6)
00776 # if !defined (TAO_MIN_IPV6_IIOP_MAJOR)
00777 #   define TAO_MIN_IPV6_IIOP_MAJOR 1
00778 # endif /* TAO_MIN_IPV6_IIOP_MAJOR */
00779 # if !defined (TAO_MIN_IPV6_IIOP_MINOR)
00780 #   define TAO_MIN_IPV6_IIOP_MINOR 2
00781 # endif /* TAO_MIN_IPV6_IIOP_MINOR */
00782 #endif /* ACE_HAS_IPV6 */
00783 
00784 // @@todo this needs to be deprecated. Use TAO_MAXBUFSIZE instead.
00785 #if !defined (TAO_CONNECTION_HANDLER_STACK_BUF_SIZE)
00786 #   define TAO_CONNECTION_HANDLER_STACK_BUF_SIZE 1024
00787 #endif /*TAO_CONNECTION_HANDLER_STACK_BUF_SIZE */
00788 
00789 // By default TAO generate the OMG standard profile components
00790 // (ORB_TYPE and CODE_SETS)
00791 #define TAO_STD_PROFILE_COMPONENTS
00792 
00793 #if !defined (TAO_DEFAULT_IOR_SIZE)
00794 // This is the default size of the buffer used for processing IORs.
00795 #define TAO_DEFAULT_IOR_SIZE 1024
00796 #endif /* TAO_DEFAULT_IOR_SIZE */
00797 
00798 #if !defined (TAO_DEFAULT_THREAD_PER_CONNECTION_TIMEOUT)
00799 // The default timeout value for the thread-per-connection model, in
00800 // milliseconds. The "INFINITE" value is magic and means blocking forever.
00801 #define TAO_DEFAULT_THREAD_PER_CONNECTION_TIMEOUT "5000"
00802 #endif /* TAO_DEFAULT_THREAD_PER_CONNECTION_TIMEOUT */
00803 
00804 /// By default we use Muxed Transports
00805 #if !defined (TAO_USE_MUXED_TRANSPORT_MUX_STRATEGY)
00806 #  define TAO_USE_MUXED_TRANSPORT_MUX_STRATEGY 1
00807 #endif /* TAO_USE_MUXED_TRANSPORT_MUX_STRATEGY */
00808 
00809 /// By default we use multicast lookup
00810 #if !defined(TAO_DEFAULT_INIT_REFERENCE_INITIALIZER)
00811 #  define TAO_DEFAULT_INIT_REFERENCE_INITIALIZER "mcast://:::"
00812 #endif /* TAO_DEFAULT_INIT_REFERENCE_INITIALIZER */
00813 
00814 /// By default we dont use lazy strategy
00815 #if !defined (TAO_USE_LAZY_RESOURCE_USAGE_STRATEGY)
00816 #  define TAO_USE_LAZY_RESOURCE_USAGE_STRATEGY 0
00817 #endif /* TAO_USE_LAZY_RESOURCE_USAGE_STRATEGY*/
00818 
00819 #if !defined (TAO_USE_LOCAL_MEMORY_POOL)
00820 #  define TAO_USE_LOCAL_MEMORY_POOL 1
00821 #endif /* TAO_USE_LOCAL_MEMORY_POOL */
00822 
00823 #if !defined (TAO_USE_OUTPUT_CDR_MMAP_MEMORY_POOL)
00824 #  define TAO_USE_OUTPUT_CDR_MMAP_MEMORY_POOL 0
00825 #endif /* TAO_USE_LOCAL_MEMORY_POOL */
00826 
00827 
00828 TAO_END_VERSIONED_NAMESPACE_DECL
00829 
00830 #include /**/ "ace/post.h"
00831 
00832 #endif  /* TAO_ORBCONF_H */

Generated on Thu Nov 9 11:54:19 2006 for TAO by doxygen 1.3.6