#ifndef AmfToDataApi_H_
#define AmfToDataApi_H_

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


#include <string>

namespace oai {
namespace amf {
namespace api {


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

  const std::string base = "/namf-oai/";

 private:
  void setupRoutes();
  std::shared_ptr<Pistache::Rest::Router> router;
  
    //获取gnb数列表
    void gnbs_get_am_data_handler(
        const Pistache::Rest::Request &request,              
        Pistache::Http::ResponseWriter response);
    void gnbs_default_handler(
        const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
    virtual void gnbs_get_am_data(
        Pistache::Http::ResponseWriter &response)=0;
    
    //获取ue数列表
    void ues_get_am_data_handler(
        const Pistache::Rest::Request &request,              
        Pistache::Http::ResponseWriter response);
    void ues_default_handler(
        const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
    virtual void ues_get_am_data(
        Pistache::Http::ResponseWriter &response)=0;

};

}  // namespace api
}  // namespace amf
}  // namespace oai

#endif /* AmfToDataApi_H_ */

