Changes to attempt to silence bcc64x
[ACE_TAO.git] / TAO / orbsvcs / tests / Notify / lib / Command.h
blob49bee3e6d5ae5bb681d2e58e00fc178500722bb4
1 /* -*- C++ -*- */
2 /**
3 * @file Command.h
5 * @author Pradeep Gore <pradeep@oomworks.com>
6 */
8 #ifndef TAO_Notify_Tests_COMMAND_H
9 #define TAO_Notify_Tests_COMMAND_H
10 #include /**/ "ace/pre.h"
12 #include "notify_test_export.h"
14 #if !defined (ACE_LACKS_PRAGMA_ONCE)
15 # pragma once
16 #endif /* ACE_LACKS_PRAGMA_ONCE */
18 #include "tao/orbconf.h"
19 #include "ace/Arg_Shifter.h"
20 #include "ace/CORBA_macros.h"
22 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
23 namespace CORBA
25 class Environment;
27 TAO_END_VERSIONED_NAMESPACE_DECL
29 /**
30 * @class TAO_Notify_Tests_Command
32 * @brief Base Class for all command objects.
34 class TAO_NOTIFY_TEST_Export TAO_Notify_Tests_Command
36 friend class TAO_Notify_Tests_Command_Builder;
37 public:
38 /// Constructor
39 TAO_Notify_Tests_Command ();
41 /// Destructor
42 virtual ~TAO_Notify_Tests_Command ();
44 /// Parse args and populate options.
45 virtual void init (ACE_Arg_Shifter& arg_shifter);
47 /// Implement command execution.
48 virtual void execute_i () = 0;
50 /// Return the name of this command.
51 virtual const char* get_name () = 0;
53 ///= Each derived type must also implement the following signature:
54 // static const char* name ();
56 protected:
57 /// Next command after this one.
58 TAO_Notify_Tests_Command* next_;
60 enum {INVALID = -1};
62 int command_;
64 private:
65 /// Execute the command.
66 void execute ();
68 /// Save the next command to exec.
69 void next (TAO_Notify_Tests_Command* command);
72 #include /**/ "ace/post.h"
73 #endif /* TAO_Notify_Tests_COMMAND_H */