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 12 namespace mojo { 13 namespace 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). 20 class MOJO_SYSTEM_IMPL_EXPORT SimplePlatformSupport : public PlatformSupport { 21 public: SimplePlatformSupport()22 SimplePlatformSupport() {} ~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