Index: orbsvcs/orbsvcs/Notify/Properties.h =================================================================== --- orbsvcs/orbsvcs/Notify/Properties.h (revision 76488) +++ orbsvcs/orbsvcs/Notify/Properties.h (working copy) @@ -49,6 +49,9 @@ /// Return a singleton instance of this class. static TAO_Notify_Properties * instance (void); + /// Set the singleton instance for this class. + static void instance (TAO_Notify_Properties* properties); + // = Property Accessors TAO_Notify_Factory* factory (void); void factory (TAO_Notify_Factory* factory); Index: orbsvcs/orbsvcs/Notify/Properties.cpp =================================================================== --- orbsvcs/orbsvcs/Notify/Properties.cpp (revision 76488) +++ orbsvcs/orbsvcs/Notify/Properties.cpp (working copy) @@ -14,6 +14,8 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL +static TAO_Notify_Properties* properties = 0; + TAO_Notify_Properties::TAO_Notify_Properties (void) : factory_ (0) , builder_ (0) @@ -43,10 +45,21 @@ TAO_Notify_Properties * TAO_Notify_Properties::instance (void) { - // Hide the template instantiation to prevent multiple instances - // from being created. + if (properties == 0) + { + // Hide the template instantiation to prevent multiple instances + // from being created. + properties = TAO_Singleton::instance (); + } - return - TAO_Singleton::instance (); + return properties; } + +void +TAO_Notify_Properties::instance (TAO_Notify_Properties* props) +{ + properties = props; +} + TAO_END_VERSIONED_NAMESPACE_DECL Index: orbsvcs/Notify_Service/Notify_Server.cpp =================================================================== --- orbsvcs/Notify_Service/Notify_Server.cpp (revision 76488) +++ orbsvcs/Notify_Service/Notify_Server.cpp (working copy) @@ -1,6 +1,7 @@ // $Id$ #include "Notify_Service.h" +#include "orbsvcs/orbsvcs/Notify/Properties.h" // Must include this file to get a static initializer #include "tao/Valuetype/Valuetype_Adapter_Impl.h" @@ -50,6 +51,9 @@ ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY_NEW_ENV { + TAO_Notify_Properties properties; + TAO_Notify_Properties::instance (&properties); + int result = notify_service.init (argc, argv ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK;