Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(16)

Unified Diff: tools/ipc_fuzzer/message_lib/message_names.h

Issue 105083002: IPC fuzzer: create message_lib library. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rename map_ to mapped_file_. Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/ipc_fuzzer/message_lib/message_names.h
diff --git a/tools/ipc_fuzzer/message_lib/message_names.h b/tools/ipc_fuzzer/message_lib/message_names.h
new file mode 100644
index 0000000000000000000000000000000000000000..c24659d2dc905073179181725bb18e54c53aaa37
--- /dev/null
+++ b/tools/ipc_fuzzer/message_lib/message_names.h
@@ -0,0 +1,54 @@
+// 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.
+
+#ifndef TOOLS_IPC_FUZZER_MESSAGE_LIB_MESSAGE_NAMES_H_
+#define TOOLS_IPC_FUZZER_MESSAGE_LIB_MESSAGE_NAMES_H_
+
+#include <map>
+#include <string>
+#include "base/basictypes.h"
+
+namespace ipc_fuzzer {
+
+class MessageNames {
+ public:
+ MessageNames();
+ ~MessageNames();
+ static MessageNames& Get();
Tom Sepez 2013/12/06 18:57:16 nit: Usually called GetInstance() in chromium code
aedla 2013/12/09 18:08:32 Done.
+
+ void Add(uint32 type, const std::string& name) {
+ name_map_[type] = name;
+ type_map_[name] = type;
+ }
+
+ bool TypeExists(uint32 type) {
+ return name_map_.find(type) != name_map_.end();
+ }
+
+ bool NameExists(const std::string& name) {
+ return type_map_.find(name) != type_map_.end();
+ }
+
+ const std::string& TypeToName(uint32 type) {
+ return name_map_[type];
+ }
+
+ uint32 NameToType(const std::string& name) {
+ return type_map_[name];
+ }
+
+ private:
+ typedef std::map<uint32, std::string> TypeToNameMap;
+ typedef std::map<std::string, uint32> NameToTypeMap;
+ TypeToNameMap name_map_;
+ NameToTypeMap type_map_;
+
+ static MessageNames* all_names_;
+
+ DISALLOW_COPY_AND_ASSIGN(MessageNames);
+};
+
+} // namespace ipc_fuzzer
+
+#endif // TOOLS_IPC_FUZZER_MESSAGE_LIB_MESSAGE_NAMES_H_

Powered by Google App Engine
This is Rietveld 408576698