/usr/include/tao/TSS_Resources.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 | // -*- C++ -*-
// ===================================================================
/**
* @file TSS_Resources.h
*
* $Id: TSS_Resources.h 82826 2008-09-25 08:12:53Z smcqueen $
*
* @author DOC Group - ISIS at Vanderbilt University
* @author DOC Center - Washington University at St. Louis
* @author DOC Laboratory - University of California at Irvine
*/
// ===================================================================
#ifndef TAO_TAO_TSS_RESOURCES_H
#define TAO_TAO_TSS_RESOURCES_H
#include /**/ "ace/pre.h"
#include /**/ "tao/TAO_Export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "tao/Environment.h"
#include "tao/Policy_Current_Impl.h"
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
// Forward declarations
namespace TAO
{
class GUIResource_Factory;
class Transport_Selection_Guard;
}
/**
* @class TAO_TSS_Resources
*
* @brief The TSS resoures shared by all the ORBs
*
* This class is used by TAO to store the resources that are
* thread-specific but are *not* ORB specific. The members are public
* because only the ORB Core is expected to access them.
*/
class TAO_Export TAO_TSS_Resources
{
public:
/// Constructor
TAO_TSS_Resources (void);
/// Destructor
~TAO_TSS_Resources (void);
/// Return a singleton instance of this class.
static TAO_TSS_Resources * instance (void);
private:
/// Do not copy TSS resources
//@{
TAO_TSS_Resources (const TAO_TSS_Resources&);
void operator= (const TAO_TSS_Resources&);
//@}
public:
/**
* Points to structure containing state for the current upcall
* context in this thread. Note that it does not come from the
* resource factory because it must always be held in
* thread-specific storage. For now, since TAO_ORB_Core instances
* are TSS singletons, we simply ride along and don't allocate
* occupy another TSS slot since there are some platforms where
* those are precious commodities (e.g., NT).
*/
void * poa_current_impl_;
void * rtscheduler_current_impl_;
void * rtscheduler_previous_current_impl_;
/// The CORBA priority of the thread if set via RTCORBA::Current.
/// RTCORBA::minPriority - 1 otherwise.
CORBA::Short rtcorba_current_priority_;
/// The default environment for the thread.
CORBA::Environment * default_environment_;
/// If the user (or library) provides no environment the ORB_Core
/// still holds one.
CORBA::Environment tss_environment_;
#if (TAO_HAS_CORBA_MESSAGING == 1)
/// The initial PolicyCurrent for this thread. Should be a TSS
/// resource.
TAO_Policy_Current_Impl initial_policy_current_;
/// This pointer is reset by the POA on each upcall.
TAO_Policy_Current_Impl * policy_current_;
#endif /* TAO_HAS_CORBA_MESSAGING == 1 */
/// A factory for creating GUIReactors.
/**
* @c GUIResource_Factory has to be stored in TSS, as GUIReactors
* are operational only in within the context of GUI event loops.
*/
TAO::GUIResource_Factory * gui_resource_factory_;
#if TAO_HAS_TRANSPORT_CURRENT == 1
/// A TSS for a pointer to the current transport guard (see
/// below). The guard keeps track of the Transport, if any that has
/// been selected for use by the current thread, in the context of
/// an upcall or client-side interceptor.
TAO::Transport_Selection_Guard* tsg_;
#endif /* TAO_HAS_TRANSPORT_CURRENT == 1 */
};
TAO_END_VERSIONED_NAMESPACE_DECL
#include /**/ "ace/post.h"
#endif /* TAO_TSS_RESOURCES_H */
|