summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Bray <ncbray@google.com>2019-02-07 11:29:16 -0800
committerandroid-build-merger <android-build-merger@google.com>2019-02-07 11:29:16 -0800
commit22d67982fd1a522f042e3531c357419619e5142d (patch)
tree1a7619f430102f611288e07dd2a70985579b1552
parenta6c5f426fd4c38eedf8a8d7ac0287d8d6e84146d (diff)
parent996578be59c32c546844e1d3eea900749df1c5fa (diff)
downloadkeymaster-22d67982fd1a522f042e3531c357419619e5142d.tar.gz
Fix issue where hiding copy constructor deletes move constructor. am: 3b12e5e65b
am: 996578be59 Change-Id: Ic1c7017503466cdb1df0ab77080823232804240f
-rw-r--r--include/keymaster/android_keymaster_messages.h5
-rw-r--r--include/keymaster/serializable.h9
2 files changed, 7 insertions, 7 deletions
diff --git a/include/keymaster/android_keymaster_messages.h b/include/keymaster/android_keymaster_messages.h
index 5adf4c6..002a3ac 100644
--- a/include/keymaster/android_keymaster_messages.h
+++ b/include/keymaster/android_keymaster_messages.h
@@ -103,7 +103,7 @@ inline int32_t MessageVersion(uint8_t major_ver, uint8_t minor_ver, uint8_t /* s
struct KeymasterMessage : public Serializable {
explicit KeymasterMessage(int32_t ver) : message_version(ver) { assert(ver >= 0); }
- KeymasterMessage(KeymasterMessage&& other) : message_version(move(other.message_version)) {}
+
uint32_t message_version;
};
@@ -116,9 +116,6 @@ struct KeymasterMessage : public Serializable {
struct KeymasterResponse : public KeymasterMessage {
explicit KeymasterResponse(int32_t ver)
: KeymasterMessage(ver), error(KM_ERROR_UNKNOWN_ERROR) {}
- KeymasterResponse(KeymasterResponse&& other)
- : KeymasterMessage(move(other)), error(move(other.error)) {}
- KeymasterResponse& operator=(KeymasterResponse&&) = default;
size_t SerializedSize() const override;
uint8_t* Serialize(uint8_t* buf, const uint8_t* end) const override;
diff --git a/include/keymaster/serializable.h b/include/keymaster/serializable.h
index f182645..9f69f44 100644
--- a/include/keymaster/serializable.h
+++ b/include/keymaster/serializable.h
@@ -52,10 +52,13 @@ class Serializable {
*/
virtual bool Deserialize(const uint8_t** buf_ptr, const uint8_t* end) = 0;
- private:
// Disallow copying and assignment.
- Serializable(const Serializable&);
- void operator=(const Serializable&);
+ Serializable(const Serializable&) = delete;
+ Serializable& operator=(const Serializable&) = delete;
+
+ // Move only.
+ Serializable(Serializable&&) = default;
+ Serializable& operator=(Serializable&&) = default;
};
/*