|Specifies whether the entity acting as a factory automatically enables the instances it creates. |
DDSEntity as a factory for other entities. It controls whether or not child entities are created in the enabled state.
RTI Data Distribution Service uses a factory design pattern for creating DDS Entities. That is, a parent entity must be used to create child entities. DomainParticipants create Topics, Publishers and Subscribers. Publishers create DataWriters. Subscribers create DataReaders.
By default, a child object is enabled upon creation (initialized and may be actively used). With this QoS policy, a child object can be created in a disabled state. A disabled entity is only partially initialized and cannot be used until the entity is enabled. Note: an entity can only be enabled; it cannot be disabled after it has been enabled.
This QoS policy is useful to synchronize the initialization of DDS Entities. For example, when a DDSDataReader is created in an enabled state, its existence is immediately propagated for discovery and the DDSDataReader object's listener called as soon as data is received. The initialization process for an application may extend beyond the creation of the DDSDataReader, and thus, it may not be desireable for the DDSDataReader to start to receive or process any data until the initialization process is complete. So by creating readers in a disabled state, your application can make sure that no data is received until the rest of the application initialization is complete, and at that time, enable the them.
Note: if an entity is disabled, then all of the child entities it creates will be disabled too, regardless of the setting of this QoS policy. However, enabling a disabled entity will enable all of its children if this QoS policy is set to automatically enable children entities.
This policy is mutable. A change in the policy affects only the entities created after the change, not any previously created entities.
Specifies whether the entity acting as a factory automatically enables the instances it creates.
The setting of
autoenable_created_entities to DDS_BOOLEAN_TRUE indicates that the factory
create_<entity> operation(s) will automatically invoke the DDSEntity::enable operation each time a new DDSEntity is created. Therefore, the DDSEntity returned by
create_<entity> will already be enabled. A setting of DDS_BOOLEAN_FALSE indicates that the DDSEntity will not be automatically enabled. Your application will need to call DDSEntity::enable itself.