diff options
author | Matthew Newhook <matthew@zeroc.com> | 2015-03-21 15:35:40 -0230 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2015-03-21 15:35:40 -0230 |
commit | 630a37d2fe66f24518299e705f958b571803c522 (patch) | |
tree | 969723791bdc4d73bb099c19d45554d0ca241ad9 /csharp/src/Ice/ProtocolPluginFacade.cs | |
parent | Fix some README.md markdown formatting (diff) | |
download | ice-630a37d2fe66f24518299e705f958b571803c522.tar.bz2 ice-630a37d2fe66f24518299e705f958b571803c522.tar.xz ice-630a37d2fe66f24518299e705f958b571803c522.zip |
py -> python
rb -> ruby
objc -> objective-c
cs -> csharp
Diffstat (limited to 'csharp/src/Ice/ProtocolPluginFacade.cs')
-rw-r--r-- | csharp/src/Ice/ProtocolPluginFacade.cs | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/csharp/src/Ice/ProtocolPluginFacade.cs b/csharp/src/Ice/ProtocolPluginFacade.cs new file mode 100644 index 00000000000..3d924e4c186 --- /dev/null +++ b/csharp/src/Ice/ProtocolPluginFacade.cs @@ -0,0 +1,80 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2015 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. +// +// ********************************************************************** + +namespace IceInternal +{ + public interface ProtocolPluginFacade + { + // + // Get the Communicator instance with which this facade is + // associated. + // + Ice.Communicator getCommunicator(); + + // + // Register an EndpointFactory. + // + void addEndpointFactory(EndpointFactory factory); + + // + // Get an EndpointFactory. + // + EndpointFactory getEndpointFactory(short type); + + // + // Obtain the type for a name. + // + System.Type findType(string name); + } + + public sealed class ProtocolPluginFacadeI : ProtocolPluginFacade + { + public ProtocolPluginFacadeI(Ice.Communicator communicator) + { + _communicator = communicator; + _instance = IceInternal.Util.getInstance(communicator); + } + + // + // Get the Communicator instance with which this facade is + // associated. + // + public Ice.Communicator getCommunicator() + { + return _communicator; + } + + // + // Register an EndpointFactory. + // + public void addEndpointFactory(EndpointFactory factory) + { + _instance.endpointFactoryManager().add(factory); + } + + // + // Get an EndpointFactory. + // + public EndpointFactory getEndpointFactory(short type) + { + return _instance.endpointFactoryManager().get(type); + } + + // + // Obtain the type for a name. + // + public System.Type findType(string name) + { + return AssemblyUtil.findType(_instance, name); + } + + private Instance _instance; + private Ice.Communicator _communicator; + } +} |