xref: /aosp_15_r20/external/cronet/ipc/ipc_sender.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2012 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker 
5*6777b538SAndroid Build Coastguard Worker #ifndef IPC_IPC_SENDER_H_
6*6777b538SAndroid Build Coastguard Worker #define IPC_IPC_SENDER_H_
7*6777b538SAndroid Build Coastguard Worker 
8*6777b538SAndroid Build Coastguard Worker #include "base/component_export.h"
9*6777b538SAndroid Build Coastguard Worker 
10*6777b538SAndroid Build Coastguard Worker namespace IPC {
11*6777b538SAndroid Build Coastguard Worker 
12*6777b538SAndroid Build Coastguard Worker class Message;
13*6777b538SAndroid Build Coastguard Worker 
COMPONENT_EXPORT(IPC)14*6777b538SAndroid Build Coastguard Worker class COMPONENT_EXPORT(IPC) Sender {
15*6777b538SAndroid Build Coastguard Worker  public:
16*6777b538SAndroid Build Coastguard Worker   // Sends the given IPC message.  The implementor takes ownership of the
17*6777b538SAndroid Build Coastguard Worker   // given Message regardless of whether or not this method succeeds.  This
18*6777b538SAndroid Build Coastguard Worker   // is done to make this method easier to use.  Returns true on success and
19*6777b538SAndroid Build Coastguard Worker   // false otherwise.
20*6777b538SAndroid Build Coastguard Worker   virtual bool Send(Message* msg) = 0;
21*6777b538SAndroid Build Coastguard Worker 
22*6777b538SAndroid Build Coastguard Worker  protected:
23*6777b538SAndroid Build Coastguard Worker   virtual ~Sender() {}
24*6777b538SAndroid Build Coastguard Worker };
25*6777b538SAndroid Build Coastguard Worker 
26*6777b538SAndroid Build Coastguard Worker }  // namespace IPC
27*6777b538SAndroid Build Coastguard Worker 
28*6777b538SAndroid Build Coastguard Worker #endif  // IPC_IPC_SENDER_H_
29