| Index: chromeos/network/onc/onc_utils.h
|
| diff --git a/chromeos/network/onc/onc_utils.h b/chromeos/network/onc/onc_utils.h
|
| index 13263a826ae442efaa4470b3f31f212b904b4820..61ab3a4f30f76a3373021d0e3a78f432ab9402b7 100644
|
| --- a/chromeos/network/onc/onc_utils.h
|
| +++ b/chromeos/network/onc/onc_utils.h
|
| @@ -7,9 +7,11 @@
|
|
|
| #include <string>
|
|
|
| +#include "base/basictypes.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "chromeos/chromeos_export.h"
|
| #include "chromeos/network/onc/onc_constants.h"
|
| +#include "chromeos/network/onc/onc_signature.h"
|
|
|
| namespace base {
|
| class DictionaryValue;
|
| @@ -28,7 +30,7 @@ CHROMEOS_EXPORT extern const char kEmptyUnencryptedConfiguration[];
|
| CHROMEOS_EXPORT scoped_ptr<base::DictionaryValue> ReadDictionaryFromJson(
|
| const std::string& json);
|
|
|
| -// Decrypt the given EncryptedConfiguration |onc| (see the ONC specification)
|
| +// Decrypts the given EncryptedConfiguration |onc| (see the ONC specification)
|
| // using |passphrase|. The resulting UnencryptedConfiguration is returned. If an
|
| // error occurs, returns NULL.
|
| CHROMEOS_EXPORT scoped_ptr<base::DictionaryValue> Decrypt(
|
| @@ -38,7 +40,31 @@ CHROMEOS_EXPORT scoped_ptr<base::DictionaryValue> Decrypt(
|
| // For logging only: strings not user facing.
|
| CHROMEOS_EXPORT std::string GetSourceAsString(ONCSource source);
|
|
|
| -} // chromeos
|
| -} // onc
|
| +// Used for string expansion with function ExpandStringInOncObject(...).
|
| +class CHROMEOS_EXPORT StringSubstitution {
|
| + public:
|
| + StringSubstitution() {}
|
| + virtual ~StringSubstitution() {}
|
| +
|
| + // Returns the replacement string for |placeholder| in
|
| + // |substitute|. Currently, onc::substitutes::kLoginIDField and
|
| + // onc::substitutes::kEmailField are supported.
|
| + virtual bool GetSubstitute(std::string placeholder,
|
| + std::string* substitute) const = 0;
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(StringSubstitution);
|
| +};
|
| +
|
| +// Replaces all expandable fields that are mentioned in the ONC
|
| +// specification. The object of |onc_object| is modified in place. Currently
|
| +// onc::substitutes::kLoginIDField and onc::substitutes::kEmailField are
|
| +// expanded. The replacement strings are obtained from |substitution|.
|
| +CHROMEOS_EXPORT void ExpandStringsInOncObject(
|
| + const OncValueSignature& signature,
|
| + const StringSubstitution& substitution,
|
| + base::DictionaryValue* onc_object);
|
| +
|
| +} // namespace onc
|
| +} // namespace chromeos
|
|
|
| #endif // CHROMEOS_NETWORK_ONC_ONC_UTILS_H_
|
|
|