summaryrefslogtreecommitdiff
path: root/TAO/examples/CSD_Strategy/ThreadPool2/Foo_i.h
blob: e81153d9dc6b6de5dc81e3dfd2480d5be4e4ea66 (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
// $Id$
#ifndef FOO_I_H
#define FOO_I_H

#include "FooS.h"
#include "ace/SString.h"
#include "ace/CORBA_macros.h"
#include "tao/Environment.h"

class FooServantList;

class Foo_i : public virtual POA_Foo
{
  public:

    Foo_i(const char* servant_name, FooServantList* mgr);
    virtual ~Foo_i();

    virtual void op1(void)
      ACE_THROW_SPEC((CORBA::SystemException));

    virtual void op2(CORBA::Long value)
      ACE_THROW_SPEC((CORBA::SystemException));

    virtual CORBA::Long op3(void)
      ACE_THROW_SPEC((CORBA::SystemException));

    virtual void op4(CORBA::Long value)
      ACE_THROW_SPEC((CORBA::SystemException));

    virtual void op5(void)
      ACE_THROW_SPEC((CORBA::SystemException, FooException));

    virtual void done(void)
      ACE_THROW_SPEC((CORBA::SystemException));


  private:

    CORBA::Long value_;

    unsigned count_op1_;
    unsigned count_op2_;
    unsigned count_op3_;
    unsigned count_op4_;
    unsigned count_op5_;

    ACE_CString     servant_name_;
    FooServantList* mgr_;
};

#endif