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
|
// **********************************************************************
//
// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
#ifndef ICE_GRID_INTERNALREGISTRYI_H
#define ICE_GRID_INTERNALREGISTRYI_H
#include <IceGrid/Registry.h>
#include <IceGrid/Internal.h>
namespace IceGrid
{
class Database;
typedef IceUtil::Handle<Database> DatabasePtr;
class FileCache;
typedef IceUtil::Handle<FileCache> FileCachePtr;
class WellKnownObjectsManager;
typedef IceUtil::Handle<WellKnownObjectsManager> WellKnownObjectsManagerPtr;
class ReapThread;
typedef IceUtil::Handle<ReapThread> ReapThreadPtr;
class RegistryI;
typedef IceUtil::Handle<RegistryI> RegistryIPtr;
class ReplicaSessionManager;
class InternalRegistryI : public InternalRegistry
{
public:
InternalRegistryI(const RegistryIPtr&, const DatabasePtr&, const ReapThreadPtr&,
const WellKnownObjectsManagerPtr&, ReplicaSessionManager&);
virtual ~InternalRegistryI();
virtual NodeSessionPrx registerNode(const InternalNodeInfoPtr&, const NodePrx&, const LoadInfo&,
const Ice::Current&);
virtual ReplicaSessionPrx registerReplica(const InternalReplicaInfoPtr&, const InternalRegistryPrx&,
const Ice::Current&);
virtual void registerWithReplica(const InternalRegistryPrx&, const Ice::Current&);
virtual NodePrxSeq getNodes(const Ice::Current&) const;
virtual InternalRegistryPrxSeq getReplicas(const Ice::Current&) const;
virtual void shutdown(const Ice::Current&) const;
virtual Ice::Long getOffsetFromEnd(const std::string&, int, const Ice::Current&) const;
virtual bool read(const std::string&, Ice::Long, int, Ice::Long&, Ice::StringSeq&, const Ice::Current&) const;
private:
std::string getFilePath(const std::string&) const;
const RegistryIPtr _registry;
const DatabasePtr _database;
const ReapThreadPtr _reaper;
const WellKnownObjectsManagerPtr _wellKnownObjects;
const FileCachePtr _fileCache;
ReplicaSessionManager& _session;
int _nodeSessionTimeout;
int _replicaSessionTimeout;
};
};
#endif
|