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

Side by Side Diff: ppapi/api/private/ppb_network_list_private.idl

Issue 9416083: Make PPB_NetworkList_Private immutable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: - Created 8 years, 10 months 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
OLDNEW
1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 /* Copyright (c) 2012 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 5
6 /** 6 /**
7 * This file defines the <code>PPB_NetworkList_Private</code> interface. 7 * This file defines the <code>PPB_NetworkList_Private</code> interface.
8 */ 8 */
9 9
10 label Chrome { 10 label Chrome {
11 M19 = 0.1 11 M19 = 0.2
12 }; 12 };
13 13
14 /** 14 /**
15 * <code>PPB_NetworkListChanged_Callback</code> is a callback function
16 * type that is used to receive notifications about changes in the
17 * NetworkList.
18 */
19 typedef void PPB_NetworkListChanged_Callback([inout] mem_t user_data);
20
21 /**
22 * Type of a network interface. 15 * Type of a network interface.
23 */ 16 */
24 [assert_size(4)] 17 [assert_size(4)]
25 enum PP_NetworkListType { 18 enum PP_NetworkListType_Priave {
brettw 2012/02/24 04:45:31 Spelling :)
Sergey Ulanov 2012/02/24 18:25:11 Ouch. Fixed.
26 /** 19 /**
27 * Wired Ethernet network. 20 * Wired Ethernet network.
28 */ 21 */
29 PP_NETWORKLIST_ETHERNET = 0, 22 PP_NETWORKLIST_ETHERNET = 0,
30 23
31 /** 24 /**
32 * Wireless Wi-Fi network. 25 * Wireless Wi-Fi network.
33 */ 26 */
34 PP_NETWORKLIST_WIFI = 1, 27 PP_NETWORKLIST_WIFI = 1,
35 28
36 /** 29 /**
37 * Cellular network (e.g. LTE). 30 * Cellular network (e.g. LTE).
38 */ 31 */
39 PP_NETWORKLIST_CELLULAR = 2 32 PP_NETWORKLIST_CELLULAR = 2
40 }; 33 };
41 34
42 /** 35 /**
43 * State of a network interface. 36 * State of a network interface.
44 */ 37 */
45 [assert_size(4)] 38 [assert_size(4)]
46 enum PP_NetworkListState { 39 enum PP_NetworkListState_Priave {
brettw 2012/02/24 04:45:31 ditto
Sergey Ulanov 2012/02/24 18:25:11 Done.
47 /** 40 /**
48 * Network interface is down. 41 * Network interface is down.
49 */ 42 */
50 PP_NETWORKLIST_DOWN = 0, 43 PP_NETWORKLIST_DOWN = 0,
51 44
52 /** 45 /**
53 * Network interface is up. 46 * Network interface is up.
54 */ 47 */
55 PP_NETWORKLIST_UP = 1 48 PP_NETWORKLIST_UP = 1
56 }; 49 };
57 50
58 /** 51 /**
59 * The <code>PPB_NetworkList_Private</code> provides list of network 52 * The <code>PPB_NetworkList_Private</code> is used to represent a
60 * interfaces and associated IP addressed. 53 * list of network interfaces and their configuration. The content of
54 * the list is immutable. The current networks configuration can be
55 * received using the <code>PPB_NetworkMonitor_Private</code>
56 * interface.
61 */ 57 */
62 interface PPB_NetworkList_Private { 58 interface PPB_NetworkList_Private {
63 /** 59 /**
64 * Create() creates a new <code>NetworkList</code> object.
65 *
66 * @param[in] instance A <code>PP_Instance</code> identifying one instance
67 * of a module.
68 *
69 * @return A <code>PP_Resource</code> corresponding to a NetworkList if
70 * successful, 0 if the instance is invalid.
71 */
72 PP_Resource Create([in] PP_Instance instance);
73
74 /**
75 * Determines if the specified <code>resource</code> is a 60 * Determines if the specified <code>resource</code> is a
76 * <code>NetworkList</code> object. 61 * <code>NetworkList</code> object.
77 * 62 *
78 * @param[in] resource A <code>PP_Resource</code> resource. 63 * @param[in] resource A <code>PP_Resource</code> resource.
79 * 64 *
80 * @return Returns <code>PP_TRUE</code> if <code>resource</code> is 65 * @return Returns <code>PP_TRUE</code> if <code>resource</code> is
81 * a <code>PPB_NetworkList_Private</code>, <code>PP_FALSE</code> 66 * a <code>PPB_NetworkList_Private</code>, <code>PP_FALSE</code>
82 * otherwise. 67 * otherwise.
83 */ 68 */
84 PP_Bool IsNetworkList([in] PP_Resource resource); 69 PP_Bool IsNetworkList([in] PP_Resource resource);
85 70
86 /** 71 /**
87 * Updates the list with the current state of the network interfaces
88 * in the system.
89 */
90 int32_t Update([in] PP_CompletionCallback callback);
91
92 /**
93 * Starts change notifications. The specified <code>callback</code>
94 * will be called every time the network list changes. Every time
95 * the callback is called the plugin must call Update() method to
96 * actually receive updated list.
97 */
98 int32_t StartNotifications([in] PP_Resource resource,
99 [in] PPB_NetworkListChanged_Callback callback,
100 [inout] mem_t user_data);
101
102 /**
103 * Stops change notifications. After this method is called the
104 * callback specified in <code>StartNotifications()</code> will not
105 * be called anymore.
106 */
107 int32_t StopNotifications([in] PP_Resource resource);
108
109 /**
110 * @return Returns number of available network interfaces or 0 if 72 * @return Returns number of available network interfaces or 0 if
111 * the list has never been updated. 73 * the list has never been updated.
112 */ 74 */
113 uint32_t GetCount([in] PP_Resource resource); 75 uint32_t GetCount([in] PP_Resource resource);
114 76
115 /** 77 /**
116 * @return Returns name for the network interface with the specified 78 * @return Returns name for the network interface with the specified
117 * <code>index</code>. 79 * <code>index</code>.
118 */ 80 */
119 PP_Var GetName([in] PP_Resource resource, 81 PP_Var GetName([in] PP_Resource resource,
120 [in] uint32_t index); 82 [in] uint32_t index);
121 83
122 /** 84 /**
123 * @return Returns type of the network interface with the specified 85 * @return Returns type of the network interface with the specified
124 * <code>index</code>. 86 * <code>index</code>.
125 */ 87 */
126 PP_NetworkListType GetType([in] PP_Resource resource, 88 PP_NetworkListType_Priave GetType([in] PP_Resource resource,
127 [in] uint32_t index); 89 [in] uint32_t index);
128 90
129 /** 91 /**
130 * @return Returns current state of the network interface with the 92 * @return Returns current state of the network interface with the
131 * specified <code>index</code>. 93 * specified <code>index</code>.
132 */ 94 */
133 PP_NetworkListState GetState([in] PP_Resource resource, 95 PP_NetworkListState_Priave GetState([in] PP_Resource resource,
134 [in] uint32_t index); 96 [in] uint32_t index);
135 97
136 /** 98 /**
137 * @return Returns <code>NetAddress</code> object that contains 99 * Gets list of IP addresses for the network interface with the
138 * address of the specified <code>family</code> for the network 100 * specified <code>index</code> and stores them in
139 * interface with the specified <code>index</code>, or 0 if the 101 * <code>addresses</code>. If the caller didn't allocate sufficient
140 * address is not assigned. 102 * space to store all addresses, then only thej first
dmichael (off chromium) 2012/02/24 18:04:11 thej->the
Sergey Ulanov 2012/02/24 18:25:11 Done.
103 * <code>count</code> addresses are filled in.
104 *
105 * @return Returns total number of IP addresses assigned to the
106 * network interface or a negative error code.
141 */ 107 */
142 PP_Resource GetIpAddress([in] PP_Resource resource, 108 int32_t GetIpAddresses(
143 [in] uint32_t index, 109 [in] PP_Resource resource,
144 [in] PP_NetAddressFamily_Private family); 110 [in] uint32_t index,
145 111 [out, size_is(count)] PP_NetAddress_Private[] addresses,
112 [in] int32_t count);
113
dmichael (off chromium) 2012/02/24 18:04:11 nit: trailing whitespace
Sergey Ulanov 2012/02/24 18:25:11 Done.
146 /** 114 /**
147 * @return Returns display name for the network interface with the 115 * @return Returns display name for the network interface with the
148 * specified <code>index</code>. 116 * specified <code>index</code>.
149 */ 117 */
150 PP_Var GetDisplayName([in] PP_Resource resource, 118 PP_Var GetDisplayName([in] PP_Resource resource,
151 [in] uint32_t index); 119 [in] uint32_t index);
152 120
153 /** 121 /**
154 * @return Returns MTU for the network interface with the specified 122 * @return Returns MTU for the network interface with the specified
155 * <code>index</code>. 123 * <code>index</code>.
156 */ 124 */
157 uint32_t GetMTU([in] PP_Resource resource, 125 uint32_t GetMTU([in] PP_Resource resource,
158 [in] uint32_t index); 126 [in] uint32_t index);
159 127
160 }; 128 };
OLDNEW
« no previous file with comments | « no previous file | ppapi/api/private/ppb_network_monitor_private.idl » ('j') | ppapi/api/private/ppb_network_monitor_private.idl » ('J')

Powered by Google App Engine
This is Rietveld 408576698