1 // Copyright 2014 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.
5 // IPC message for geofencing
7 #include "content/common/geofencing_types.h"
8 #include "ipc/ipc_message_macros.h"
9 #include "third_party/WebKit/public/platform/WebCircularGeofencingRegion.h"
11 // Singly-included section for typedefs.
12 #ifndef CONTENT_COMMON_GEOFENCING_MESSAGES_H_
13 #define CONTENT_COMMON_GEOFENCING_MESSAGES_H_
15 typedef std::map
<std::string
, blink::WebCircularGeofencingRegion
>
16 GeofencingRegistrations
;
18 #endif // CONTENT_COMMON_GEOFENCING_MESSAGES_H_
20 // Multiply-included message file, hence no include guard.
21 #define IPC_MESSAGE_START GeofencingMsgStart
23 IPC_ENUM_TRAITS_MAX_VALUE(content::GeofencingStatus
,
24 content::GEOFENCING_STATUS_LAST
)
26 IPC_ENUM_TRAITS_MAX_VALUE(content::GeofencingMockState
,
27 content::GeofencingMockState::LAST
)
29 IPC_STRUCT_TRAITS_BEGIN(blink::WebCircularGeofencingRegion
)
30 IPC_STRUCT_TRAITS_MEMBER(latitude
)
31 IPC_STRUCT_TRAITS_MEMBER(longitude
)
32 IPC_STRUCT_TRAITS_MEMBER(radius
)
33 IPC_STRUCT_TRAITS_END()
35 // Messages sent from the child process to the browser.
36 IPC_MESSAGE_CONTROL5(GeofencingHostMsg_RegisterRegion
,
39 std::string
/* region_id */,
40 blink::WebCircularGeofencingRegion
/* region */,
41 int64
/* serviceworker_registration_id */)
43 IPC_MESSAGE_CONTROL4(GeofencingHostMsg_UnregisterRegion
,
46 std::string
/* region_id */,
47 int64
/* serviceworker_registration_id */)
49 IPC_MESSAGE_CONTROL3(GeofencingHostMsg_GetRegisteredRegions
,
52 int64
/* serviceworker_registration_id */)
54 IPC_MESSAGE_CONTROL1(GeofencingHostMsg_SetMockProvider
,
55 content::GeofencingMockState
/* mock_state */)
57 IPC_MESSAGE_CONTROL2(GeofencingHostMsg_SetMockPosition
,
58 double /* latitude */,
59 double /* longitude */)
61 // Messages sent from the browser to the child process.
63 // Reply in response to GeofencingHostMsg_RegisterRegion
64 IPC_MESSAGE_CONTROL3(GeofencingMsg_RegisterRegionComplete
,
67 content::GeofencingStatus
/* status */)
69 // Reply in response to GeofencingHostMsg_UnregisterRegion
70 IPC_MESSAGE_CONTROL3(GeofencingMsg_UnregisterRegionComplete
,
73 content::GeofencingStatus
/* status */)
75 // Reply in response to GeofencingHostMsg_GetRegisteredRegions
76 IPC_MESSAGE_CONTROL4(GeofencingMsg_GetRegisteredRegionsComplete
,
79 content::GeofencingStatus
/* status */,
80 GeofencingRegistrations
/* regions */)