| // Copyright 2013 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. |
| |
| #include "tools/ipc_fuzzer/message_lib/message_names.h" |
| #include "tools/ipc_fuzzer/message_lib/all_messages.h" |
| |
| #include "ipc/ipc_message_null_macros.h" |
| #undef IPC_MESSAGE_DECL |
| #define IPC_MESSAGE_DECL(kind, type, name, in, out, ilist, olist) \ |
| names.Add(static_cast<uint32>(name::ID), #name); |
| |
| void PopulateIpcMessageNames(ipc_fuzzer::MessageNames& names) { |
| #include "tools/ipc_fuzzer/message_lib/all_messages.h" |
| } |
| |
| namespace ipc_fuzzer { |
| |
| // static |
| MessageNames* MessageNames::all_names_ = NULL; |
| |
| MessageNames::MessageNames() { |
| } |
| |
| MessageNames::~MessageNames() { |
| } |
| |
| // static |
| MessageNames* MessageNames::GetInstance() { |
| if (!all_names_) { |
| all_names_ = new MessageNames(); |
| PopulateIpcMessageNames(*all_names_); |
| } |
| return all_names_; |
| } |
| |
| } // namespace ipc_fuzzer |