/// @return non-null pointer to the staging configuration.
SrvConfigPtr getStagingCfg();
- /// @brief Creates external configuration and returns pointer to it.
+ /// @brief Creates an external configuration and returns pointer to it.
///
/// External configurations are those that come from other sources than
/// from the configuration file, e.g. a database or a command. They
///
/// This method is used when two or more configurations held in the
/// @c SrvConfig objects need to be combined into a single configuration.
- /// Specifically, when the configuration backend is used, the part of
+ /// Specifically, when the configuration backend is used, then part of
/// the server configuration comes from the configuration file and
/// stored in the staging configuration. The other part of the
/// configuration comes from the database. The configuration fetched
/// The data that do not overlap between the two objects is simply
/// inserted into this configuration.
///
- /// @note The call to @c merge may modify the data in the @c other
+ /// @warning The call to @c merge may modify the data in the @c other
/// object. Therefore, the caller must not rely on the data held
/// in the @c other object after the call to @c merge. Also, the
/// data held in @c other must not be modified after the call to
/// existing configuration if the new logging configuration is
/// non-null and non-empty.
///
+ /// @warning The call to @c merge may modify the data in the @c other
+ /// object. Therefore, the caller must not rely on the data held
+ /// in the @c other object after the call to @c merge. Also, the
+ /// data held in @c other must not be modified after the call to
+ /// @c merge because it may affect the merged configuration.
+ ///
+ /// If a derivation of this class implements the @c merge method
+ /// it should call @c ConfigBase::merge.
+ ///
/// @param other the other configuration to be merged into this
/// configuration.
virtual void merge(const ConfigBase& other);