gena_device.h File Reference
`#include "httpparser.h"`
`#include "sock.h"`
Include dependency graph for gena_device.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Functions

void | gena_process_subscription_request (SOCKINFO *info, http_message_t *request)
| Handles a subscription request from a ctrl point. The socket is not closed on return.
void | gena_process_subscription_renewal_request (SOCKINFO *info, http_message_t *request)
| Handles a subscription renewal request from a ctrl point. The connection is not destroyed on return.
void | gena_process_unsubscribe_request (SOCKINFO *info, http_message_t *request)
| Handles a subscription cancellation request from a ctrl point. The connection is not destroyed on return.

## Function Documentation

## gena_process_subscription_renewal_request()

void gena_process_subscription_renewal_request | ( | SOCKINFO * | info,
|  | http_message_t * | request
| ) |  |

Handles a subscription renewal request from a ctrl point. The connection is not destroyed on return.

Parameters

  [in] | info | Socket info of the device.
  [in] | request | Subscription renewal request from the control point.

References memptr::buf, membuffer::buf, device_handle, SOCKINFO::foreign_sockaddr, GetDeviceHandleInfoForPath(), memptr::length, Handle_Info::MaxSubscriptions, Handle_Info::MaxSubscriptionTimeOut, PARSE_OK, respond_ok(), UPNP_E_SUCCESS, UpnpPrintf(), and http_message_t::uri.

Referenced by genaCallback().

## gena_process_subscription_request()

void gena_process_subscription_request | ( | SOCKINFO * | info,
|  | http_message_t * | request
| ) |  |

Handles a subscription request from a ctrl point. The socket is not closed on return.

Parameters

  [in] | info | Socket info of the device.
  [in] | request | Subscription request from the control point.

References memptr::buf, Handle_Info::Callback, Handle_Info::Cookie, create_url_list(), device_handle, SOCKINFO::foreign_sockaddr, gena_validate_delivery_urls(), GetDeviceHandleInfoForPath(), memptr::length, Handle_Info::MaxSubscriptions, Handle_Info::MaxSubscriptionTimeOut, PARSE_OK, respond_ok(), UPNP_E_OUTOF_MEMORY, UPNP_E_SUCCESS, UPNP_EVENT_SUBSCRIPTION_REQUEST, UpnpPrintf(), UpnpSubscriptionRequest_delete(), UpnpSubscriptionRequest_new(), UpnpSubscriptionRequest_strcpy_ServiceId(), UpnpSubscriptionRequest_strcpy_SID(), UpnpSubscriptionRequest_strcpy_UDN(), http_message_t::uri, and URL_LIST::URLs.

Referenced by genaCallback().

## gena_process_unsubscribe_request()

void gena_process_unsubscribe_request | ( | SOCKINFO * | info,
|  | http_message_t * | request
| ) |  |

Handles a subscription cancellation request from a ctrl point. The connection is not destroyed on return.

Parameters

  [in] | info | Socket info of the device.
  [in] | request | UNSUBSCRIBE request from the control point.

References memptr::buf, membuffer::buf, device_handle, SOCKINFO::foreign_sockaddr, GetDeviceHandleInfoForPath(), memptr::length, and http_message_t::uri.

Referenced by genaCallback().