Home | History | Annotate | Download | only in common
      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
      3 // found in the LICENSE file.
      4 
      5 #ifndef CONTENT_PUBLIC_COMMON_SOCKET_PERMISSION_REQUEST_H_
      6 #define CONTENT_PUBLIC_COMMON_SOCKET_PERMISSION_REQUEST_H_
      7 
      8 #include <string>
      9 
     10 namespace content {
     11 
     12 // This module provides helper types for checking socket permission.
     13 
     14 struct SocketPermissionRequest {
     15   enum OperationType {
     16     NONE = 0,
     17     TCP_CONNECT,
     18     TCP_LISTEN,
     19     UDP_BIND,
     20     UDP_SEND_TO,
     21     UDP_MULTICAST_MEMBERSHIP,
     22     RESOLVE_HOST,
     23     RESOLVE_PROXY,
     24     NETWORK_STATE,
     25     OPERATION_TYPE_LAST = NETWORK_STATE
     26   };
     27 
     28   SocketPermissionRequest(OperationType type,
     29                           const std::string& host,
     30                           int port)
     31     : type(type),
     32       host(host),
     33       port(port) {
     34   }
     35 
     36   OperationType type;
     37   std::string host;
     38   int port;
     39 };
     40 
     41 }  // namespace content
     42 
     43 #endif  // CONTENT_PUBLIC_COMMON_SOCKET_PERMISSION_REQUEST_H_
     44