Skip to content
Snippets Groups Projects
SMPoliciesCollectionApiImpl.h 1.47 KiB
Newer Older
Rohan's avatar
Rohan committed
/**
 * Npcf_SMPolicyControl API
 * Session Management Policy Control Service © 2020, 3GPP Organizational
 * Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
 *
 * The version of the OpenAPI document: 1.1.1.alpha-5
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator
 * (https://openapi-generator.tech). https://openapi-generator.tech Do not edit
 * the class manually.
 */
Rohan's avatar
Rohan committed

/*
 * SMPoliciesCollectionApiImpl.h
 *
 *
 */
Rohan's avatar
Rohan committed

Rohan's avatar
Rohan committed

#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <optional>
Rohan's avatar
Rohan committed

#include <SMPoliciesCollectionApi.h>

#include "ProblemDetails.h"
#include "SmPolicyContextData.h"
#include "SmPolicyDecision.h"

#include "sm_policies_collection_api_handler.h"
Rohan's avatar
Rohan committed

namespace oai::pcf::api {
Rohan's avatar
Rohan committed

using namespace oai::model::pcf;
Rohan's avatar
Rohan committed
using namespace pcf;

class SMPoliciesCollectionApiImpl
    : public oai::pcf::api::SMPoliciesCollectionApi {
 public:
  explicit SMPoliciesCollectionApiImpl(
      const std::shared_ptr<Pistache::Rest::Router>& rtr,
      const std::shared_ptr<app::pcf_smpc>& smpc_service,
      const std::string& address);
  ~SMPoliciesCollectionApiImpl() override = default;
Rohan's avatar
Rohan committed

  void create_sm_policy(
      const SmPolicyContextData& smPolicyContextData,
      Pistache::Http::ResponseWriter& response) override;
  std::shared_ptr<sm_policies_collection_api_handler> m_api_handler;
Rohan's avatar
Rohan committed
};

}  // namespace oai::pcf::api