Public Member Functions | Static Public Member Functions | Private Attributes

TAO_Sync_Scope_Policy Class Reference

#include <Messaging_Policy_i.h>

Inheritance diagram for TAO_Sync_Scope_Policy:
Inheritance graph
[legend]
Collaboration diagram for TAO_Sync_Scope_Policy:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TAO_Sync_Scope_Policy (Messaging::SyncScope synchronization)
 Constructor.
 TAO_Sync_Scope_Policy (const TAO_Sync_Scope_Policy &rhs)
 Copy constructor.
virtual TAO_Sync_Scope_Policyclone (void) const
 Returns a copy of <this>.
virtual Messaging::SyncScope synchronization (void)
void get_synchronization (Messaging::SyncScope &synchronization) const
virtual CORBA::PolicyType policy_type (void)
virtual CORBA::Policy_ptr copy (void)
virtual void destroy (void)
virtual TAO_Cached_Policy_Type _tao_cached_type (void) const

Static Public Member Functions

static void hook (TAO_ORB_Core *orb_core, TAO_Stub *stub, bool &has_synchronization, Messaging::SyncScope &scope)
static CORBA::Policy_ptr create (const CORBA::Any &val)

Private Attributes

Messaging::SyncScope synchronization_
 The attribute.

Detailed Description

Definition at line 98 of file Messaging_Policy_i.h.


Constructor & Destructor Documentation

TAO_Sync_Scope_Policy::TAO_Sync_Scope_Policy ( Messaging::SyncScope  synchronization  ) 

Constructor.

Definition at line 190 of file Messaging_Policy_i.cpp.

  : ::CORBA::Object ()
  , ::CORBA::Policy ()
  , Messaging::SyncScopePolicy ()
  , ::CORBA::LocalObject ()
  , synchronization_ (synchronization)
{
}

TAO_Sync_Scope_Policy::TAO_Sync_Scope_Policy ( const TAO_Sync_Scope_Policy rhs  ) 

Copy constructor.

Definition at line 199 of file Messaging_Policy_i.cpp.

  : ::CORBA::Object ()
  , ::CORBA::Policy ()
  , Messaging::SyncScopePolicy ()
  , ::CORBA::LocalObject ()
  , synchronization_ (rhs.synchronization_)
{
}


Member Function Documentation

TAO_Cached_Policy_Type TAO_Sync_Scope_Policy::_tao_cached_type ( void   )  const [virtual]

Definition at line 308 of file Messaging_Policy_i.cpp.

{
  return TAO_CACHED_POLICY_SYNC_SCOPE;
}

TAO_Sync_Scope_Policy * TAO_Sync_Scope_Policy::clone ( void   )  const [virtual]

Returns a copy of <this>.

Definition at line 277 of file Messaging_Policy_i.cpp.

{
  TAO_Sync_Scope_Policy *copy = 0;
  ACE_NEW_RETURN (copy,
                  TAO_Sync_Scope_Policy (*this),
                  0);
  return copy;
}

CORBA::Policy_ptr TAO_Sync_Scope_Policy::copy ( void   )  [virtual]

Definition at line 293 of file Messaging_Policy_i.cpp.

{
  TAO_Sync_Scope_Policy *servant = 0;
  ACE_NEW_THROW_EX (servant,
                    TAO_Sync_Scope_Policy (*this),
                    CORBA::NO_MEMORY ());

  return servant;
}

CORBA::Policy_ptr TAO_Sync_Scope_Policy::create ( const CORBA::Any val  )  [static]

Helper method for the implementation of CORBA::ORB::create_policy.

Definition at line 262 of file Messaging_Policy_i.cpp.

{
  Messaging::SyncScope synchronization;
  if ((val >>= synchronization) == 0)
    throw ::CORBA::PolicyError (CORBA::BAD_POLICY_VALUE);

  TAO_Sync_Scope_Policy *servant = 0;
  ACE_NEW_THROW_EX (servant,
                    TAO_Sync_Scope_Policy (synchronization),
                    CORBA::NO_MEMORY ());

  return servant;
}

void TAO_Sync_Scope_Policy::destroy ( void   )  [virtual]

Definition at line 304 of file Messaging_Policy_i.cpp.

{
}

void TAO_Sync_Scope_Policy::get_synchronization ( Messaging::SyncScope synchronization  )  const
void TAO_Sync_Scope_Policy::hook ( TAO_ORB_Core orb_core,
TAO_Stub stub,
bool &  has_synchronization,
Messaging::SyncScope scope 
) [static]

Implement the Sync_Scope hook, this is set in the ORB_Core at initialization time.

Definition at line 215 of file Messaging_Policy_i.cpp.

{
  try
    {
      CORBA::Policy_var policy = CORBA::Policy::_nil ();

      if (stub == 0)
        {
          policy =
            orb_core->get_cached_policy_including_current (
              TAO_CACHED_POLICY_SYNC_SCOPE);
        }
      else
        {
          policy =
            stub->get_cached_policy (TAO_CACHED_POLICY_SYNC_SCOPE);
        }

      if (CORBA::is_nil (policy.in ()))
        {
          has_synchronization = true;
          scope = Messaging::SYNC_WITH_TRANSPORT;
          return;
        }
      Messaging::SyncScopePolicy_var p =
        Messaging::SyncScopePolicy::_narrow (policy.in ());

      if (CORBA::is_nil (p.in ()))
        throw ::CORBA::INTERNAL (
                CORBA::SystemException::_tao_minor_code (
                  TAO_POLICY_NARROW_CODE,
                  0),
                CORBA::COMPLETED_NO);

      has_synchronization = true;
      scope = p->synchronization ();
    }
  catch (const ::CORBA::Exception&)
    {
      // Ignore all exceptions...
    }
}

CORBA::PolicyType TAO_Sync_Scope_Policy::policy_type ( void   )  [virtual]

Definition at line 209 of file Messaging_Policy_i.cpp.

{
  return Messaging::SYNC_SCOPE_POLICY_TYPE;
}

Messaging::SyncScope TAO_Sync_Scope_Policy::synchronization ( void   )  [virtual]

Definition at line 287 of file Messaging_Policy_i.cpp.

{
  return this->synchronization_;
}


Member Data Documentation

The attribute.

Definition at line 141 of file Messaging_Policy_i.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines