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

Side by Side Diff: ipc/ipc_message_macros.h

Issue 8381024: more content exports. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: don't link installer_unittests, setup against content Created 9 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/public/common/page_transition_types.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Defining IPC Messages 5 // Defining IPC Messages
6 // 6 //
7 // Your IPC messages will be defined by macros inside of an XXX_messages.h 7 // Your IPC messages will be defined by macros inside of an XXX_messages.h
8 // header file. Most of the time, the system can automatically generate all 8 // header file. Most of the time, the system can automatically generate all
9 // of messaging mechanism from these definitions, but sometimes some manual 9 // of messaging mechanism from these definitions, but sometimes some manual
10 // coding is required. In these cases, you will also have an XXX_messages.cc 10 // coding is required. In these cases, you will also have an XXX_messages.cc
(...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after
588 // Common message macro which dispatches into one of the 6 (sync x kind) 588 // Common message macro which dispatches into one of the 6 (sync x kind)
589 // routines. There is a way that these 6 cases can be lumped together, 589 // routines. There is a way that these 6 cases can be lumped together,
590 // but the macros get very complicated in that case. 590 // but the macros get very complicated in that case.
591 // Note: intended be redefined to generate other information. 591 // Note: intended be redefined to generate other information.
592 #define IPC_MESSAGE_DECL(sync, kind, msg_class, \ 592 #define IPC_MESSAGE_DECL(sync, kind, msg_class, \
593 in_cnt, out_cnt, in_list, out_list) \ 593 in_cnt, out_cnt, in_list, out_list) \
594 IPC_##sync##_##kind##_DECL(msg_class, in_cnt, out_cnt, in_list, out_list) \ 594 IPC_##sync##_##kind##_DECL(msg_class, in_cnt, out_cnt, in_list, out_list) \
595 IPC_MESSAGE_EXTRA(sync, kind, msg_class, in_cnt, out_cnt, in_list, out_list) 595 IPC_MESSAGE_EXTRA(sync, kind, msg_class, in_cnt, out_cnt, in_list, out_list)
596 596
597 #define IPC_EMPTY_CONTROL_DECL(msg_class, in_cnt, out_cnt, in_list, out_list) \ 597 #define IPC_EMPTY_CONTROL_DECL(msg_class, in_cnt, out_cnt, in_list, out_list) \
598 class msg_class : public IPC::Message { \ 598 class IPC_MESSAGE_EXPORT msg_class : public IPC::Message { \
599 public: \ 599 public: \
600 typedef IPC::Message Schema; \ 600 typedef IPC::Message Schema; \
601 enum { ID = IPC_MESSAGE_ID() }; \ 601 enum { ID = IPC_MESSAGE_ID() }; \
602 msg_class() : IPC::Message(MSG_ROUTING_CONTROL, ID, PRIORITY_NORMAL) {} \ 602 msg_class() : IPC::Message(MSG_ROUTING_CONTROL, ID, PRIORITY_NORMAL) {} \
603 static void Log(std::string* name, const Message* msg, std::string* l); \ 603 static void Log(std::string* name, const Message* msg, std::string* l); \
604 }; 604 };
605 605
606 #define IPC_EMPTY_ROUTED_DECL(msg_class, in_cnt, out_cnt, in_list, out_list) \ 606 #define IPC_EMPTY_ROUTED_DECL(msg_class, in_cnt, out_cnt, in_list, out_list) \
607 class msg_class : public IPC::Message { \ 607 class IPC_MESSAGE_EXPORT msg_class : public IPC::Message { \
608 public: \ 608 public: \
609 typedef IPC::Message Schema; \ 609 typedef IPC::Message Schema; \
610 enum { ID = IPC_MESSAGE_ID() }; \ 610 enum { ID = IPC_MESSAGE_ID() }; \
611 msg_class(int32 routing_id) \ 611 msg_class(int32 routing_id) \
612 : IPC::Message(routing_id, ID, PRIORITY_NORMAL) {} \ 612 : IPC::Message(routing_id, ID, PRIORITY_NORMAL) {} \
613 static void Log(std::string* name, const Message* msg, std::string* l); \ 613 static void Log(std::string* name, const Message* msg, std::string* l); \
614 }; 614 };
615 615
616 #define IPC_ASYNC_CONTROL_DECL(msg_class, in_cnt, out_cnt, in_list, out_list) \ 616 #define IPC_ASYNC_CONTROL_DECL(msg_class, in_cnt, out_cnt, in_list, out_list) \
617 class IPC_MESSAGE_EXPORT msg_class : public IPC::Message { \ 617 class IPC_MESSAGE_EXPORT msg_class : public IPC::Message { \
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
991 // This corresponds to an enum value from IPCMessageStart. 991 // This corresponds to an enum value from IPCMessageStart.
992 #define IPC_MESSAGE_CLASS(message) \ 992 #define IPC_MESSAGE_CLASS(message) \
993 IPC_MESSAGE_ID_CLASS(message.type()) 993 IPC_MESSAGE_ID_CLASS(message.type())
994 994
995 #endif // IPC_IPC_MESSAGE_MACROS_H_ 995 #endif // IPC_IPC_MESSAGE_MACROS_H_
996 996
997 // Clean up IPC_MESSAGE_START in this unguarded section so that the 997 // Clean up IPC_MESSAGE_START in this unguarded section so that the
998 // XXX_messages.h files need not do so themselves. This makes the 998 // XXX_messages.h files need not do so themselves. This makes the
999 // XXX_messages.h files easier to write. 999 // XXX_messages.h files easier to write.
1000 #undef IPC_MESSAGE_START 1000 #undef IPC_MESSAGE_START
OLDNEW
« no previous file with comments | « content/public/common/page_transition_types.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698