#ifndef CHROME_SERVICES_MAC_NOTIFICATIONS_MAC_NOTIFICATION_PROVIDER_IMPL_H_
#define CHROME_SERVICES_MAC_NOTIFICATIONS_MAC_NOTIFICATION_PROVIDER_IMPL_H_
#include <memory>
#include "chrome/services/mac_notifications/public/mojom/mac_notifications.mojom.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver.h"
namespace mac_notifications {
class MacNotificationProviderImpl : public mojom::MacNotificationProvider {
public:
MacNotificationProviderImpl();
explicit MacNotificationProviderImpl(
mojo::PendingReceiver<mojom::MacNotificationProvider> binding);
MacNotificationProviderImpl(const MacNotificationProviderImpl&) = delete;
MacNotificationProviderImpl& operator=(const MacNotificationProviderImpl&) =
delete;
~MacNotificationProviderImpl() override;
void BindNotificationService(
mojo::PendingReceiver<mojom::MacNotificationService> service,
mojo::PendingRemote<mojom::MacNotificationActionHandler> handler)
override;
private:
mojo::Receiver<mojom::MacNotificationProvider> binding_{this};
std::unique_ptr<mojom::MacNotificationService> service_;
};
}
#endif