chromium/ui/aura/client/drag_drop_client.h

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_AURA_CLIENT_DRAG_DROP_CLIENT_H_
#define UI_AURA_CLIENT_DRAG_DROP_CLIENT_H_

#include <memory>

#include "ui/aura/aura_export.h"
#include "ui/base/dragdrop/mojom/drag_drop_types.mojom-forward.h"
#include "ui/gfx/native_widget_types.h"

namespace gfx {
class ImageSkia;
class Point;
class Vector2d;
}

namespace ui {
class OSExchangeData;
}

namespace aura {
class Window;
namespace client {

class DragDropClientObserver;

// An interface implemented by an object that controls a drag and drop session.
class AURA_EXPORT DragDropClient {};

AURA_EXPORT void SetDragDropClient(Window* root_window,
                                   DragDropClient* client);
AURA_EXPORT DragDropClient* GetDragDropClient(Window* root_window);

}  // namespace client
}  // namespace aura

#endif  // UI_AURA_CLIENT_DRAG_DROP_CLIENT_H_