ApplicationDataSubscriptionsCollectionApi.h 2.42 KB
Newer Older
yangjian's avatar
yangjian committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
/**
* Nudr_DataRepository API OpenAPI file
* Unified Data Repository Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. 
*
* The version of the OpenAPI document: 2.1.2
* 
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
 * ApplicationDataSubscriptionsCollectionApi.h
 *
 * 
 */

#ifndef ApplicationDataSubscriptionsCollectionApi_H_
#define ApplicationDataSubscriptionsCollectionApi_H_


#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>


#include "ApplicationDataSubs.h"
#include "DataFilter.h"
#include "ProblemDetails.h"

32
namespace oai::udr::api {
yangjian's avatar
yangjian committed
33

34
using namespace oai::udr::model;
yangjian's avatar
yangjian committed
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73

class  ApplicationDataSubscriptionsCollectionApi {
public:
    ApplicationDataSubscriptionsCollectionApi(std::shared_ptr<Pistache::Rest::Router>);
    virtual ~ApplicationDataSubscriptionsCollectionApi() {}
    void init();

    const std::string base = "/nudr-dr/v2";

private:
    void setupRoutes();

    void create_individual_application_data_subscription_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
    void read_application_data_change_subscriptions_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
    void application_data_subscriptions_collection_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);

    std::shared_ptr<Pistache::Rest::Router> router;

    /// <summary>
    /// Create a subscription to receive notification of application data changes
    /// </summary>
    /// <remarks>
    /// 
    /// </remarks>
    /// <param name="applicationDataSubs"></param>
    virtual void create_individual_application_data_subscription(const ApplicationDataSubs &applicationDataSubs, Pistache::Http::ResponseWriter &response) = 0;

    /// <summary>
    /// Read Application Data change Subscriptions
    /// </summary>
    /// <remarks>
    /// 
    /// </remarks>
    /// <param name="dataFilter">The data filter for the query. (optional, default to DataFilter())</param>
    virtual void read_application_data_change_subscriptions(const Pistache::Optional<DataFilter> &dataFilter, Pistache::Http::ResponseWriter &response) = 0;

};

}
74 75 76



yangjian's avatar
yangjian committed
77 78 79

#endif /* ApplicationDataSubscriptionsCollectionApi_H_ */