#ifndef IOTVT_SRM_PSI_H
#define IOTVT_SRM_PSI_H
+#include "cJSON.h"
+
/**
* Reads the Secure Virtual Database from PS into dynamically allocated
* memory buffer.
* @note Caller of this method MUST use OCFree() method to release memory
* referenced by return value.
*
- * @retval reference to memory buffer containing SVR database.
+ * @return char * reference to memory buffer containing SVR database.
*/
char * GetSVRDatabase();
* @param rsrcName string denoting the SVR name ("acl", "cred", "pstat" etc).
* @param jsonObj JSON object containing the SVR contents.
*
- * @retval OC_STACK_OK for Success, otherwise some error value
+ * @return ::OC_STACK_OK for Success, otherwise some error value
*/
OCStackResult UpdateSVRDatabase(const char* rsrcName, cJSON* jsonObj);
+/**
+ * Reads the Secure Virtual Database from PS
+ *
+ * @note Caller of this method MUST use OCFree() method to release memory
+ * referenced by return value.
+ *
+ * @param rsrcName is the name of the field for which file content are read.
+ if the value is NULL it will send the content of the whole file.
+ * @param data is the pointer to the file contents read from the database.
+ * @param size is the size to the file contents read.
+ *
+ * @return ::OC_STACK_OK for Success, otherwise some error value
+ */
+OCStackResult GetSecureVirtualDatabaseFromPS(const char *rsrcName, uint8_t **data, size_t *size);
+
+/**
+ * This method converts updates the persistent storage.
+ *
+ * @param rsrcName is the name of the secure resource that will be updated.
+ * @param cborPayload is the pointer holding cbor payload.
+ * @param cborPayload is the size of the cbor payload.
+ *
+ * @return ::OC_STACK_OK for Success, otherwise some error value
+ */
+OCStackResult UpdateSecureResourceInPS(const char* rsrcName, uint8_t* cborPayload, size_t size);
+
#endif //IOTVT_SRM_PSI_H