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_PUBLIC_CPP_BINDINGS_MESSAGE_HEADER_VALIDATOR_H_ 6 #define MOJO_PUBLIC_CPP_BINDINGS_MESSAGE_HEADER_VALIDATOR_H_ 7 8 #include "base/compiler_specific.h" 9 #include "base/component_export.h" 10 #include "mojo/public/cpp/bindings/message.h" 11 12 namespace mojo { 13 COMPONENT_EXPORT(MOJO_CPP_BINDINGS_BASE)14class COMPONENT_EXPORT(MOJO_CPP_BINDINGS_BASE) MessageHeaderValidator 15 : public MessageReceiver { 16 public: 17 MessageHeaderValidator(); 18 explicit MessageHeaderValidator(const std::string& description); 19 20 // Sets the description associated with this validator. Used for reporting 21 // more detailed validation errors. 22 void SetDescription(const std::string& description); 23 24 bool Accept(Message* message) override; 25 26 private: 27 std::string description_; 28 }; 29 30 } // namespace mojo 31 32 #endif // MOJO_PUBLIC_CPP_BINDINGS_MESSAGE_HEADER_VALIDATOR_H_ 33