Listing 1: Settings class

struct PairedMessageLogSettings
{
private:
  enum
  { DEFAULT_AUTO_REFRESH_PERIOD = 10000,  /* milliseconds */ };

public:
  PairedMessageLogSettings(
    const std::string & strLogFileName,
    const std::string & strAllMessagesLogFileName,
    int nAutoRefreshMilliseconds = DEFAULT_AUTO_REFRESH_PERIOD);
  PairedMessageLogSettings(
    const std::string & strLogFileName,
    const std::string & strAllMessagesLogFileName,
    bool bEveryTime);

  bool HasAllMessagesLogFile() const
  {
    bool bHas = ( !m_strAllMessagesLogFileName.empty());
    return bHas;
  }

  const std::string m_strLogFileName;
  const std::string m_strAllMessagesLogFileName;
  int m_nAutoRefreshMilliseconds;
  bool m_bRefreshEveryTime;
};