use std::sync::Arc;
use super::configuration::Configuration;
use hyper;
use hyper_util::client::legacy::connect::Connect;
pub struct APIClient<C: Connect>
where
C: Clone + std::marker::Send + Sync + 'static,
{
manage_audience: super::ManageAudienceApiClient<C>,
manage_audience_blob: super::ManageAudienceBlobApiClient<C>,
}
impl<C: Connect> APIClient<C>
where
C: Clone + std::marker::Send + Sync + 'static,
{
pub fn new(configuration: Configuration<C>) -> APIClient<C> {
let rc = Arc::new(configuration);
APIClient {
manage_audience: super::ManageAudienceApiClient::new(rc.clone()),
manage_audience_blob: super::ManageAudienceBlobApiClient::new(rc.clone()),
}
}
pub fn manage_audience(&self) -> &super::ManageAudienceApiClient<C> {
&self.manage_audience
}
pub fn manage_audience_blob(&self) -> &super::ManageAudienceBlobApiClient<C> {
&self.manage_audience_blob
}
}