//
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+#include <string.h>
#include "resourcemanager.h"
#include "securevirtualresourcetypes.h"
#include "aclresource.h"
#include "oic_string.h"
#include "logger.h"
#include "utlist.h"
-#include <string.h>
+
+//#ifdef DIRECT_PAIRING
+#include "pconfresource.h"
+#include "dpairingresource.h"
+//#endif // DIRECT_PAIRING
+#include "verresource.h"
#define TAG "SRM-RM"
#include "crlresource.h"
#endif // __WITH_X509__
-/**
- * This method is used by all secure resource modules to send responses to REST queries.
- *
- * @param ehRequest pointer to entity handler request data structure.
- * @param ehRet result code from entity handler.
- * @param rspPayload response payload in JSON.
- *
- * @retval OC_STACK_OK for Success, otherwise some error value
- */
OCStackResult SendSRMResponse(const OCEntityHandlerRequest *ehRequest,
- OCEntityHandlerResult ehRet, const char *rspPayload)
+ OCEntityHandlerResult ehRet, uint8_t *cborPayload, size_t size)
{
- OC_LOG (DEBUG, TAG, "SRM sending SRM response");
+ OIC_LOG(DEBUG, TAG, "SRM sending SRM response");
OCEntityHandlerResponse response = {.requestHandle = NULL};
+ OCStackResult ret = OC_STACK_ERROR;
+
if (ehRequest)
{
OCSecurityPayload ocPayload = {.base = {.type = PAYLOAD_TYPE_INVALID}};
response.requestHandle = ehRequest->requestHandle;
response.resourceHandle = ehRequest->resource;
response.ehResult = ehRet;
- response.payload = (OCPayload*)(&ocPayload);
+ response.payload = (OCPayload *)(&ocPayload);
response.payload->type = PAYLOAD_TYPE_SECURITY;
- ((OCSecurityPayload*)response.payload)->securityData = (char *)rspPayload;
+ ((OCSecurityPayload *)response.payload)->securityData = cborPayload;
+ ((OCSecurityPayload *)response.payload)->payloadSize = size;
response.persistentBufferFlag = 0;
- return OCDoResponse(&response);
+ ret = OCDoResponse(&response);
}
- return OC_STACK_ERROR;
+ return ret;
}
-/**
- * Initialize all secure resources ( /oic/sec/cred, /oic/sec/acl, /oic/sec/pstat etc).
- *
- * @retval OC_STACK_OK for Success, otherwise some error value
- */
OCStackResult InitSecureResources( )
{
OCStackResult ret;
if(OC_STACK_OK == ret)
{
ret = InitSVCResource();
- }
- if(OC_STACK_OK == ret)
+ }
+ if(OC_STACK_OK == ret)
{
ret = InitAmaclResource();
}
+//#ifdef DIRECT_PAIRING
+ if(OC_STACK_OK == ret)
+ {
+ ret = InitPconfResource();
+ }
+ if(OC_STACK_OK == ret)
+ {
+ ret = InitDpairingResource();
+ }
+//#endif // DIRECT_PAIRING
+ if(OC_STACK_OK == ret)
+ {
+ ret = InitVerResource();
+ }
if(OC_STACK_OK != ret)
{
//TODO: Update the default behavior if one of the SVR fails
return ret;
}
-/**
- * Perform cleanup for secure resources ( /oic/sec/cred, /oic/sec/acl, /oic/sec/pstat etc).
- *
- * @retval OC_STACK_OK for Success, otherwise some error value
- */
OCStackResult DestroySecureResources( )
{
DeInitACLResource();
#endif // __WITH_X509__
DeInitSVCResource();
DeInitAmaclResource();
+//#ifdef DIRECT_PAIRING
+ DeInitPconfResource();
+ DeInitDpairingResource();
+//#endif // DIRECT_PAIRING
+ DeInitVerResource();
return OC_STACK_OK;
}