summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/examples/ImR/Advanced/TestServer.h
blob: d18bd441c6bd80e17df4f34d4339f725bb49b5f1 (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
//$Id$
#include "Messenger_i.h"

#include "ace/Auto_Ptr.h"

#include "tao/IORTable/IORTable.h"

#include <string>
#include <vector>

class TestServer
{
public:
  TestServer(CORBA::ORB_ptr, int argc, char* argv[]);

  ~TestServer();

  void run();

private:
  int parseCommands(int argc, char* argv[]);
  bool verifyEnvironment() const;
  bool registerWithManager();
  void buildObjects();
  void pause(int milliseconds);

  int   serverID_;
  int   serverInstanceID_;
  bool  useIORTable_;
  bool  writeIORFile_;
  bool  retryQuery_;
  char  pauseType_;
  int   startupPause_;
  int   objActivatePause_;
  int   activatePause_;
  int   runPause_;
  int   numPOAS_;
  int   numObjsPerPOA_;
  int   useItLoseItSecs_;

  std::string baseDir_;
  std::string expectedDir_;
  std::vector<std::pair<std::string, std::string> > expectedEnv_;
  ACE_Auto_Ptr<Messenger_i>  servant_;

  CORBA::ORB_var                  orb_;
  IORTable::Table_var             iorTable_;
  PortableServer::POA_var         root_;
  PortableServer::POAManager_var  mgr_;
};