Commit 025cb553 authored by Owen Min's avatar Owen Min Committed by Commit Bot

Add copy/move-ctor/operator for BrowserDMToken class

BrowserDMToken contains a string and an enum. It should be able to be
copied and moved as a normal string. Explicitly declare copy and move
constructor and operator.

Also move the factory function declaration to the top of the class.

Bug: 1020296
Change-Id: I401812b07db1bd2801a4133cb67592f9ef4bc6d2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1906477Reviewed-by: default avatarRoger Tawa <rogerta@chromium.org>
Commit-Queue: Owen Min <zmin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#714515}
parent fba650dc
...@@ -59,6 +59,17 @@ BrowserDMToken BrowserDMToken::CreateEmptyToken() { ...@@ -59,6 +59,17 @@ BrowserDMToken BrowserDMToken::CreateEmptyToken() {
return BrowserDMToken(Status::kEmpty, ""); return BrowserDMToken(Status::kEmpty, "");
} }
BrowserDMToken::BrowserDMToken(const BrowserDMToken& other) = default;
BrowserDMToken::BrowserDMToken(BrowserDMToken&& other) = default;
BrowserDMToken& BrowserDMToken::operator=(const BrowserDMToken& other) =
default;
BrowserDMToken& BrowserDMToken::operator=(BrowserDMToken&& other) = default;
BrowserDMToken::~BrowserDMToken() = default;
const std::string& BrowserDMToken::value() const { const std::string& BrowserDMToken::value() const {
// TODO(domfc): Uncomment DCHECK(is_valid()) after migrating code. // TODO(domfc): Uncomment DCHECK(is_valid()) after migrating code.
// DCHECK(is_valid()); // DCHECK(is_valid());
......
...@@ -44,16 +44,23 @@ class BrowserDMTokenStorage { ...@@ -44,16 +44,23 @@ class BrowserDMTokenStorage {
// enrollment token is present. // enrollment token is present.
class BrowserDMToken { class BrowserDMToken {
public: public:
static BrowserDMToken CreateValidToken(const std::string& value);
static BrowserDMToken CreateInvalidToken();
static BrowserDMToken CreateEmptyToken();
BrowserDMToken(const BrowserDMToken& other);
BrowserDMToken(BrowserDMToken&& other);
BrowserDMToken& operator=(const BrowserDMToken& other);
BrowserDMToken& operator=(BrowserDMToken&& other);
~BrowserDMToken();
const std::string& value() const; const std::string& value() const;
bool is_valid() const; bool is_valid() const;
bool is_invalid() const; bool is_invalid() const;
bool is_empty() const; bool is_empty() const;
static BrowserDMToken CreateValidToken(const std::string& value);
static BrowserDMToken CreateInvalidToken();
static BrowserDMToken CreateEmptyToken();
private: private:
enum class Status { kValid, kInvalid, kEmpty }; enum class Status { kValid, kInvalid, kEmpty };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment