| // Copyright 2015 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 BLIMP_NET_BLIMP_MESSAGE_PROCESSOR_H_ |
| #define BLIMP_NET_BLIMP_MESSAGE_PROCESSOR_H_ |
| #include "base/memory/scoped_ptr.h" |
| #include "net/base/completion_callback.h" |
| // Interface implemented by components that process BlimpMessages. |
| // Message processing workflows can be created as a filter chain of |
| // BlimpMessageProcessors, and test processors can be added to validate portions |
| // of the filter chain in isolation. |
| class BlimpMessageProcessor { |
| virtual ~BlimpMessageProcessor() {} |
| // Processes the BlimpMessage asynchronously. |
| // The result of the operation is returned to the caller via |callback|. |
| virtual void ProcessMessage(scoped_ptr<BlimpMessage> message, |
| const net::CompletionCallback& callback) = 0; |
| #endif // BLIMP_NET_BLIMP_MESSAGE_PROCESSOR_H_ |