// 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 IPC_IPC_CHANNEL_READER_H_ #define IPC_IPC_CHANNEL_READER_H_ #include <stddef.h> #include <set> #include "base/component_export.h" #include "base/gtest_prod_util.h" #include "base/memory/raw_ptr.h" #include "ipc/ipc_channel.h" namespace IPC { namespace internal { // This class provides common pipe reading functionality for the // platform-specific IPC channel implementations. // // It does the common input buffer management and message dispatch, while the // platform-specific parts provide the pipe management through a virtual // interface implemented on a per-platform basis. // // Note that there is no "writer" corresponding to this because the code for // writing to the channel is much simpler and has very little common // functionality that would benefit from being factored out. If we add // something like that in the future, it would be more appropriate to add it // here (and rename appropriately) rather than writing a different class. class COMPONENT_EXPORT(IPC) ChannelReader { … }; } // namespace internal } // namespace IPC #endif // IPC_IPC_CHANNEL_READER_H_