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

Unified Diff: ppapi/proxy/udp_socket_private_resource.cc

Issue 16959005: Implement PPB_UDPSocket_Dev: part 2 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ppapi/proxy/ppapi_param_traits.cc ('k') | ppapi/proxy/udp_socket_resource.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/proxy/udp_socket_private_resource.cc
diff --git a/ppapi/proxy/udp_socket_private_resource.cc b/ppapi/proxy/udp_socket_private_resource.cc
index cd2333c9df9b79930a8035d34525bdb4bb914e1c..650bd325e907a506e791b224be600f092fa777ee 100644
--- a/ppapi/proxy/udp_socket_private_resource.cc
+++ b/ppapi/proxy/udp_socket_private_resource.cc
@@ -4,6 +4,8 @@
#include "ppapi/proxy/udp_socket_private_resource.h"
+#include "base/logging.h"
+#include "ppapi/c/dev/ppb_udp_socket_dev.h"
#include "ppapi/shared_impl/tracked_callback.h"
namespace ppapi {
@@ -11,7 +13,7 @@ namespace proxy {
UDPSocketPrivateResource::UDPSocketPrivateResource(Connection connection,
PP_Instance instance)
- : UDPSocketResourceBase(connection, instance) {
+ : UDPSocketResourceBase(connection, instance, true) {
}
UDPSocketPrivateResource::~UDPSocketPrivateResource() {
@@ -25,7 +27,22 @@ UDPSocketPrivateResource::AsPPB_UDPSocket_Private_API() {
int32_t UDPSocketPrivateResource::SetSocketFeature(
PP_UDPSocketFeature_Private name,
PP_Var value) {
- return SetSocketFeatureImpl(name, value);
+ PP_UDPSocket_Option_Dev public_name = PP_UDPSOCKET_OPTION_ADDRESS_REUSE;
+ switch (name) {
+ case PP_UDPSOCKETFEATURE_ADDRESS_REUSE:
+ // |public_name| has been initialized above.
+ break;
+ case PP_UDPSOCKETFEATURE_BROADCAST:
+ public_name = PP_UDPSOCKET_OPTION_BROADCAST;
+ break;
+ case PP_UDPSOCKETFEATURE_COUNT:
+ return PP_ERROR_BADARGUMENT;
+ default:
+ NOTREACHED();
+ return PP_ERROR_BADARGUMENT;
+ }
+ int32_t result = SetOptionImpl(public_name, value, NULL);
+ return result == PP_OK_COMPLETIONPENDING ? PP_OK : result;
}
int32_t UDPSocketPrivateResource::Bind(
« no previous file with comments | « ppapi/proxy/ppapi_param_traits.cc ('k') | ppapi/proxy/udp_socket_resource.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698