summaryrefslogtreecommitdiff
path: root/flat/CIAO/examples/DevGuideExamples/Messenger/Messenger_exec_i.h
blob: 0cf2ffb8411c2fb1a15f4c0e2c113f95384dbce2 (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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
// $Id$
//
// ****              Code generated by the                 ****
// ****  Component Integrated ACE ORB (CIAO) CIDL Compiler ****
// CIAO has been developed by:
//       Center for Distributed Object Computing
//       Washington University
//       St. Louis, MO
//       USA
//       http://www.cs.wustl.edu/~schmidt/doc-center.html
// CIDL Compiler has been developed by:
//       Institute for Software Integrated Systems
//       Vanderbilt University
//       Nashville, TN
//       USA
//       http://www.isis.vanderbilt.edu/
//
// Information about CIAO is available at:
//    http://www.dre.vanderbilt.edu/CIAO

#ifndef CIAO_MESSENGER_EXEC_H
#define CIAO_MESSENGER_EXEC_H

#include /**/ "ace/pre.h"

#include "MessengerEC.h"

#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */

#include "Messenger_exec_export.h"
#include "tao/LocalObject.h"

// MY CODE
#include <string>
#include "ace/Task.h"

namespace CIDL_Messenger_Impl
{
  class Runnable_exec_i;
  class Publication_exec_i;
  class History_exec_i;

  class MESSENGER_EXEC_Export Messenger_exec_i
    : public virtual Messenger_Exec,
      public virtual ::CORBA::LocalObject,
      public virtual ACE_Task_Base
  {
    public:
    Messenger_exec_i (void);
    virtual ~Messenger_exec_i (void);

    // Supported or inherited operations.

    // Attribute operations.

    virtual char *
    subject ();

    virtual void
    subject (const char * subject);

    // Port operations.

    virtual ::CCM_Runnable_ptr
    get_control ();

    virtual ::CCM_Publication_ptr
    get_content ();

    virtual ::CCM_History_ptr
    get_message_history ();

    // Operations from Components::SessionComponent

    virtual void
    set_session_context (
      ::Components::SessionContext_ptr ctx);
    
    virtual void configuration_complete (void);

    virtual void ccm_activate ();

    virtual void ccm_passivate ();

    virtual void ccm_remove ();

    // MY CODE
    virtual int svc();

    private:
    ::CCM_Messenger_Context_var context_;

    // MY CODE
    Runnable_exec_i* control_;
    Publication_exec_i* content_;
    History_exec_i* history_;

    std::string subject_;
    const std::string user_;
  };

  extern "C" MESSENGER_EXEC_Export ::Components::EnterpriseComponent_ptr
  create_Messenger_Impl (void);

  class MESSENGER_EXEC_Export MessengerHome_exec_i
    : public virtual MessengerHome_Exec,
      public virtual ::CORBA::LocalObject
  {
    public:
    MessengerHome_exec_i (void);
    virtual ~MessengerHome_exec_i (void);

    // Supported or inherited operations.

    // Home operations.

    // Factory and finder operations.

    // Attribute operations.

    // Implicit operations.

    virtual ::Components::EnterpriseComponent_ptr
    create ();
  };

  extern "C" MESSENGER_EXEC_Export ::Components::HomeExecutorBase_ptr
  create_MessengerHome_Impl (void);
}

#include /**/ "ace/post.h"

#endif /* CIAO_MESSENGER_EXEC_H */