Program Listing for File config_applier.h

Return to documentation for file (include/sbg_driver/config_applier.h)

#ifndef CONFIG_APPLIER_H
#define CONFIG_APPLIER_H

// Standard headers
#include <limits>
#include <string>

// Project headers
#include <config_store.h>

namespace sbg
{
class ConfigApplier
{
private:

  bool            reboot_needed_;
  SbgEComHandle&  ref_sbg_com_handle_;

  //---------------------------------------------------------------------//
  //- Private  methods                                                  -//
  //---------------------------------------------------------------------//

  void checkConfigurationGet(const SbgErrorCode& ref_sbg_error_code, const std::string& ref_conf_title) const;

  void checkConfigurationApplied(const SbgErrorCode& ref_sbg_error_code, const std::string& ref_conf_title);

  void configureInitCondition(const SbgEComInitConditionConf& ref_init_condition);

  void configureMotionProfile(const SbgEComMotionProfileStdIds& ref_motion_profile);

  void configureImuAlignement(const SbgEComSensorAlignmentInfo& ref_sensor_align, const SbgVector3<float>& ref_lever_arm);

  void configureAidingAssignement(const SbgEComAidingAssignConf& ref_aiding_assign);

  void configureMagModel(const SbgEComMagModelsStdId& ref_mag_model);

  void configureMagRejection(const SbgEComMagRejectionConf& ref_mag_rejection);

  void configureGnssModel(const SbgEComGnssModelsStdIds& ref_gnss_model);

  void configureGnssInstallation(const SbgEComGnssInstallation& ref_gnss_installation);

  void configureGnssRejection(const SbgEComGnssRejectionConf& ref_gnss_rejection);

  void configureOdometer(const SbgEComOdoConf& ref_odometer);

  void configureOdometerLeverArm(const SbgVector3<float>& ref_odometer_lever_arm);

  void configureOdometerRejection(const SbgEComOdoRejectionConf& ref_odometer_rejection);

  void configureOutput(SbgEComOutputPort output_port, const ConfigStore::SbgLogOutput &ref_log_output);

public:

  //---------------------------------------------------------------------//
  //- Constructor                                                       -//
  //---------------------------------------------------------------------//

  ConfigApplier(SbgEComHandle &ref_sbg_com_handle);

  //---------------------------------------------------------------------//
  //- Parameters                                                        -//
  //---------------------------------------------------------------------//

  //---------------------------------------------------------------------//
  //- Operations                                                        -//
  //---------------------------------------------------------------------//

  void applyConfiguration(const ConfigStore& ref_config_store);

  void saveConfiguration();
};
}

#endif // CONFIG_APPLIER_H