+
+ /** Selects the last profile used. If the profile cache file is not
+ present, the default profile is assumed. */
+ void select_last_profile();
+
+ /** Selects a profile. The profile cache file is updated, unless doing a
+ dry run. */
+ void select_profile(const std::string &);
+
+ /** Processes options from the given raw option map. Nonexistent options
+ are ignored. If any options were changed, the mtime of the configuration is
+ updated to the current time. Return value indicates whether any options
+ were changed. */
+ bool update(const StringMap &);
+
+ /** Expands any variable references in options. */
+ void finish();
+
+ void save() const;