X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fstack%2Finclude%2Finternal%2Focserverrequest.h;h=565c6e18f8e244c1c6138a03045be17c01bdc5e3;hb=e536bc9edf0ad1fea100e07755462dc0914304eb;hp=d4bea550f9fb57d4b6918f12690b5e983a5615a8;hpb=876c211ba5d769836035fdd4ebac49433067adf7;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/stack/include/internal/ocserverrequest.h b/resource/csdk/stack/include/internal/ocserverrequest.h index d4bea55..565c6e1 100644 --- a/resource/csdk/stack/include/internal/ocserverrequest.h +++ b/resource/csdk/stack/include/internal/ocserverrequest.h @@ -45,6 +45,9 @@ typedef struct OCServerRequest /** The REST method retrieved from received request PDU.*/ OCMethod method; + /** Accept format retrieved from the received request PDU. */ + OCPayloadFormat acceptFormat; + /** resourceUrl will be filled in occoap using the path options in received request PDU.*/ char resourceUrl[MAX_URI_LENGTH]; @@ -55,7 +58,6 @@ typedef struct OCServerRequest OCQualityOfService qos; /** Observe option field.*/ - uint32_t observationOption; /** Observe Result field.*/ @@ -70,6 +72,9 @@ typedef struct OCServerRequest /** Remote endpoint address **/ OCDevAddr devAddr; + /** The ID of server request*/ + uint32_t requestId; + /** Token for the request.*/ CAToken_t requestToken; @@ -86,7 +91,7 @@ typedef struct OCServerRequest uint8_t numRcvdVendorSpecificHeaderOptions; /** An Array of received vendor specific header options.*/ - OCHeaderOption rcvdVendorSpecificHeaderOptions[MAX_HEADER_OPTIONS]; + OCHeaderOption *rcvdVendorSpecificHeaderOptions; /** Request to complete.*/ uint8_t requestComplete; @@ -106,6 +111,9 @@ typedef struct OCServerRequest /** payload is retrieved from the payload of the received request PDU.*/ uint8_t payload[1]; + // WARNING: Do NOT add attributes after payload as they get overwritten + // when payload content gets copied over! + } OCServerRequest; /** @@ -169,7 +177,7 @@ OCServerRequest * GetServerRequestUsingToken (const CAToken_t token, uint8_t tok * @return * OCServerRequest* */ -OCServerRequest * GetServerRequestUsingHandle (const OCServerRequest * handle); +OCServerRequest * GetServerRequestUsingHandle (const OCRequestHandle handle); /** * Get a server response from the server response list using the specified handle @@ -179,7 +187,7 @@ OCServerRequest * GetServerRequestUsingHandle (const OCServerRequest * handle); * @return * OCServerResponse* */ -OCServerResponse * GetServerResponseUsingHandle (const OCServerRequest * handle); +OCServerResponse * GetServerResponseUsingHandle (const OCRequestHandle handle); /** * Add a server request to the server request list @@ -199,6 +207,7 @@ OCServerResponse * GetServerResponseUsingHandle (const OCServerRequest * handle) * @param tokenLength Request token length. * @param resourceUrl URL of resource. * @param reqTotalSize Total size of the request. + * @param acceptFormat The format requested for the payload encoding. * @param devAddr Device Address. * * @return @@ -212,6 +221,7 @@ OCStackResult AddServerRequest (OCServerRequest ** request, uint16_t coapID, uint8_t * payload, CAToken_t requestToken, uint8_t tokenLength, char * resourceUrl, size_t reqTotalSize, + OCPayloadFormat acceptFormat, const OCDevAddr *devAddr); /** @@ -232,18 +242,20 @@ OCStackResult AddServerRequest (OCServerRequest ** request, uint16_t coapID, * OCStackResult */ OCStackResult FormOCEntityHandlerRequest( - OCEntityHandlerRequest *entityHandlerRequest, - OCRequestHandle request, - OCMethod method, - OCDevAddr *endpoint, - OCResourceHandle resource, - char *queryBuf, - uint8_t *payload, - size_t payloadSize, - uint8_t numVendorOptions, - OCHeaderOption *vendorOptions, - OCObserveAction observeAction, - OCObservationId observeID); + OCEntityHandlerRequest * entityHandlerRequest, + OCRequestHandle request, + OCMethod method, + OCDevAddr *endpoint, + OCResourceHandle resource, + char * queryBuf, + OCPayloadType payloadType, + uint8_t * payload, + size_t payloadSize, + uint8_t numVendorOptions, + OCHeaderOption * vendorOptions, + OCObserveAction observeAction, + OCObservationId observeID, + uint16_t messageID); /** * Find a server request in the server request list and delete