diff options
author | Marc Laukien <marc@zeroc.com> | 2004-11-08 17:18:51 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2004-11-08 17:18:51 +0000 |
commit | 24f2fe88b4544fc4c3801ec52a4caf0c31cd567f (patch) | |
tree | e801354641dd21c8fba0a6a0d4c6a880a7b666b6 /cpp/src | |
parent | make depend. (diff) | |
download | ice-24f2fe88b4544fc4c3801ec52a4caf0c31cd567f.tar.bz2 ice-24f2fe88b4544fc4c3801ec52a4caf0c31cd567f.tar.xz ice-24f2fe88b4544fc4c3801ec52a4caf0c31cd567f.zip |
added shutdown function to glacier2
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Glacier2/Glacier2Router.cpp | 45 | ||||
-rw-r--r-- | cpp/src/Glacier2/Makefile | 2 | ||||
-rwxr-xr-x | cpp/src/Glacier2/glacier2.dsp | 24 | ||||
-rw-r--r-- | cpp/src/Ice/PropertiesI.cpp | 2 |
4 files changed, 60 insertions, 13 deletions
diff --git a/cpp/src/Glacier2/Glacier2Router.cpp b/cpp/src/Glacier2/Glacier2Router.cpp index 4bc5cd07464..fa031520851 100644 --- a/cpp/src/Glacier2/Glacier2Router.cpp +++ b/cpp/src/Glacier2/Glacier2Router.cpp @@ -20,6 +20,26 @@ using namespace Glacier2; namespace Glacier2 { +class AdminI : public Admin +{ +public: + + AdminI(const CommunicatorPtr& communicator) : + _communicator(communicator) + { + } + + virtual void + shutdown(const Current&) + { + _communicator->shutdown(); + } + +private: + + const CommunicatorPtr _communicator; +}; + class RouterService : public Service { public: @@ -93,6 +113,17 @@ Glacier2::RouterService::start(int argc, char* argv[]) } // + // Initialize the admin object adapter only if admin endpoints + // are defined. + // + const char* adminEndpointsProperty = "Glacier2.Admin.Endpoints"; + ObjectAdapterPtr adminAdapter; + if(!properties->getProperty(adminEndpointsProperty).empty()) + { + adminAdapter = communicator()->createObjectAdapter("Glacier2.Admin"); + } + + // // Get the permissions verifier, or create a default one if no // verifier is specified. // @@ -176,6 +207,16 @@ Glacier2::RouterService::start(int argc, char* argv[]) _sessionRouter = new SessionRouterI(clientAdapter, serverAdapter, verifier, sessionManager); // + // If we have an admin adapter, we add an admin object. + // + if(adminAdapter) + { + const char* adminIdProperty = "Glacier2.AdminIdentity"; + Identity adminId = stringToIdentity(properties->getPropertyWithDefault(adminIdProperty, "Glacier2/admin")); + adminAdapter->add(new AdminI(communicator()), adminId); + } + + // // Everything ok, let's go. // clientAdapter->activate(); @@ -183,6 +224,10 @@ Glacier2::RouterService::start(int argc, char* argv[]) { serverAdapter->activate(); } + if(adminAdapter) + { + adminAdapter->activate(); + } return true; } diff --git a/cpp/src/Glacier2/Makefile b/cpp/src/Glacier2/Makefile index a9390c0ec7b..c172448031a 100644 --- a/cpp/src/Glacier2/Makefile +++ b/cpp/src/Glacier2/Makefile @@ -47,7 +47,7 @@ SDIR = $(slicedir)/Glacier2 include $(top_srcdir)/config/Make.rules CPPFLAGS := -I.. $(CPPFLAGS) -DGLACIER2_API_EXPORTS $(OPENSSL_FLAGS) -SLICE2CPPFLAGS := --checksum --include-dir Glacier2 --dll-export GLACIER2_API $(SLICE2CPPFLAGS) +SLICE2CPPFLAGS := --include-dir Glacier2 --dll-export GLACIER2_API $(SLICE2CPPFLAGS) LINKWITH := -lIce -lIceUtil $(libdir)/$(LIBFILENAME): $(OBJS) diff --git a/cpp/src/Glacier2/glacier2.dsp b/cpp/src/Glacier2/glacier2.dsp index 8b9e11a7791..87c28e13c3b 100755 --- a/cpp/src/Glacier2/glacier2.dsp +++ b/cpp/src/Glacier2/glacier2.dsp @@ -159,7 +159,7 @@ USERDEP__PERMI="..\..\bin\slice2cpp.exe" "..\..\lib\slice.lib" InputPath=..\..\slice\Glacier2\PermissionsVerifier.ice
BuildCmds= \
- ..\..\bin\slice2cpp.exe --checksum --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/PermissionsVerifier.ice \
+ ..\..\bin\slice2cpp.exe --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/PermissionsVerifier.ice \
move PermissionsVerifier.h ..\..\include\Glacier2 \
@@ -177,7 +177,7 @@ USERDEP__PERMI="..\..\bin\slice2cpp.exe" "..\..\lib\sliced.lib" InputPath=..\..\slice\Glacier2\PermissionsVerifier.ice
BuildCmds= \
- ..\..\bin\slice2cpp.exe --checksum --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/PermissionsVerifier.ice \
+ ..\..\bin\slice2cpp.exe --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/PermissionsVerifier.ice \
move PermissionsVerifier.h ..\..\include\Glacier2 \
@@ -202,7 +202,7 @@ USERDEP__PERMIS="..\..\bin\slice2cpp.exe" "..\..\lib\slice.lib" InputPath=..\..\slice\Glacier2\PermissionsVerifierF.ice
"..\..\include\Glacier2\PermissionsVerifierF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\bin\slice2cpp.exe --checksum --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/PermissionsVerifierF.ice
+ ..\..\bin\slice2cpp.exe --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/PermissionsVerifierF.ice
move PermissionsVerifierF.h ..\..\include\Glacier2
del PermissionsVerifierF.cpp
@@ -215,7 +215,7 @@ USERDEP__PERMIS="..\..\bin\slice2cpp.exe" "..\..\lib\sliced.lib" InputPath=..\..\slice\Glacier2\PermissionsVerifierF.ice
"..\..\include\Glacier2\PermissionsVerifierF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\bin\slice2cpp.exe --checksum --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/PermissionsVerifierF.ice
+ ..\..\bin\slice2cpp.exe --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/PermissionsVerifierF.ice
move PermissionsVerifierF.h ..\..\include\Glacier2
del PermissionsVerifierF.cpp
@@ -235,7 +235,7 @@ USERDEP__PERMI="..\..\bin\slice2cpp.exe" "..\..\lib\slice.lib" InputPath=..\..\slice\Glacier2\Session.ice
BuildCmds= \
- ..\..\bin\slice2cpp.exe --checksum --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/Session.ice \
+ ..\..\bin\slice2cpp.exe --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/Session.ice \
move Session.h ..\..\include\Glacier2 \
@@ -253,7 +253,7 @@ USERDEP__PERMI="..\..\bin\slice2cpp.exe" "..\..\lib\sliced.lib" InputPath=..\..\slice\Glacier2\Session.ice
BuildCmds= \
- ..\..\bin\slice2cpp.exe --checksum --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/Session.ice \
+ ..\..\bin\slice2cpp.exe --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/Session.ice \
move Session.h ..\..\include\Glacier2 \
@@ -278,7 +278,7 @@ USERDEP__PERMIS="..\..\bin\slice2cpp.exe" "..\..\lib\slice.lib" InputPath=..\..\slice\Glacier2\SessionF.ice
"..\..\include\Glacier2\SessionF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\bin\slice2cpp.exe --checksum --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/SessionF.ice
+ ..\..\bin\slice2cpp.exe --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/SessionF.ice
move SessionF.h ..\..\include\Glacier2
del SessionF.cpp
@@ -291,7 +291,7 @@ USERDEP__PERMIS="..\..\bin\slice2cpp.exe" "..\..\lib\sliced.lib" InputPath=..\..\slice\Glacier2\SessionF.ice
"..\..\include\Glacier2\SessionF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\bin\slice2cpp.exe --checksum --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/SessionF.ice
+ ..\..\bin\slice2cpp.exe --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/SessionF.ice
move SessionF.h ..\..\include\Glacier2
del SessionF.cpp
@@ -311,7 +311,7 @@ USERDEP__ROUTE="..\..\bin\slice2cpp.exe" "..\..\lib\slice.lib" InputPath=..\..\slice\Glacier2\Router.ice
BuildCmds= \
- ..\..\bin\slice2cpp.exe --checksum --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/Router.ice \
+ ..\..\bin\slice2cpp.exe --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/Router.ice \
move Router.h ..\..\include\Glacier2 \
@@ -329,7 +329,7 @@ USERDEP__ROUTE="..\..\bin\slice2cpp.exe" "..\..\lib\sliced.lib" InputPath=..\..\slice\Glacier2\Router.ice
BuildCmds= \
- ..\..\bin\slice2cpp.exe --checksum --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/Router.ice \
+ ..\..\bin\slice2cpp.exe --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/Router.ice \
move Router.h ..\..\include\Glacier2 \
@@ -354,7 +354,7 @@ USERDEP__ROUTER="..\..\bin\slice2cpp.exe" "..\..\lib\slice.lib" InputPath=..\..\slice\Glacier2\RouterF.ice
"..\..\include\Glacier2\RouterF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\bin\slice2cpp.exe --checksum --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/RouterF.ice
+ ..\..\bin\slice2cpp.exe --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/RouterF.ice
move RouterF.h ..\..\include\Glacier2
del RouterF.cpp
@@ -367,7 +367,7 @@ USERDEP__ROUTER="..\..\bin\slice2cpp.exe" "..\..\lib\sliced.lib" InputPath=..\..\slice\Glacier2\RouterF.ice
"..\..\include\Glacier2\RouterF.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\bin\slice2cpp.exe --checksum --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/RouterF.ice
+ ..\..\bin\slice2cpp.exe --dll-export GLACIER2_API --include-dir Glacier2 -I../../slice ../../slice/Glacier2/RouterF.ice
move RouterF.h ..\..\include\Glacier2
del RouterF.cpp
diff --git a/cpp/src/Ice/PropertiesI.cpp b/cpp/src/Ice/PropertiesI.cpp index 9f760d433ca..32fa2fadf95 100644 --- a/cpp/src/Ice/PropertiesI.cpp +++ b/cpp/src/Ice/PropertiesI.cpp @@ -341,6 +341,8 @@ static const string glacierProps[] = static const string glacier2Props[] = { + "Admin.Endpoints", + "AdminIdentity", "Client.AlwaysBatch", "Client.Endpoints", "Client.ForwardContext", |