Add support for exporting IPC messages from component DLLs.

This removes MessageWithTuple and MessageWithReply since it
is not easy to export a class that inherits from a template
specialization.  The functionality of those classes are split
now between new classes, MessageSchema and SyncMessageSchema,
and being declared inline via macros.

The key point is that we want to avoid inlining the constructor
and Read functions for messages.  That avoids code bloat since
those functions contain all of the parameter serialization and
deserialization code.  Those are the functions that we really
want to have contained with component DLLs.

To export IPC messages from a DLL, it is necessary to #define
IPC_MESSAGE_EXPORT above message declarations.  You can see this
in action here:
http://codereview.chromium.org/7687005/diff/41012/ppapi/proxy/ppapi_messages.h
Review URL: http://codereview.chromium.org/7768001

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98491 0039d316-1c4b-4281-b951-d872f2087c98


CrOS-Libchrome-Original-Commit: 1d4ecf498386569dfb438f7536b573213bbcaaba
5 files changed
tree: 785294f2b4d2a17a4d4352430c350260d7aa43f4
  1. base/
  2. build/
  3. dbus/
  4. ipc/
  5. testing/
  6. third_party/