1 // **********************************************************************
3 // Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved.
5 // This copy of Ice is licensed to you under the terms described in the
6 // ICE_LICENSE file included in this distribution.
8 // **********************************************************************
10 #include <Ice/Initialize.h>
11 #include <Ice/Instance.h>
12 #include <Ice/ProtocolPluginFacade.h>
13 #include <Ice/EndpointFactoryManager.h>
16 #include <EndpointFactory.h>
20 class TestPluginI
: public PluginI
24 TestPluginI(const Ice::CommunicatorPtr
&);
26 virtual void initialize();
27 virtual void destroy();
29 virtual ConfigurationPtr
getConfiguration();
33 const Ice::CommunicatorPtr _communicator
;
34 const ConfigurationPtr _configuration
;
39 // Plugin factory function.
44 ICE_DECLSPEC_EXPORT
Ice::Plugin
*
45 createTestTransport(const Ice::CommunicatorPtr
& communicator
, const string
& name
, const Ice::StringSeq
& args
)
47 return new TestPluginI(communicator
);
52 TestPluginI::TestPluginI(const Ice::CommunicatorPtr
& communicator
) :
53 _communicator(communicator
),
54 _configuration(new Configuration())
59 TestPluginI::initialize()
61 IceInternal::ProtocolPluginFacadePtr facade
= IceInternal::getProtocolPluginFacade(_communicator
);
63 for(Ice::Short s
= 0; s
< 100; ++s
)
65 IceInternal::EndpointFactoryPtr factory
= facade
->getEndpointFactory(s
);
68 facade
->addEndpointFactory(new EndpointFactory(factory
));
74 TestPluginI::destroy()
79 TestPluginI::getConfiguration()
81 return _configuration
;