[#BloombergLP-balb-ControlManager]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balb.adoc[balb]::ControlManager
:relfileprefix: ../../
:mrdocs:

Dispatch control messages to callbacks by name&period;

== Synopsis

Declared in `&lt;balb&lowbar;controlmanager&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class ControlManager;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balb/ControlManager/ControlHandler.adoc[`ControlHandler`] 
| Callback type invoked to handle control messages&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balb/ControlManager/2constructor.adoc[`ControlManager`]         [.small]#[constructor]#
| Create a control manager object&period;
| xref:BloombergLP/balb/ControlManager/2destructor.adoc[`&#126;ControlManager`] [.small]#[destructor]#
| Destroy this object&period;
| xref:BloombergLP/balb/ControlManager/allocator.adoc[`allocator`] 
| Return the allocator used by this object to supply memory&period;
| xref:BloombergLP/balb/ControlManager/deregisterDefaultHandler.adoc[`deregisterDefaultHandler`] 
| Deregister the default handler for unregistered prefixes&period;
| xref:BloombergLP/balb/ControlManager/deregisterHandler.adoc[`deregisterHandler`] 
| Deregister the handler previously registered for the specified prefix&period;
| xref:BloombergLP/balb/ControlManager/deregisterUsageHandler.adoc[`deregisterUsageHandler`] 
| Deregister the callback function previously registered to handle &quot;HELP&quot; messages (see `registerUsageHandler`)&period; Return 0 on success or a non&hyphen;zero value otherwise&period;
| xref:BloombergLP/balb/ControlManager/dispatchMessage-0a.adoc[`dispatchMessage`] 
| `dispatchMessage` overloads
| xref:BloombergLP/balb/ControlManager/hasDefaultHandler.adoc[`hasDefaultHandler`] 
| Return `true` if this control manager has a default message handler installed, and `false` otherwise&period;
| xref:BloombergLP/balb/ControlManager/printUsage.adoc[`printUsage`] 
| Print usage documentation for registered commands&period;
| xref:BloombergLP/balb/ControlManager/printUsageHelper.adoc[`printUsageHelper`] 
| Invoke `printUsage` passing the specified `&ast;stream` and `preamble`&period;
| xref:BloombergLP/balb/ControlManager/registerDefaultHandler.adoc[`registerDefaultHandler`] 
| Register a handler for messages with unregistered prefixes&period;
| xref:BloombergLP/balb/ControlManager/registerHandler.adoc[`registerHandler`] 
| Register a handler for messages with the specified prefix&period;
| xref:BloombergLP/balb/ControlManager/registerUsageHandler.adoc[`registerUsageHandler`] 
| Register a HELP handler that prints usage documentation&period;
| xref:BloombergLP/balb/ControlManager/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration&lt;ControlManager, UsesBslmaAllocator&gt;`] 
| Declare that this type uses a `bslma` allocator&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
