Added stricter warning options
Change-Id: Id06921376ec1c6ed4ce1784952fd80e0dc0a3a2a
Reviewed-on: https://weave-review.googlesource.com/1190
Reviewed-by: Alex Vakulenko <avakulenko@google.com>
diff --git a/libweave/examples/ubuntu/curl_http_client.cc b/libweave/examples/ubuntu/curl_http_client.cc
index 10e3155..3e996e3 100644
--- a/libweave/examples/ubuntu/curl_http_client.cc
+++ b/libweave/examples/ubuntu/curl_http_client.cc
@@ -121,13 +121,14 @@
weak_ptr_factory_.GetWeakPtr(), success_callback,
request_id_, base::Passed(&response)),
{});
- return request_id_;
+ } else {
+ task_runner_->PostDelayedTask(
+ FROM_HERE, base::Bind(&CurlHttpClient::RunErrorCallback,
+ weak_ptr_factory_.GetWeakPtr(), error_callback,
+ request_id_, base::Passed(&error)),
+ {});
}
- task_runner_->PostDelayedTask(
- FROM_HERE, base::Bind(&CurlHttpClient::RunErrorCallback,
- weak_ptr_factory_.GetWeakPtr(), error_callback,
- request_id_, base::Passed(&error)),
- {});
+ return request_id_;
}
void CurlHttpClient::RunSuccessCallback(const SuccessCallback& success_callback,
diff --git a/libweave/examples/ubuntu/event_http_server.cc b/libweave/examples/ubuntu/event_http_server.cc
index 31b569d..9c0dc78 100644
--- a/libweave/examples/ubuntu/event_http_server.cc
+++ b/libweave/examples/ubuntu/event_http_server.cc
@@ -58,7 +58,7 @@
void CancelPendingOperations() override {}
private:
- const std::vector<uint8_t>& data_;
+ std::vector<uint8_t> data_;
provider::TaskRunner* task_runner_;
size_t read_position_{0};
};
diff --git a/libweave/examples/ubuntu/network_manager.cc b/libweave/examples/ubuntu/network_manager.cc
index b910b55..0fdae2d 100644
--- a/libweave/examples/ubuntu/network_manager.cc
+++ b/libweave/examples/ubuntu/network_manager.cc
@@ -34,13 +34,14 @@
execvp(path.c_str(), const_cast<char**>(args_vector.data()));
NOTREACHED();
+ return 0;
}
} // namespace
NetworkImpl::NetworkImpl(provider::TaskRunner* task_runner,
bool force_bootstrapping)
- : task_runner_{task_runner}, force_bootstrapping_{force_bootstrapping} {
+ : force_bootstrapping_{force_bootstrapping}, task_runner_{task_runner} {
SSL_load_error_strings();
SSL_library_init();
@@ -141,8 +142,6 @@
base::Bind(&NetworkImpl::UpdateNetworkState,
weak_ptr_factory_.GetWeakPtr()),
base::TimeDelta::FromSeconds(10));
-
- bool online = GetConnectionState() == State::kConnected;
for (const auto& cb : callbacks_)
cb.Run();
}
@@ -194,8 +193,8 @@
}
void NetworkImpl::StopAccessPoint() {
- int res = std::system("pkill -f dnsmasq.*/tmp/weave");
- res = std::system("pkill -f hostapd.*/tmp/weave");
+ base::IgnoreResult(std::system("pkill -f dnsmasq.*/tmp/weave"));
+ base::IgnoreResult(std::system("pkill -f hostapd.*/tmp/weave"));
CHECK_EQ(0, std::system("nmcli nm wifi on"));
hostapd_started_ = false;
}
diff --git a/libweave/include/weave/settings.h b/libweave/include/weave/settings.h
index 264c6fa..4d55f97 100644
--- a/libweave/include/weave/settings.h
+++ b/libweave/include/weave/settings.h
@@ -14,21 +14,29 @@
namespace weave {
struct Settings {
- std::string client_id;
- std::string client_secret;
- std::string api_key;
- std::string oauth_url;
- std::string service_url;
- std::string name;
- std::string description;
- std::string location;
- std::string local_anonymous_access_role;
- bool local_discovery_enabled{true};
- bool local_pairing_enabled{true};
+ // Model specific information. Must be set by ConfigStore::LoadDefaults.
std::string firmware_version;
std::string oem_name;
std::string model_name;
std::string model_id;
+
+ // Basic device information. Can be set from ConfigStore::LoadDefaults.
+ std::string name;
+ std::string description;
+ std::string location;
+
+ // Cloud information. Must be set from ConfigStore::LoadDefaults.
+ std::string api_key;
+ std::string client_id;
+ std::string client_secret;
+
+ // Optional cloud information. Can be used for testing or debugging.
+ std::string oauth_url;
+ std::string service_url;
+
+ std::string local_anonymous_access_role;
+ bool local_discovery_enabled{true};
+ bool local_pairing_enabled{true};
base::TimeDelta polling_period;
base::TimeDelta backup_polling_period;
diff --git a/libweave/libweave_common.gypi b/libweave/libweave_common.gypi
index a290f7e..84c7a17 100644
--- a/libweave/libweave_common.gypi
+++ b/libweave/libweave_common.gypi
@@ -29,11 +29,19 @@
'cflags': [
'-fPIC',
'-fvisibility=hidden',
+ '-std=c++11',
+ '-Wall',
+ '-Werror',
+ '-Wextra',
'-Wl,--exclude-libs,ALL',
- '--std=c++11',
- '-Wno-format-nonliteral',
'-Wno-char-subscripts',
- #'-Wno-deprecated-register',
+ '-Wno-format-nonliteral',
+ '-Wno-missing-field-initializers',
+ '-Wno-unused-local-typedefs',
+ '-Wno-unused-parameter',
+ '-Wpacked',
+ '-Wpointer-arith',
+ '-Wwrite-strings',
],
'libraries': [
'-L../../third_party/lib',