summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/ImplRepo_Service/ImplRepo_i.cpp
diff options
context:
space:
mode:
authorbrunsch <brunsch@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-04-04 23:16:50 +0000
committerbrunsch <brunsch@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-04-04 23:16:50 +0000
commitf5a9579c4383ac0276a4586c51bc86342f5f6e2c (patch)
treee0e803b54adaebb891b285c9d414517bc55aea8e /TAO/orbsvcs/ImplRepo_Service/ImplRepo_i.cpp
parent6e00e4df6943e1f7050d9e7746350d5cbf5421c1 (diff)
downloadATCD-f5a9579c4383ac0276a4586c51bc86342f5f6e2c.tar.gz
ChangeLogTag:Wed Apr 4 16:11:46 2001 Darrell Brunsch <brunsch@uci.edu>
Diffstat (limited to 'TAO/orbsvcs/ImplRepo_Service/ImplRepo_i.cpp')
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImplRepo_i.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImplRepo_i.cpp b/TAO/orbsvcs/ImplRepo_Service/ImplRepo_i.cpp
index 7537b9245f2..6f622d99735 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImplRepo_i.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/ImplRepo_i.cpp
@@ -501,7 +501,12 @@ ImplRepo_i::register_server (const char *server,
ACE_THROW_SPEC ((CORBA::SystemException,
ImplementationRepository::Administration::AlreadyRegistered))
{
- if (OPTIONS::instance()->debug () >= 2)
+ if (OPTIONS::instance ()->readonly ())
+ {
+ ACE_THROW (CORBA::NO_PERMISSION ());
+ }
+
+ if (OPTIONS::instance ()->debug () >= 2)
{
ACE_DEBUG ((LM_DEBUG, "Server: %s\n"
"Command Line: %s\n"
@@ -564,9 +569,14 @@ ImplRepo_i::register_server (const char *server,
void
ImplRepo_i::reregister_server (const char *server,
const ImplementationRepository::StartupOptions &options,
- CORBA::Environment &)
+ CORBA::Environment &ACE_TRY_ENV)
ACE_THROW_SPEC ((CORBA::SystemException))
{
+ if (OPTIONS::instance ()->readonly ())
+ {
+ ACE_THROW (CORBA::NO_PERMISSION ());
+ }
+
// Get current starting up value
int starting_up = this->repository_.starting_up (server);
@@ -615,6 +625,11 @@ ImplRepo_i::remove_server (const char *server,
ACE_THROW_SPEC ((CORBA::SystemException,
ImplementationRepository::Administration::NotFound))
{
+ if (OPTIONS::instance ()->readonly ())
+ {
+ ACE_THROW (CORBA::NO_PERMISSION ());
+ }
+
if (this->repository_.remove (server) == 0)
{
if (OPTIONS::instance()->debug () >= 1)