summaryrefslogtreecommitdiff
path: root/TAO/CIAO/tests/RTCCM/DiffServ/Sender/Sender_exec.h
blob: 47a6f52de51bf7d268bbd4a11ccaeac9d05cb742 (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
// $Id$

#include "SenderEC.h"
#include "Sender_exec_export.h"
#include "tao/LocalObject.h"

class Custom_Network_Priority_Mapping;

namespace SenderImpl
{
  class SENDER_EXEC_Export SenderExec_i :
    public virtual SenderExec,
    public virtual TAO_Local_RefCounted_Object
  {
  public:

    SenderExec_i (void);

    void start (CORBA::ULong iterations,
                CORBA::Short priority)
      throw (CORBA::SystemException);

    void shutdown (void)
      throw (CORBA::SystemException);

    void set_session_context (Components::SessionContext_ptr ctx)
      throw (CORBA::SystemException,
             Components::CCMException);

    void ccm_activate (void)
      throw (CORBA::SystemException,
             Components::CCMException);

    void ccm_passivate (void)
      throw (CORBA::SystemException,
             Components::CCMException);

    void ccm_remove (void)
      throw (CORBA::SystemException,
             Components::CCMException);

    void ciao_preactivate (void)
      throw (CORBA::SystemException,
             Components::CCMException);

    void ciao_postactivate (void)
      throw (CORBA::SystemException,
             Components::CCMException);

  protected:

    SenderExec_Context_var context_;

    CORBA::ORB_var orb_;

    Custom_Network_Priority_Mapping *custom_network_priority_mapping_;

    CORBA::PolicyManager_var policy_manager_;

    CORBA::PolicyCurrent_var policy_current_;

    CORBA::PolicyList normal_policy_list_;

    CORBA::PolicyList diffserv_policy_list_;

    enum Priority_Level
      {
        OBJECT,
        THREAD,
        ORB
      };

    void change_network_priority (int enable_network_priority,
                                  Priority_Level level,
                                  DiffServ::test_var &test);

    void toggle (int &i);

  };

  class SENDER_EXEC_Export SenderHomeExec_i :
    public virtual SenderHomeExec,
    public virtual TAO_Local_RefCounted_Object
  {
  public:

    ::Components::EnterpriseComponent_ptr create (void)
      throw (CORBA::SystemException,
             Components::CCMException);
  };

}

extern "C" SENDER_EXEC_Export ::Components::HomeExecutorBase_ptr
createSenderHome_Impl (void);