blob: 93e23917cb06ba32159ee6c9de3f3069b8953c17 (
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
// -*- C++ -*-
// $Id$
// ============================================================================
//
// = LIBRARY
// TAO/tests/Simple/Bank
//
// = FILENAME
// AccountManager_i.h
//
// = DESCRIPTION
// This class implements the Bank::AccountManager IDL interface.
//
// = AUTHOR
// Vishal Kachroo <vishal@cs.wustl.edu>
//
// ============================================================================
#if !defined (ACCOUNTMANAGER_I_H)
#define ACCOUNTMANAGER_I_H
#include "ace/ACE.h"
#include "ace/OS.h"
#include "tao/TAO.h"
#include "BankS.h"
#include "Account_i.h"
class AccountManager_i : public POA_Bank::AccountManager
{
// = TITLE
// Account Manager object implementation.
//
// = DESCRIPTION
// Implementation of a simple object that has two methods, one
// that returns an Account Interface and the other that shuts
// down the server.
public:
// = Initialization and termination methods.
AccountManager_i (void);
// Constructor.
~AccountManager_i (void);
// Destructor.
virtual Bank::Account_ptr open (const char *name,
CORBA::Float initial_balance,
CORBA::Environment &_env);
// Return the Account interface with the given name from the server.
// Put the initial balance specified in the new account.
virtual void close (Bank::Account_ptr,
CORBA::Environment &env);
// Close the given account.
virtual void shutdown (CORBA::Environment &env);
// Shutdown the server.
void orb (CORBA::ORB_ptr o);
// Set the ORB pointer.
void poa (PortableServer::POA_ptr poa);
// Set the POA pointer.
void set_orb_manager (TAO_ORB_Manager *orb_manager);
// Set the ORB Manager.
TAO_ORB_Manager *orb_manager_;
// The ORB manager.
private:
CORBA::ORB_var orb_;
// ORB pointer.
PortableServer::POA_ptr poa_;
// POA pointer.
//TAO_ORB_Manager orb_manager_;
// The ORB manager.
ACE_Hash_Map_Manager<ACE_CString,
Account_i *,
ACE_Null_Mutex> hash_map_;
// Calls to <open> will create a new instance of <Account_i> and
// bind into the hash map manager if <name> is unique, else it will
// return a previously bound entry.
};
#endif /* ACCOUNTMANAGER_I_H */
|