summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session_Factory.h
blob: 875535d6b938c301c0ece10c28e29df5928e9c7e (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
//
// $Id$
//

#ifndef SESSION_FACTORY_H
#define SESSION_FACTORY_H
#include /**/ "ace/pre.h"

#include "TestS.h"

/// Implement the Test::Session_Factory interface
class Session_Factory
  : public virtual POA_Test::Session_Factory
{
public:
  /// Constructor
  Session_Factory (CORBA::ORB_ptr orb,
                   PortableServer::POA_ptr poa);

  // = The skeleton methods
  virtual Test::Session_ptr create_new_session (Test::Callback_ptr cb
                                                ACE_ENV_ARG_DECL)
    ACE_THROW_SPEC ((CORBA::SystemException));

  virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
    ACE_THROW_SPEC ((CORBA::SystemException));

  PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
    ACE_THROW_SPEC ((CORBA::SystemException));

private:
  /// Use an ORB reference to shutdown the application.
  CORBA::ORB_var orb_;

  PortableServer::POA_var poa_;
};

#include /**/ "ace/post.h"
#endif /* SESSION_FACTORY_H */