#ifndef UI_OZONE_PLATFORM_OBJECT_INTERNAL_H_
#define UI_OZONE_PLATFORM_OBJECT_INTERNAL_H_
#include <memory>
#include "base/compiler_specific.h"
#include "base/component_export.h"
#include "base/memory/ptr_util.h"
#include "ui/ozone/platform_constructor_list.h"
#include "ui/ozone/platform_object.h"
#include "ui/ozone/platform_selection.h"
namespace ui {
template <class T>
std::unique_ptr<T> PlatformObject<T>::Create() {
typedef typename PlatformConstructorList<T>::Constructor Constructor;
int platform = GetOzonePlatformId();
Constructor constructor =
UNSAFE_TODO(PlatformConstructorList<T>::kConstructors[platform]);
return base::WrapUnique(constructor());
}
}
#endif