summaryrefslogtreecommitdiff
path: root/TAO/tao/Environment.cpp
diff options
context:
space:
mode:
authornanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-02-11 21:35:33 +0000
committernanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-02-11 21:35:33 +0000
commitaca1395d51205e5f84a73501f156fc679b652783 (patch)
treeab141091867183d4f3dfce7d7986eceb7089d9ac /TAO/tao/Environment.cpp
parent6b53d27ff8179672c7a46f616271b56d960ceadd (diff)
downloadATCD-aca1395d51205e5f84a73501f156fc679b652783.tar.gz
Flick changes
Diffstat (limited to 'TAO/tao/Environment.cpp')
-rw-r--r--TAO/tao/Environment.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/TAO/tao/Environment.cpp b/TAO/tao/Environment.cpp
index 6bc3b0fdadd..677345ae6ad 100644
--- a/TAO/tao/Environment.cpp
+++ b/TAO/tao/Environment.cpp
@@ -37,7 +37,12 @@ CORBA_Environment::CORBA_Environment (TAO_ORB_Core* orb_core)
CORBA_Environment::CORBA_Environment (void)
: exception_ (0),
+#if !defined (TAO_USES_FLICK)
previous_ (0)
+#else
+ previous_ (0),
+ _major(CORBA::NO_EXCEPTION)
+#endif /* TAO_USES_FLICK */
{
// TAO_ORB_Core_instance ()->default_environment (this);
}
@@ -56,7 +61,7 @@ CORBA_Environment::CORBA_Environment (TAO_ORB_Core* orb_core)
{
orb_core->default_environment (this);
}
-#endif
+#endif
CORBA_Environment&
CORBA_Environment::operator= (const CORBA_Environment& rhs)
@@ -91,6 +96,9 @@ CORBA_Environment::exception (CORBA_Exception *ex)
if (this->exception_ != 0)
{
this->exception_->_incr_refcnt ();
+#if defined (TAO_USES_FLICK)
+ this->_major = this->exception_type();
+#endif /* TAO_USES_FLICK */
#if defined (TAO_HAS_EXCEPTIONS)
this->exception_->_raise ();
#endif /* TAO_HAS_EXCEPTIONS */
@@ -124,7 +132,7 @@ CORBA_Environment::default_environment ()
// the Environment argument) because then the user is supposed to
// clear the environment before calling into the ORB.
//
- TAO_ORB_Core_instance ()->default_environment ()->clear ();
+ TAO_ORB_Core_instance ()->default_environment ()->clear ();
#endif /* TAO_HAS_EXCEPTIONS */
return *TAO_ORB_Core_instance ()->default_environment ();
@@ -159,7 +167,7 @@ CORBA::Environment::exception_type (void) const
typecode_extra, sizeof typecode_extra - 1) != 0)
|| ACE_OS::strncmp (id, poa_prefix, sizeof poa_prefix - 1) == 0)
return CORBA::SYSTEM_EXCEPTION;
-
+
return CORBA::USER_EXCEPTION;
}
@@ -182,12 +190,12 @@ CORBA::Environment::print_exception (const char *info,
if (this->exception_)
{
const char *id = this->exception_->_id ();
-
+
ACE_DEBUG ((LM_ERROR, "(%P|%t) EXCEPTION, %s\n", info));
-
+
// @@ get rid of this logic, and rely on some member function on
// Exception to say if it's user or system exception.
-
+
if (this->exception_type () == CORBA::SYSTEM_EXCEPTION)
{
CORBA::SystemException *x2 =