#include <balb_controlmanager.h>
Dispatch control messages to callbacks by name.
See balb_controlmanager
◆ ControlHandler
Defines a type alias for the function called to handle control messages. The prefix
argument is the first space-delimited word read from the message, and the stream
argument is the bsl::istream
containing the remainder of the message.
◆ ControlManager()
Create a control manager object. Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently installed default allocator is used.
◆ ~ControlManager()
balb::ControlManager::~ControlManager |
( |
| ) |
|
◆ allocator()
Return the allocator used by this object to supply memory. Note that if no allocator was supplied at construction the default allocator in effect at construction is used.
◆ BSLMF_NESTED_TRAIT_DECLARATION()
◆ deregisterHandler()
Deregister the callback function previously registered to handle the specified prefix
. Return 0 on success or a non-zero value otherwise.
◆ dispatchMessage() [1/2]
int balb::ControlManager::dispatchMessage |
( |
const bsl::string & |
prefix, |
|
|
bsl::istream & |
stream |
|
) |
| const |
Dispatch the message contained in the specified stream
to the callback associated with the specified prefix
. Return 0 on success, and a non-zero value otherwise; in particular return non-zero if no registered callback could be found for the case-insensitive prefix
.
◆ dispatchMessage() [2/2]
int balb::ControlManager::dispatchMessage |
( |
const bsl::string_view & |
message | ) |
const |
Parse the specified complete message
and dispatch it. Return 0 on success, and a non-zero value otherwise; in particular return non-zero if no registered callback could be found for the case-insensitive prefix in message
.
◆ printUsage()
void balb::ControlManager::printUsage |
( |
bsl::ostream & |
stream, |
|
|
const bsl::string_view & |
preamble |
|
) |
| const |
Print to the specified stream
the specified preamble
text, followed by the registered commands and documentation for this control manager. Note that a newline is appended to preamble
in the output.
◆ printUsageHelper()
void balb::ControlManager::printUsageHelper |
( |
bsl::ostream * |
stream, |
|
|
const bsl::string_view & |
preamble |
|
) |
| const |
|
inline |
Invoke printUsage
passing the specified *stream
and preamble
. Suitable for binding using the bdlf::BindUtil package.
◆ registerHandler()
Register the specified handler
to be invoked whenever a control message having the specified case-insensitive prefix
is received for this control manager. Also register the specified arguments
string to describe the arguments accepted by the message, and the specified description
to describe its operation; these are printed by printUsage
. Return a positive value if an existing callback was replaced, return 0 if no replacement occurred, and return a negative value otherwise.
◆ registerUsageHandler()
int balb::ControlManager::registerUsageHandler |
( |
bsl::ostream & |
stream | ) |
|
Register a handler that, on receipt of a (case-insensitive) "HELP" message, prints to the specified stream a list of this ControlManager
s registered commands and their documentation. Return a positive value if an existing callback was replaced, return 0 if no replacement occurred, and return a negative value otherwise.
The documentation for this class was generated from the following file: