/usr/include/tao/IORInterceptor/IORInfo.h is in libtao-dev 6.0.1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | // -*- C++ -*-
// ===================================================================
/**
* @file IORInfo.h
*
* $Id: IORInfo.h 81429 2008-04-24 18:49:54Z johnnyw $
*
* @author Ossama Othman <ossama@uci.edu>
*/
// ===================================================================
#ifndef TAO_IOR_INFO_H
#define TAO_IOR_INFO_H
#include /**/ "ace/pre.h"
#include "tao/IORInterceptor/IORInfoC.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "tao/LocalObject.h"
// This is to remove "inherits via dominance" warnings from MSVC.
// MSVC is being a little too paranoid.
#if defined(_MSC_VER)
#pragma warning(push)
#pragma warning(disable:4250)
#endif /* _MSC_VER */
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
/// Forward declarations.
class TAO_Root_POA;
/**
* @class TAO_IORInfo
*
* @brief This class exposes an interface that allows IORInterceptors add
* tagged components to IORs.
*/
class TAO_IORInfo
: public virtual PortableInterceptor::IORInfo,
public virtual ::CORBA::LocalObject
{
public:
/// Constructor.
TAO_IORInfo (TAO_Root_POA *poa);
/**
* @name PortableInterceptor::IORInfo Methods
*
* Methods exposed by the PortableInterceptor::IORInfo interface.
*/
//@{
/// Return the policy matching the given policy type that is in
/// effect for the object whose IOR is being created.
virtual CORBA::Policy_ptr get_effective_policy (CORBA::PolicyType type);
/// Add the given tagged component to all profiles.
virtual void add_ior_component (const IOP::TaggedComponent & component);
/// Add the given tagged component to all profiles matching the given
/// ProfileId.
virtual void add_ior_component_to_profile (
const IOP::TaggedComponent & component,
IOP::ProfileId profile_id);
virtual char * manager_id (void);
virtual PortableInterceptor::AdapterState state (void);
virtual PortableInterceptor::ObjectReferenceTemplate *adapter_template (void);
virtual PortableInterceptor::ObjectReferenceFactory *current_factory (void);
virtual void current_factory (
PortableInterceptor::ObjectReferenceFactory * current_factory);
//@}
/// Invalidate this IORInfo instance.
/**
* Once the IOR interception points have been invoked, this IORInfo
* instance is no longer valid.
*/
void invalidate (void);
/// Inform the this IORInfo object that the
/// IORInterceptor::components_established() interception point has
/// been called.
/**
* This method is used to inform the IORInfo object when the
* add_ior_component() and add_ior_component_to_profile() methods
* are invalid. They are only valid in the
* IORInterceptor::establish_components() interception point.
*/
void components_established (void);
protected:
/// Protected destructor to enforce proper memory managment through
/// the reference counting mechanism.
~TAO_IORInfo (void);
/// Check if this IORInfo instance is valid.
/**
* Once all IORInterceptor interception points have been called,
* this IORInfo object is no longer valid. Throw an exception in
* that case.
*/
void check_validity (void);
private:
/// Prevent copying through the copy constructor and the assignment
/// operator.
TAO_IORInfo (const TAO_IORInfo &);
void operator= (const TAO_IORInfo &);
private:
/// Pointer to POA
TAO_Root_POA * poa_;
/// True if the IORInterceptor::components_established()
/// interception point was called. False otherwise.
/**
* This flag is used to prevent the add_ior_component() and
* add_ior_component_to_profile() methods from being incorrectly
* called after the IORInterceptor::establish_components()
* interception point has been called.
*/
CORBA::Boolean components_established_;
};
TAO_END_VERSIONED_NAMESPACE_DECL
#if defined (__ACE_INLINE__)
# include "tao/IORInterceptor/IORInfo.inl"
#endif /* __ACE_INLINE__ */
#if defined(_MSC_VER)
#pragma warning(pop)
#endif /* _MSC_VER */
#include /**/ "ace/post.h"
#endif /* TAO_IOR_INFO_H */
|