security: Adding delete methods in KeyChain
Change-Id: I8e3bbbf6e911b43189c510c56118d291f8932df4
diff --git a/src/security/sec-public-info-memory.hpp b/src/security/sec-public-info-memory.hpp
index c991f1a..eb747e9 100644
--- a/src/security/sec-public-info-memory.hpp
+++ b/src/security/sec-public-info-memory.hpp
@@ -142,20 +142,20 @@
virtual Name
getDefaultCertificateNameForKey(const Name& keyName);
- virtual std::vector<Name>
- getAllIdentities(bool isDefault);
+ virtual void
+ getAllIdentities(std::vector<Name> &nameList, bool isDefault);
- virtual std::vector<Name>
- getAllKeyNames(bool isDefault);
+ virtual void
+ getAllKeyNames(std::vector<Name> &nameList, bool isDefault);
- virtual std::vector<Name>
- getAllKeyNamesOfIdentity(const Name& identity, bool isDefault);
+ virtual void
+ getAllKeyNamesOfIdentity(const Name& identity, std::vector<Name> &nameList, bool isDefault);
- virtual std::vector<Name>
- getAllCertificateNames(bool isDefault);
+ virtual void
+ getAllCertificateNames(std::vector<Name> &nameList, bool isDefault);
- virtual std::vector<Name>
- getAllCertificateNamesOfKey(const Name& keyName, bool isDefault);
+ virtual void
+ getAllCertificateNamesOfKey(const Name& keyName, std::vector<Name> &nameList, bool isDefault);
protected:
/**
@@ -182,6 +182,27 @@
virtual void
setDefaultCertificateNameForKeyInternal(const Name& certificateName);
+ /**
+ * Delete a certificate.
+ * @param certificateName The certificate name.
+ */
+ virtual void
+ deleteCertificateInfo(const Name &certificateName);
+
+ /**
+ * Delete a public key and related certificates.
+ * @param keyName The key name.
+ */
+ virtual void
+ deletePublicKeyInfo(const Name &keyName);
+
+ /**
+ * Delete an identity and related public keys and certificates.
+ * @param identity The identity name.
+ */
+ virtual void
+ deleteIdentityInfo(const Name &identity);
+
private:
class KeyRecord {