Package net.i2p.app
Class ClientAppManagerImpl
java.lang.Object
net.i2p.app.ClientAppManagerImpl
- All Implemented Interfaces:
ClientAppManager
- Direct Known Subclasses:
RouterAppManager
public class ClientAppManagerImpl extends Object implements ClientAppManager
A simple ClientAppManager that supports register/unregister only,
so that client apps may find each other in AppContext.
See RouterAppManager for the real thing in RouterContext.
- Since:
- 0.9.30
-
Field Summary
Fields Modifier and Type Field Description protected ConcurrentHashMap<String,ClientApp>
_registered
-
Constructor Summary
Constructors Constructor Description ClientAppManagerImpl(I2PAppContext ctx)
-
Method Summary
Modifier and Type Method Description ClientApp
getRegisteredApp(String name)
Get a registered app.void
notify(ClientApp app, ClientAppState state, String message, Exception e)
Does nothing.boolean
register(ClientApp app)
Register with the manager under the given name, so that other clients may find it.void
unregister(ClientApp app)
Unregister with the manager.
-
Field Details
-
Constructor Details
-
Method Details
-
notify
Does nothing.- Specified by:
notify
in interfaceClientAppManager
- Parameters:
app
- non-nullstate
- non-nullmessage
- may be nulle
- may be null
-
register
Register with the manager under the given name, so that other clients may find it. Only required for apps used by other apps.- Specified by:
register
in interfaceClientAppManager
- Parameters:
app
- non-null- Returns:
- true if successful, false if duplicate name
-
unregister
Unregister with the manager. Name must be the same as that from register(). Only required for apps used by other apps.- Specified by:
unregister
in interfaceClientAppManager
- Parameters:
app
- non-null
-
getRegisteredApp
Get a registered app. Only used for apps finding other apps. Do not hold a static reference. If you only need to find a port, use the PortMapper instead.- Specified by:
getRegisteredApp
in interfaceClientAppManager
- Parameters:
name
- non-null- Returns:
- client app or null
-