Merge pull request #2303 from jwillemsen/jwi-803
[ACE_TAO.git] / TAO / tests / ORB_Local_Config / Bug_2612 / DllOrb.h
bloba42c9ab236dd0e8a72818658c1bb19e4b7c5708b
1 /*
2 * @author Iliyan jeliazkov <iliyan@ociweb.com>
3 * @author Lothar Werzinger <lothar@tradescape.biz>
4 */
6 #ifndef DllOrb_h
7 #define DllOrb_h
9 #include "ace/Barrier.h"
10 #include "ace/Task.h"
12 #include "tao/ORB.h"
13 #include "tao/PortableServer/PortableServer.h"
15 #include "DllOrb_Export.h"
17 /** The CORBA ORB as a dynamic loadable module.
20 class DllOrb_Export DllOrb
22 public ACE_Task_Base
24 public:
25 /// Default constructor.
26 DllOrb (int nthreads = 1);
28 /// Destructor.
29 ~DllOrb () noexcept;
31 CORBA::ORB_ptr orb () const;
33 virtual int init (int argc, ACE_TCHAR *argv[]);
35 virtual int fini ();
37 // protected types and methods
38 protected:
39 virtual int svc ();
41 // private methods and instance variables
42 private:
43 int m_nthreads_;
44 unsigned int m_failPrePostInit;
46 #if defined (ACE_HAS_THREADS)
47 ACE_Thread_Barrier * mp_barrier;
48 #endif
50 CORBA::ORB_var mv_orb;
51 PortableServer::POA_var mv_rootPOA;
52 PortableServer::POAManager_var mv_poaManager;
53 }; /* end of DllOrb */
55 ACE_FACTORY_DECLARE (DllOrb, DllOrb)
57 #endif /* DllOrb_h */