Commit ca5c38a9 authored by sammc's avatar sammc Committed by Commit bot

Fix ODR violations caused by mojoms being included in multiple components.

This also changes the component //device/generic_sensor/public/cpp to
use a different export define to //device/generic_sensor.

BUG=636563

Review-Url: https://codereview.chromium.org/2587883002
Cr-Commit-Position: refs/heads/master@{#439705}
parent 26fe71ae
......@@ -53,7 +53,6 @@ component("generic_sensor") {
public_deps = [
"//device/generic_sensor/public/cpp",
"//device/generic_sensor/public/interfaces",
]
if (is_android) {
......
......@@ -8,6 +8,7 @@
#include "base/scoped_observer.h"
#include "device/base/device_monitor_linux.h"
#include "device/generic_sensor/generic_sensor_export.h"
#include "device/generic_sensor/public/interfaces/sensor.mojom.h"
namespace device {
......
......@@ -7,6 +7,7 @@
#include "device/generic_sensor/platform_sensor_provider.h"
#include "device/generic_sensor/generic_sensor_export.h"
#include "device/generic_sensor/linux/sensor_device_manager.h"
namespace base {
......
......@@ -6,7 +6,6 @@
#define DEVICE_GENERIC_SENSOR_PLATFORM_SENSOR_READER_LINUX_H_
#include "base/memory/ref_counted.h"
#include "device/generic_sensor/generic_sensor_export.h"
namespace base {
class SingleThreadTaskRunner;
......
......@@ -10,11 +10,14 @@ component("cpp") {
"sensor_reading.h",
]
defines = [ "DEVICE_GENERIC_SENSOR_IMPLEMENTATION" ]
defines = [ "DEVICE_GENERIC_SENSOR_PUBLIC_IMPLEMENTATION" ]
public_deps = [
"//device/generic_sensor/public/interfaces",
]
deps = [
"//base",
"//device/base/synchronization",
"//device/generic_sensor/public/interfaces",
]
}
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef DEVICE_GENERIC_SENSOR_PUBLIC_CPP_GENERIC_SENSOR_PUBLIC_EXPORT_H_
#define DEVICE_GENERIC_SENSOR_PUBLIC_CPP_GENERIC_SENSOR_PUBLIC_EXPORT_H_
#if defined(COMPONENT_BUILD)
#if defined(WIN32)
#if defined(DEVICE_GENERIC_SENSOR_PUBLIC_IMPLEMENTATION)
#define DEVICE_GENERIC_SENSOR_PUBLIC_EXPORT __declspec(dllexport)
#else
#define DEVICE_GENERIC_SENSOR_PUBLIC_EXPORT __declspec(dllimport)
#endif // defined(DEVICE_GENERIC_SENSOR_PUBLIC_IMPLEMENTATION)
#else // defined(WIN32)
#if defined(DEVICE_GENERIC_SENSOR_PUBLIC_IMPLEMENTATION)
#define DEVICE_GENERIC_SENSOR_PUBLIC_EXPORT \
__attribute__((visibility("default")))
#else
#define DEVICE_GENERIC_SENSOR_PUBLIC_EXPORT
#endif
#endif
#else // defined(COMPONENT_BUILD)
#define DEVICE_GENERIC_SENSOR_PUBLIC_EXPORT
#endif
#endif // DEVICE_GENERIC_SENSOR_PUBLIC_CPP_GENERIC_SENSOR_PUBLIC_EXPORT_H_
......@@ -6,11 +6,11 @@
#define DEVICE_GENERIC_SENSOR_PLATFORM_SENSOR_CONFIGURATION_H_
#include "base/logging.h"
#include "device/generic_sensor/generic_sensor_export.h"
#include "device/generic_sensor/public/cpp/generic_sensor_public_export.h"
namespace device {
class DEVICE_GENERIC_SENSOR_EXPORT PlatformSensorConfiguration {
class DEVICE_GENERIC_SENSOR_PUBLIC_EXPORT PlatformSensorConfiguration {
public:
PlatformSensorConfiguration();
explicit PlatformSensorConfiguration(double frequency);
......
......@@ -6,7 +6,7 @@
#define DEVICE_GENERIC_SENSOR_PUBLIC_CPP_SENSOR_READING_H_
#include "device/base/synchronization/one_writer_seqlock.h"
#include "device/generic_sensor/generic_sensor_export.h"
#include "device/generic_sensor/public/cpp/generic_sensor_public_export.h"
#include "device/generic_sensor/public/interfaces/sensor.mojom.h"
namespace device {
......@@ -40,7 +40,7 @@ class SensorReadingField {
};
// This structure represents sensor reading data: timestamp and 3 values.
struct DEVICE_GENERIC_SENSOR_EXPORT SensorReading {
struct DEVICE_GENERIC_SENSOR_PUBLIC_EXPORT SensorReading {
SensorReading();
~SensorReading();
SensorReading(const SensorReading& other);
......@@ -50,7 +50,7 @@ struct DEVICE_GENERIC_SENSOR_EXPORT SensorReading {
// This structure represents sensor reading buffer: sensor reading and seqlock
// for synchronization.
struct DEVICE_GENERIC_SENSOR_EXPORT SensorReadingSharedBuffer {
struct DEVICE_GENERIC_SENSOR_PUBLIC_EXPORT SensorReadingSharedBuffer {
SensorReadingSharedBuffer();
~SensorReadingSharedBuffer();
SensorReadingField<OneWriterSeqLock> seqlock;
......
......@@ -5,9 +5,10 @@
import("//mojo/public/tools/bindings/mojom.gni")
mojom("interfaces") {
export_class_attribute = "DEVICE_GENERIC_SENSOR_EXPORT"
export_define = "DEVICE_GENERIC_SENSOR_IMPLEMENTATION=1"
export_header = "device/generic_sensor/generic_sensor_export.h"
export_class_attribute = "DEVICE_GENERIC_SENSOR_PUBLIC_EXPORT"
export_define = "DEVICE_GENERIC_SENSOR_PUBLIC_IMPLEMENTATION=1"
export_header =
"device/generic_sensor/public/cpp/generic_sensor_public_export.h"
sources = [
"sensor.mojom",
"sensor_provider.mojom",
......
......@@ -11,6 +11,5 @@ blink_core_sources("offscreencanvas") {
]
deps = [
"//mojo/public/cpp/bindings:bindings",
"//third_party/WebKit/public:offscreen_canvas_mojo_bindings_blink",
]
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment