/**
 * Adobe Experience Manager (AEM) API
 * Swagger AEM is an OpenAPI specification for Adobe Experience Manager (AEM) API
 *
 * OpenAPI spec version: 3.2.0-pre.0
 * Contact: opensource@shinesolutions.com
 *
 * NOTE: This class is auto generated by OpenAPI-Generator 3.2.1-SNAPSHOT.
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/*
 * CqApi.h
 *
 * 
 */

#ifndef ORG_OPENAPITOOLS_CLIENT_API_CqApi_H_
#define ORG_OPENAPITOOLS_CLIENT_API_CqApi_H_


#include "../ApiClient.h"

#include <cpprest/details/basic_types.h>

#include <boost/optional.hpp>

namespace org {
namespace openapitools {
namespace client {
namespace api {

using namespace org::openapitools::client::model;



class  CqApi 
{
public:

    explicit CqApi( std::shared_ptr<ApiClient> apiClient );

    virtual ~CqApi() = default;

    /// <summary>
    /// 
    /// </summary>
    /// <remarks>
    /// 
    /// </remarks>
    pplx::task<utility::string_t> getLoginPage(
    );
    /// <summary>
    /// 
    /// </summary>
    /// <remarks>
    /// 
    /// </remarks>
    /// <param name="authorizableId"></param>
    /// <param name="changelog"></param>
    pplx::task<void> postCqActions(
        utility::string_t authorizableId,
        utility::string_t changelog
    );

protected:
    std::shared_ptr<ApiClient> m_ApiClient;
};

}
}
}
}

#endif /* ORG_OPENAPITOOLS_CLIENT_API_CqApi_H_ */

