summaryrefslogtreecommitdiff
path: root/TAO/tao/PI/PICurrent_Impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/PI/PICurrent_Impl.h')
-rw-r--r--TAO/tao/PI/PICurrent_Impl.h133
1 files changed, 0 insertions, 133 deletions
diff --git a/TAO/tao/PI/PICurrent_Impl.h b/TAO/tao/PI/PICurrent_Impl.h
deleted file mode 100644
index 11876b31acb..00000000000
--- a/TAO/tao/PI/PICurrent_Impl.h
+++ /dev/null
@@ -1,133 +0,0 @@
-// -*- C++ -*-
-
-// ===================================================================
-/**
- * @file PICurrent_Impl.h
- *
- * $Id$
- *
- * @author Ossama Othman <ossama@dre.vanderbilt.edu>
- */
-// ===================================================================
-
-#ifndef TAO_PI_CURRENT_IMPL_H
-#define TAO_PI_CURRENT_IMPL_H
-
-#include /**/ "ace/pre.h"
-
-#include "tao/PI/pi_export.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "tao/orbconf.h"
-
-#if TAO_HAS_INTERCEPTORS == 1
-
-#include "tao/PI/PICurrentC.h"
-#include "tao/AnyTypeCode/Any.h"
-#include "ace/Array_Base.h"
-
-
-TAO_BEGIN_VERSIONED_NAMESPACE_DECL
-
-/// Forward declarations.
-class TAO_ORB_Core;
-
-namespace TAO
-{
- /**
- * @class PICurrent_Impl
- *
- * @brief Implementation of the PortableInterceptor::Current
- * interface.
- *
- * This class implements both the "request scope current" and the
- * "thread scope current" objects as required by Portable
- * Interceptors.
- */
- class TAO_PI_Export PICurrent_Impl
- {
- public:
- /// Constructor.
- PICurrent_Impl (void);
-
- /// Destructor.
- ~PICurrent_Impl (void);
-
- /// Retrieve information stored in the slot table at the given
- /// SlotId.
- CORBA::Any *get_slot (PortableInterceptor::SlotId identifier
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableInterceptor::InvalidSlot));
-
- /// Set information in the slot table at the given SlotId.
- void set_slot (PortableInterceptor::SlotId identifier,
- const CORBA::Any & data
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableInterceptor::InvalidSlot));
-
- /// Logically/Lazy (shallow) copy the given object's slot table.
- void take_lazy_copy (PICurrent_Impl *p);
-
- private:
- /// Force this object to convert from a logical (referenced)
- /// copy, to a physical (or deep, actual) copy.
- void convert_from_lazy_to_real_copy ();
-
- /// Set the callback PICurrent_Impl object that will be notified
- /// of this object's impending destruction or change.
- /// Set to 0 to clear. (NOTE Only handles a SINGLE object at
- /// at time, does NOT warn previous callback that this has
- /// been changed.)
- void set_callback_for_impending_change (PICurrent_Impl *p);
-
- /// Typedef for the underyling "slot table."
- typedef ACE_Array_Base<CORBA::Any> Table;
-
- /// Return a reference to the slot table currently associated
- /// with this PICurrent_Impl object.
- /**
- * @return Logically copied slot table if available, otherwise
- * underlying slot table.
- */
- Table & current_slot_table ();
-
- /// Prevent copying through the copy constructor and the assignment
- /// operator.
- //@{
- PICurrent_Impl (const PICurrent_Impl &);
- void operator= (const PICurrent_Impl &);
- //@}
-
- private:
- /// Array of CORBA::Anys that is the underlying "slot table."
- Table slot_table_;
-
- /// Access to logical copy from a PICurrent_Impl in another
- /// scope, i.e. either the request scope or the thread scope.
- PICurrent_Impl *lazy_copy_;
-
- /// PICurrent_Impl object that will be notified of this object's
- /// impending destruction or change to its slot_table_. This is
- /// the PICurrent_Impl that has access to our slot_table_ via its
- /// lazy_copy_ pointer. As necessary this allows that object's
- /// convert_from_lazy_to_real_copy() to be called.
- PICurrent_Impl *impending_change_callback_;
- };
-}
-
-TAO_END_VERSIONED_NAMESPACE_DECL
-
-#if defined (__ACE_INLINE__)
-# include "tao/PI/PICurrent_Impl.inl"
-#endif /* __ACE_INLINE__ */
-
-#endif /* TAO_HAS_INTERCEPTORS == 1 */
-
-#include /**/ "ace/post.h"
-
-#endif /* TAO_PI_CURRENT_IMPL_H */