summaryrefslogtreecommitdiff
path: root/TAO/tao/PolicyS.h
blob: 0cd5b473d5ffb068d8f2525b231577d155179963 (plain)
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
// $Id$

/* -*- C++ -*- */

// ******  Code generated by the The ACE ORB (TAO) IDL Compiler *******
// TAO ORB and the TAO IDL Compiler have been developed by Washington
// University Computer Science's Distributed Object Computing Group.
//
// Information on TAO is available at
//                 http://www.cs.wustl.edu/~schmidt/TAO.html

#if !defined (_TAO_IDL_POLICYS_H_)
#define _TAO_IDL_POLICYS_H_

#include "PolicyC.h"

class TAO_Export  POA_CORBA
{
public:
  class Policy;
  typedef Policy *Policy_ptr;
  class TAO_Export  Policy :  public virtual PortableServer::ServantBase
  {
  protected:
    Policy (void);
  public:
    virtual ~Policy (void);
    virtual CORBA::Boolean _is_a (
        const char* logical_type_id,
        CORBA::Environment &_tao_environment);
    virtual void* _downcast (
        const char* logical_type_id
      );
    virtual CORBA::PolicyType policy_type (
        CORBA::Environment &_tao_environment
       ) = 0;
    static void _get_policy_type_skel (
        CORBA::ServerRequest &_tao_req,
        void *_tao_obj,
        void *_tao_context,
        CORBA::Environment &_tao_env
      );

    virtual CORBA::Policy_ptr copy (
        CORBA::Environment &_tao_environment
       ) = 0;
    static void copy_skel (
        CORBA::ServerRequest &_tao_req,
        void *_tao_obj,
        void *_tao_context,
        CORBA::Environment &_tao_env
      );

    virtual void destroy (
        CORBA::Environment &_tao_environment
       ) = 0;
    static void destroy_skel (
        CORBA::ServerRequest &_tao_req,
        void *_tao_obj,
        void *_tao_context,
        CORBA::Environment &_tao_env
      );

    static void _is_a_skel (CORBA::ServerRequest &req, void *obj, void *context, CORBA::Environment &_tao_enviroment);

    virtual void _dispatch (CORBA::ServerRequest &_tao_req, void *_tao_context, CORBA::Environment &_tao_env);

    CORBA::Policy *_this (CORBA::Environment &_tao_environment);
    virtual const char* _interface_repository_id (void) const;
  };


#if !defined (_CORBA_POLICY___COLLOCATED_SH_)
#define _CORBA_POLICY___COLLOCATED_SH_

  class TAO_Export  _tao_collocated_Policy     : public virtual CORBA_Policy
  {
  public:
    _tao_collocated_Policy (
        Policy_ptr  servant,
        STUB_Object *stub
      );
    Policy_ptr _get_servant (void) const;
    virtual CORBA::Boolean _is_a (
        const char *logical_type_id,
        CORBA::Environment &_tao_environment
      );
    virtual CORBA::PolicyType policy_type (
        CORBA::Environment &_tao_environment
       );
    virtual CORBA::Policy_ptr copy (
        CORBA::Environment &_tao_environment
       );
    virtual void destroy (
        CORBA::Environment &_tao_environment
       );

  private:
    Policy_ptr servant_;
  };


#endif /* end #if !defined */


};


#if defined (__ACE_INLINE__)
#include "PolicyS.i"
#endif /* defined INLINE */


#endif /* if !defined */