Home | History | Annotate | Download | only in test-rpc-proxy
      1 //
      2 // Copyright (C) 2015 The Android Open Source Project
      3 //
      4 // Licensed under the Apache License, Version 2.0 (the "License");
      5 // you may not use this file except in compliance with the License.
      6 // You may obtain a copy of the License at
      7 //
      8 //      http://www.apache.org/licenses/LICENSE-2.0
      9 //
     10 // Unless required by applicable law or agreed to in writing, software
     11 // distributed under the License is distributed on an "AS IS" BASIS,
     12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 // See the License for the specific language governing permissions and
     14 // limitations under the License.
     15 //
     16 
     17 #ifndef PROXY_RPC_IN_DATA_TYPES_H
     18 #define PROXY_RPC_IN_DATA_TYPES_H
     19 
     20 #include <string>
     21 
     22 #include <XmlRpcValue.h>
     23 
     24 #include "proxy_shill_wifi_client.h"
     25 #include "proxy_rpc_security_types.h"
     26 
     27 // Describes how to configure wpa_supplicant on a DUT.
     28 class BgscanConfiguration {
     29  public:
     30   static const int kDefaultShortIntervalSeconds;
     31   static const int kDefaultLongIntervalSeconds;
     32   static const int kDefaultSignalThreshold;
     33   static const char kDefaultScanMethod[];
     34 
     35   BgscanConfiguration(XmlRpc::XmlRpcValue* xml_rpc_value_in);
     36 
     37   std::string interface_;
     38   int signal_threshold_;
     39   int short_interval_;
     40   int long_interval_;
     41   std::string method_;
     42 };
     43 
     44 // Describes parameters used in WiFi connection attempts.
     45 class AssociationParameters {
     46  public:
     47   static const int kDefaultDiscoveryTimeoutSeconds;
     48   static const int kDefaultAssociationTimeoutSeconds;
     49   static const int kDefaultConfigurationTimeoutSeconds;
     50 
     51   AssociationParameters(XmlRpc::XmlRpcValue* xml_rpc_value_in);
     52 
     53   std::string ssid_;
     54   int discovery_timeout_seconds_;
     55   int association_timeout_seconds_;
     56   int configuration_timeout_seconds_;
     57   bool is_hidden_;
     58   bool save_credentials_;
     59   ProxyShillWifiClient::StationType station_type_;
     60   std::string guid_;
     61   bool expect_failure_;
     62   ProxyShillWifiClient::AutoConnectType autoconnect_type_;
     63   std::unique_ptr<BgscanConfiguration> bgscan_config_;
     64   std::unique_ptr<SecurityConfig> security_config_;
     65 };
     66 
     67 // Describes a group of optional settings for use with ConfigureService.
     68 // The Manager in shill has a method ConfigureService which takes a dictionary
     69 // of parameters, and uses some of them to look up a service, and sets the
     70 // remainder of the properties on the service.  This struct represents
     71 // some of the optional parameters that can be set in this way.  Current
     72 // consumers of this interface look up the service by GUID.
     73 class ConfigureServiceParameters {
     74  public:
     75   ConfigureServiceParameters(XmlRpc::XmlRpcValue* xml_rpc_value_in);
     76 
     77   std::string guid_;
     78   std::string passphrase_;
     79   ProxyShillWifiClient::AutoConnectType autoconnect_type_;
     80 };
     81 
     82 #endif // PROXY_RPC_IN_DATA_TYPES_H
     83