1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef MOJO_EMBEDDER_SIMPLE_PLATFORM_SUPPORT_H_ 6#define MOJO_EMBEDDER_SIMPLE_PLATFORM_SUPPORT_H_ 7 8#include "base/macros.h" 9#include "mojo/embedder/platform_support.h" 10#include "mojo/system/system_impl_export.h" 11 12namespace mojo { 13namespace embedder { 14 15// A simple implementation of |PlatformSupport|, when sandboxing and 16// multiprocess support are not issues (e.g., in most tests). Note: This class 17// has no state, and different instances of |SimplePlatformSupport| are mutually 18// compatible (i.e., you don't need to use a single instance of it everywhere -- 19// you may simply create one whenever/wherever you need it). 20class MOJO_SYSTEM_IMPL_EXPORT SimplePlatformSupport : public PlatformSupport { 21 public: 22 SimplePlatformSupport() {} 23 virtual ~SimplePlatformSupport() {} 24 25 virtual PlatformSharedBuffer* CreateSharedBuffer(size_t num_bytes) OVERRIDE; 26 virtual PlatformSharedBuffer* CreateSharedBufferFromHandle( 27 size_t num_bytes, 28 ScopedPlatformHandle platform_handle) OVERRIDE; 29 30 private: 31 DISALLOW_COPY_AND_ASSIGN(SimplePlatformSupport); 32}; 33 34} // namespace embedder 35} // namespace mojo 36 37#endif // MOJO_EMBEDDER_SIMPLE_PLATFORM_SUPPORT_H_ 38