1// Copyright (c) 2013 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#include "base/values.h"
6#include "content/common/content_export.h"
7#include "ipc/ipc_message_macros.h"
8
9#undef IPC_MESSAGE_EXPORT
10#define IPC_MESSAGE_EXPORT CONTENT_EXPORT
11#define IPC_MESSAGE_START PeerConnectionTrackerMsgStart
12
13IPC_STRUCT_BEGIN(PeerConnectionInfo)
14  IPC_STRUCT_MEMBER(int, lid)
15  IPC_STRUCT_MEMBER(std::string, rtc_configuration)
16  IPC_STRUCT_MEMBER(std::string, constraints)
17  IPC_STRUCT_MEMBER(std::string, url)
18IPC_STRUCT_END()
19
20// Messages sent from PeerConnectionTracker to PeerConnectionTrackerHost.
21IPC_MESSAGE_CONTROL1(PeerConnectionTrackerHost_AddPeerConnection,
22                     PeerConnectionInfo /* info */)
23IPC_MESSAGE_CONTROL1(PeerConnectionTrackerHost_RemovePeerConnection,
24                     int /* lid */)
25IPC_MESSAGE_CONTROL3(PeerConnectionTrackerHost_UpdatePeerConnection,
26                     int /* lid */,
27                     std::string /* type */,
28                     std::string /* value */)
29IPC_MESSAGE_CONTROL2(PeerConnectionTrackerHost_AddStats,
30                     int /* lid */,
31                     base::ListValue /* value */)
32IPC_MESSAGE_CONTROL5(PeerConnectionTrackerHost_GetUserMedia,
33                     std::string /*origin*/,
34                     bool /*audio*/,
35                     bool /*video*/,
36                     // The constraints strings are for dispaly only and should
37                     // not be parsed by the browser for security reasons.
38                     std::string /* audio_constraints */,
39                     std::string /* video_constraints */)
40
41// Messages sent to PeerConnectionTracker.
42IPC_MESSAGE_CONTROL0(PeerConnectionTracker_GetAllStats)
43IPC_MESSAGE_CONTROL0(PeerConnectionTracker_OnSuspend)
44