00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef TAO_POA_CACHED_POLICIES_H
00016 #define TAO_POA_CACHED_POLICIES_H
00017 #include "ace/pre.h"
00018
00019 #include "tao/PortableServer/portableserver_export.h"
00020
00021 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00022 # pragma once
00023 #endif
00024
00025 #include "tao/PortableServer/ThreadPolicyC.h"
00026 #include "tao/PortableServer/LifespanPolicyC.h"
00027 #include "tao/PortableServer/IdUniquenessPolicyC.h"
00028 #include "tao/PortableServer/IdAssignmentPolicyC.h"
00029 #include "tao/PortableServer/ImplicitActivationPolicyC.h"
00030 #include "tao/PortableServer/ServantRetentionPolicyC.h"
00031 #include "tao/PortableServer/RequestProcessingPolicyC.h"
00032
00033 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00034
00035
00036 class TAO_POA_Policy_Set;
00037
00038 namespace TAO
00039 {
00040 namespace Portable_Server
00041 {
00042 class TAO_PortableServer_Export Cached_Policies
00043 {
00044 public:
00045
00046 enum PriorityModel
00047 {
00048 CLIENT_PROPAGATED,
00049 SERVER_DECLARED,
00050 NOT_SPECIFIED
00051 };
00052
00053 Cached_Policies ();
00054
00055 ~Cached_Policies (void);
00056
00057
00058 void update (TAO_POA_Policy_Set &policy_set
00059 ACE_ENV_ARG_DECL);
00060
00061
00062
00063
00064
00065 ::PortableServer::ThreadPolicyValue thread (void) const;
00066 ::PortableServer::LifespanPolicyValue lifespan (void) const;
00067 ::PortableServer::IdUniquenessPolicyValue id_uniqueness (void) const;
00068 ::PortableServer::IdAssignmentPolicyValue id_assignment (void) const;
00069 ::PortableServer::ImplicitActivationPolicyValue implicit_activation (void) const;
00070 ::PortableServer::ServantRetentionPolicyValue servant_retention (void) const;
00071 ::PortableServer::RequestProcessingPolicyValue request_processing (void) const;
00072 PriorityModel priority_model (void) const;
00073 CORBA::Short server_priority (void) const;
00074
00075 void priority_model (PriorityModel priority_model);
00076 void server_priority (CORBA::Short priority);
00077 void implicit_activation (::PortableServer::ImplicitActivationPolicyValue value);
00078
00079
00080 protected:
00081
00082
00083 void update_policy (const CORBA::Policy_ptr policy
00084 ACE_ENV_ARG_DECL);
00085
00086 ::PortableServer::ThreadPolicyValue thread_;
00087
00088 ::PortableServer::LifespanPolicyValue lifespan_;
00089
00090 ::PortableServer::IdUniquenessPolicyValue id_uniqueness_;
00091
00092 ::PortableServer::IdAssignmentPolicyValue id_assignment_;
00093
00094 ::PortableServer::ImplicitActivationPolicyValue implicit_activation_;
00095
00096 ::PortableServer::ServantRetentionPolicyValue servant_retention_;
00097
00098 ::PortableServer::RequestProcessingPolicyValue request_processing_;
00099
00100 PriorityModel priority_model_;
00101
00102 CORBA::Short server_priority_;
00103 };
00104 }
00105 }
00106
00107 TAO_END_VERSIONED_NAMESPACE_DECL
00108
00109 #if defined (__ACE_INLINE__)
00110 # include "tao/PortableServer/POA_Cached_Policies.i"
00111 #endif
00112
00113 #include "ace/post.h"
00114 #endif