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

Side by Side Diff: ppapi/c/private/ppb_network_list_private.h

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 /* From private/ppb_network_list_private.idl, 6 /* From private/ppb_network_list_private.idl,
7 * modified Fri Feb 17 11:34:34 2012. 7 * modified Tue Feb 21 17:05:59 2012.
8 */ 8 */
9 9
10 #ifndef PPAPI_C_PRIVATE_PPB_NETWORK_LIST_PRIVATE_H_ 10 #ifndef PPAPI_C_PRIVATE_PPB_NETWORK_LIST_PRIVATE_H_
11 #define PPAPI_C_PRIVATE_PPB_NETWORK_LIST_PRIVATE_H_ 11 #define PPAPI_C_PRIVATE_PPB_NETWORK_LIST_PRIVATE_H_
12 12
13 #include "ppapi/c/pp_bool.h" 13 #include "ppapi/c/pp_bool.h"
14 #include "ppapi/c/pp_completion_callback.h"
15 #include "ppapi/c/pp_instance.h"
16 #include "ppapi/c/pp_macros.h" 14 #include "ppapi/c/pp_macros.h"
17 #include "ppapi/c/pp_resource.h" 15 #include "ppapi/c/pp_resource.h"
18 #include "ppapi/c/pp_stdint.h" 16 #include "ppapi/c/pp_stdint.h"
19 #include "ppapi/c/pp_var.h" 17 #include "ppapi/c/pp_var.h"
20 #include "ppapi/c/private/ppb_net_address_private.h" 18 #include "ppapi/c/private/ppb_net_address_private.h"
21 19
22 #define PPB_NETWORKLIST_PRIVATE_INTERFACE_0_1 "PPB_NetworkList_Private;0.1" 20 #define PPB_NETWORKLIST_PRIVATE_INTERFACE_0_2 "PPB_NetworkList_Private;0.2"
23 #define PPB_NETWORKLIST_PRIVATE_INTERFACE PPB_NETWORKLIST_PRIVATE_INTERFACE_0_1 21 #define PPB_NETWORKLIST_PRIVATE_INTERFACE PPB_NETWORKLIST_PRIVATE_INTERFACE_0_2
24 22
25 /** 23 /**
26 * @file 24 * @file
27 * This file defines the <code>PPB_NetworkList_Private</code> interface. 25 * This file defines the <code>PPB_NetworkList_Private</code> interface.
28 */ 26 */
29 27
30 28
31 /** 29 /**
32 * @addtogroup Typedefs
33 * @{
34 */
35 /**
36 * <code>PPB_NetworkListChanged_Callback</code> is a callback function
37 * type that is used to receive notifications about changes in the
38 * NetworkList.
39 */
40 typedef void (*PPB_NetworkListChanged_Callback)(void* user_data);
41 /**
42 * @}
43 */
44
45 /**
46 * @addtogroup Enums 30 * @addtogroup Enums
47 * @{ 31 * @{
48 */ 32 */
49 /** 33 /**
50 * Type of a network interface. 34 * Type of a network interface.
51 */ 35 */
52 typedef enum { 36 typedef enum {
53 /** 37 /**
54 * Wired Ethernet network. 38 * Wired Ethernet network.
55 */ 39 */
(...skipping 25 matching lines...) Expand all
81 PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_NetworkListState, 4); 65 PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_NetworkListState, 4);
82 /** 66 /**
83 * @} 67 * @}
84 */ 68 */
85 69
86 /** 70 /**
87 * @addtogroup Interfaces 71 * @addtogroup Interfaces
88 * @{ 72 * @{
89 */ 73 */
90 /** 74 /**
91 * The <code>PPB_NetworkList_Private</code> provides list of network 75 * The <code>PPB_NetworkList_Private</code> is used to represent a
92 * interfaces and associated IP addressed. 76 * list of network interfaces and their configuration. The content of
77 * the list is immutable. Current networks configuration can be
78 * received using the <code>PPB_NetworkMonitor_Private</code>
79 * interface.
93 */ 80 */
94 struct PPB_NetworkList_Private_0_1 { 81 struct PPB_NetworkList_Private_0_2 {
95 /**
96 * Create() creates a new <code>NetworkList</code> object.
97 *
98 * @param[in] instance A <code>PP_Instance</code> identifying one instance
99 * of a module.
100 *
101 * @return A <code>PP_Resource</code> corresponding to a NetworkList if
102 * successful, 0 if the instance is invalid.
103 */
104 PP_Resource (*Create)(PP_Instance instance);
105 /** 82 /**
106 * Determines if the specified <code>resource</code> is a 83 * Determines if the specified <code>resource</code> is a
107 * <code>NetworkList</code> object. 84 * <code>NetworkList</code> object.
108 * 85 *
109 * @param[in] resource A <code>PP_Resource</code> resource. 86 * @param[in] resource A <code>PP_Resource</code> resource.
110 * 87 *
111 * @return Returns <code>PP_TRUE</code> if <code>resource</code> is 88 * @return Returns <code>PP_TRUE</code> if <code>resource</code> is
112 * a <code>PPB_NetworkList_Private</code>, <code>PP_FALSE</code> 89 * a <code>PPB_NetworkList_Private</code>, <code>PP_FALSE</code>
113 * otherwise. 90 * otherwise.
114 */ 91 */
115 PP_Bool (*IsNetworkList)(PP_Resource resource); 92 PP_Bool (*IsNetworkList)(PP_Resource resource);
116 /** 93 /**
117 * Updates the list with the current state of the network interfaces
118 * in the system.
119 */
120 int32_t (*Update)(struct PP_CompletionCallback callback);
121 /**
122 * Starts change notifications. The specified <code>callback</code>
123 * will be called every time the network list changes. Every time
124 * the callback is called the plugin must call Update() method to
125 * actually receive updated list.
126 */
127 int32_t (*StartNotifications)(PP_Resource resource,
128 PPB_NetworkListChanged_Callback callback,
129 void* user_data);
130 /**
131 * Stops change notifications. After this method is called the
132 * callback specified in <code>StartNotifications()</code> will not
133 * be called anymore.
134 */
135 int32_t (*StopNotifications)(PP_Resource resource);
136 /**
137 * @return Returns number of available network interfaces or 0 if 94 * @return Returns number of available network interfaces or 0 if
138 * the list has never been updated. 95 * the list has never been updated.
139 */ 96 */
140 uint32_t (*GetCount)(PP_Resource resource); 97 uint32_t (*GetCount)(PP_Resource resource);
141 /** 98 /**
142 * @return Returns name for the network interface with the specified 99 * @return Returns name for the network interface with the specified
143 * <code>index</code>. 100 * <code>index</code>.
144 */ 101 */
145 struct PP_Var (*GetName)(PP_Resource resource, uint32_t index); 102 struct PP_Var (*GetName)(PP_Resource resource, uint32_t index);
146 /** 103 /**
147 * @return Returns type of the network interface with the specified 104 * @return Returns type of the network interface with the specified
148 * <code>index</code>. 105 * <code>index</code>.
149 */ 106 */
150 PP_NetworkListType (*GetType)(PP_Resource resource, uint32_t index); 107 PP_NetworkListType (*GetType)(PP_Resource resource, uint32_t index);
151 /** 108 /**
152 * @return Returns current state of the network interface with the 109 * @return Returns current state of the network interface with the
153 * specified <code>index</code>. 110 * specified <code>index</code>.
154 */ 111 */
155 PP_NetworkListState (*GetState)(PP_Resource resource, uint32_t index); 112 PP_NetworkListState (*GetState)(PP_Resource resource, uint32_t index);
156 /** 113 /**
157 * @return Returns <code>NetAddress</code> object that contains 114 * Gets list of IP addresses for the network interface with the
158 * address of the specified <code>family</code> for the network 115 * specified <code>index</code> and stores them in
159 * interface with the specified <code>index</code>, or 0 if the 116 * <code>addresses</code>. If the caller didn't allocate sufficient
160 * address is not assigned. 117 * space to store all addresses, then only first <code>count</code>
118 * addresses are filled in.
119 *
120 * @return Returns total number of IP addresses assigned to the
121 * network interface.
161 */ 122 */
162 PP_Resource (*GetIpAddress)(PP_Resource resource, 123 int32_t (*GetIpAddresses)(PP_Resource resource,
163 uint32_t index, 124 uint32_t index,
164 PP_NetAddressFamily_Private family); 125 struct PP_NetAddress_Private* addresses[],
126 int32_t* count);
165 /** 127 /**
166 * @return Returns display name for the network interface with the 128 * @return Returns display name for the network interface with the
167 * specified <code>index</code>. 129 * specified <code>index</code>.
168 */ 130 */
169 struct PP_Var (*GetDisplayName)(PP_Resource resource, uint32_t index); 131 struct PP_Var (*GetDisplayName)(PP_Resource resource, uint32_t index);
170 /** 132 /**
171 * @return Returns MTU for the network interface with the specified 133 * @return Returns MTU for the network interface with the specified
172 * <code>index</code>. 134 * <code>index</code>.
173 */ 135 */
174 uint32_t (*GetMTU)(PP_Resource resource, uint32_t index); 136 uint32_t (*GetMTU)(PP_Resource resource, uint32_t index);
175 }; 137 };
176 138
177 typedef struct PPB_NetworkList_Private_0_1 PPB_NetworkList_Private; 139 typedef struct PPB_NetworkList_Private_0_2 PPB_NetworkList_Private;
178 /** 140 /**
179 * @} 141 * @}
180 */ 142 */
181 143
182 #endif /* PPAPI_C_PRIVATE_PPB_NETWORK_LIST_PRIVATE_H_ */ 144 #endif /* PPAPI_C_PRIVATE_PPB_NETWORK_LIST_PRIVATE_H_ */
183 145
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698