Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / examples / CSD_Strategy / ThreadPool5 / Foo_i.h
blobdf548468b7a624d4d019b43715fc4facd35e522d
1 #ifndef FOO_I_H
2 #define FOO_I_H
4 #include "FooS.h"
5 #include "CallbackC.h"
6 #include "ace/SString.h"
8 class FooServantList;
11 class Foo_i : public virtual POA_Foo
13 public:
15 Foo_i(const char* servant_name, FooServantList* mgr);
16 virtual ~Foo_i();
18 virtual void op1(void);
20 virtual void op2(CORBA::Long value);
22 virtual CORBA::Long op3(void);
24 virtual void op4(CORBA::Long value);
26 virtual void op5(void);
28 virtual CORBA::Boolean op6 (
29 const char * user_name,
30 char *& message
33 virtual void test_unbounded_string_arg (
34 const char * message
37 virtual void test_bounded_string_arg (
38 const char * message
41 virtual void test_fixed_array_arg (
42 const ::Fixed_Array message
45 virtual void test_var_array_arg (
46 const ::Var_Array messages
49 virtual void test_bounded_var_size_arg (
50 const ::Bounded_Var_Size & message
53 virtual void test_unbounded_var_size_arg (
54 const ::Unbounded_Var_Size & message
57 virtual void test_fixed_size_arg (
58 const ::TimeOfDay & t
61 virtual void test_fixed_size_arg_two_way (
62 const ::TimeOfDay & t
65 virtual void test_special_basic_arg (
66 ::CORBA::Boolean value
69 virtual void test_objref_arg (
70 ::Callback_ptr cb
73 virtual void callback_object (
74 ::Callback_ptr cb
77 virtual void test_callback (
80 virtual void done(void);
82 void active (bool flag);
84 bool active ();
86 private:
88 typedef ACE_Atomic_Op <TAO_SYNCH_MUTEX, CORBA::Long> AtomicLong;
89 typedef ACE_Atomic_Op <TAO_SYNCH_MUTEX, unsigned> AtomicUnsigned;
90 typedef ACE_Atomic_Op <TAO_SYNCH_MUTEX, bool> AtomicBool;
92 AtomicLong value_;
93 AtomicUnsigned count_op1_;
94 AtomicUnsigned count_op2_;
95 AtomicUnsigned count_op3_;
96 AtomicUnsigned count_op4_;
97 AtomicUnsigned count_op5_;
99 ACE_CString servant_name_;
100 FooServantList* mgr_;
101 AtomicBool active_;
102 Callback_var callback_;
106 #endif