diff options
author | Benoit Foucher <benoit@zeroc.com> | 2005-04-01 15:42:10 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2005-04-01 15:42:10 +0000 |
commit | f496752b90c2d5c9099b7dbca383bd30820a6ebd (patch) | |
tree | daba3e307aea127eccb2b1c50fe9353f18f1ca05 /cpp/src/IceGrid/AdapterFactory.h | |
parent | ObjectNotExistException is now retried. (diff) | |
download | ice-f496752b90c2d5c9099b7dbca383bd30820a6ebd.tar.bz2 ice-f496752b90c2d5c9099b7dbca383bd30820a6ebd.tar.xz ice-f496752b90c2d5c9099b7dbca383bd30820a6ebd.zip |
Copied IcePack code to IceGrid.
Diffstat (limited to 'cpp/src/IceGrid/AdapterFactory.h')
-rw-r--r-- | cpp/src/IceGrid/AdapterFactory.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/cpp/src/IceGrid/AdapterFactory.h b/cpp/src/IceGrid/AdapterFactory.h new file mode 100644 index 00000000000..85af7b72a4f --- /dev/null +++ b/cpp/src/IceGrid/AdapterFactory.h @@ -0,0 +1,52 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2005 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_ADAPTER_FACTORY_H +#define ICE_GRID_ADAPTER_FACTORY_H + +#include <IceGrid/Internal.h> +#include <Freeze/EvictorF.h> + +namespace IceGrid +{ + +class TraceLevels; +typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr; + +class AdapterFactory : public Ice::ObjectFactory +{ +public: + + AdapterFactory(const Ice::ObjectAdapterPtr&, const TraceLevelsPtr&, const std::string&); + + // + // Ice::ObjectFactory method implementation. + // + virtual Ice::ObjectPtr create(const std::string&); + virtual void destroy(); + + AdapterPrx createStandaloneAdapter(const std::string& name); + +private: + + friend class StandaloneAdapterI; + + void destroy(const Ice::Identity&); + + Ice::ObjectAdapterPtr _adapter; + TraceLevelsPtr _traceLevels; + + Freeze::EvictorPtr _evictor; +}; + +typedef ::IceUtil::Handle< AdapterFactory> AdapterFactoryPtr; + +} + +#endif |