Package net.i2p.router.startup
Class RouterAppManager
java.lang.Object
net.i2p.app.ClientAppManagerImpl
net.i2p.router.startup.RouterAppManager
- All Implemented Interfaces:
ClientAppManager
Notify the router of events, and provide methods for
client apps to find each other.
- Since:
- 0.9.4
-
Nested Class Summary
-
Field Summary
Fields inherited from class net.i2p.app.ClientAppManagerImpl
_registered
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
addAndStart
(ClientApp app, String[] args) getClientApp
(String className, String[] args) Get the first known ClientApp with this class name and exact arguments.void
notify
(ClientApp app, ClientAppState state, String message, Exception e) Must be called on all state transitions except from UNINITIALIZED to INITIALIZED.boolean
Register with the manager under the given name, so that other clients may find it.void
renderStatusHTML
(Writer out) debugvoid
shutdown()
void
unregister
(ClientApp app) Unregister with the manager.Methods inherited from class net.i2p.app.ClientAppManagerImpl
getRegisteredApp
-
Constructor Details
-
RouterAppManager
-
-
Method Details
-
addAndStart
- Parameters:
args
- the args that were used to instantiate the app, non-null, may be zero-length- Returns:
- success
- Throws:
IllegalArgumentException
- if already added
-
getClientApp
Get the first known ClientApp with this class name and exact arguments. Caller may then retrieve or control the state of the returned client. A client will generally be found only if it is running or transitioning; after it is stopped it will not be tracked by the manager.- Parameters:
args
- non-null, may be zero-length- Returns:
- client app or null
- Since:
- 0.9.6
-
notify
Must be called on all state transitions except from UNINITIALIZED to INITIALIZED.- Specified by:
notify
in interfaceClientAppManager
- Overrides:
notify
in classClientAppManagerImpl
- 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
- Overrides:
register
in classClientAppManagerImpl
- 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
- Overrides:
unregister
in classClientAppManagerImpl
- Parameters:
app
- non-null- Since:
- 0.9.41 overridden for logging only
-
shutdown
public void shutdown()- Since:
- 0.9.6
-
renderStatusHTML
debug- Throws:
IOException
- Since:
- 0.9.6
-