Hide internal settings from weave/settings.h

BUG:24267885
Change-Id: I8584ba384b57703ea9bb7f9f9a285986373b455a
Reviewed-on: https://weave-review.googlesource.com/1194
Reviewed-by: Vitaly Buka <vitalybuka@google.com>
diff --git a/libweave/src/config.h b/libweave/src/config.h
index e014f20..5baff87 100644
--- a/libweave/src/config.h
+++ b/libweave/src/config.h
@@ -22,13 +22,20 @@
 // Handles reading buffet config and state files.
 class Config final {
  public:
-  using OnChangedCallback = base::Callback<void(const Settings&)>;
+  struct Settings : public weave::Settings {
+    std::string refresh_token;
+    std::string robot_account;
+    std::string last_configured_ssid;
+    std::string secret;
+  };
+
+  using OnChangedCallback = base::Callback<void(const weave::Settings&)>;
   ~Config() = default;
 
   explicit Config(provider::ConfigStore* config_store);
 
   void AddOnChangedCallback(const OnChangedCallback& callback);
-  const Settings& GetSettings() const;
+  const Config::Settings& GetSettings() const;
 
   void Load();