Add method to forget private partition keys.

Report both the disk and the partition GUID for private volumes to
userspace, and offer to forget the encryption key for a given
partition GUID.

Bug: 21782268
Change-Id: Ie77a3a58e47bf3563cdb3e4b0edfab1de4d0e6b4
diff --git a/VolumeBase.h b/VolumeBase.h
index 42b4d65..d417019 100644
--- a/VolumeBase.h
+++ b/VolumeBase.h
@@ -76,6 +76,7 @@
 
     const std::string& getId() { return mId; }
     const std::string& getDiskId() { return mDiskId; }
+    const std::string& getPartGuid() { return mPartGuid; }
     Type getType() { return mType; }
     int getMountFlags() { return mMountFlags; }
     userid_t getMountUserId() { return mMountUserId; }
@@ -84,6 +85,7 @@
     const std::string& getInternalPath() { return mInternalPath; }
 
     status_t setDiskId(const std::string& diskId);
+    status_t setPartGuid(const std::string& partGuid);
     status_t setMountFlags(int mountFlags);
     status_t setMountUserId(userid_t mountUserId);
     status_t setSilent(bool silent);
@@ -120,6 +122,8 @@
     std::string mId;
     /* ID that uniquely references parent disk while alive */
     std::string mDiskId;
+    /* Partition GUID of this volume */
+    std::string mPartGuid;
     /* Volume type */
     Type mType;
     /* Flags used when mounting this volume */