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

Unified Diff: chrome/browser/extensions/api/dial/dial_device_data.h

Issue 11444020: DIAL extension API skeleton. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: abc.... Created 8 years 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
Index: chrome/browser/extensions/api/dial/dial_device_data.h
diff --git a/chrome/browser/extensions/api/dial/dial_device_data.h b/chrome/browser/extensions/api/dial/dial_device_data.h
new file mode 100644
index 0000000000000000000000000000000000000000..d9a30ddfc84edb5e541e71954fcb78b14cc75dbb
--- /dev/null
+++ b/chrome/browser/extensions/api/dial/dial_device_data.h
@@ -0,0 +1,81 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_EXTENSIONS_API_DIAL_DIAL_DEVICE_DATA_H_
+#define CHROME_BROWSER_EXTENSIONS_API_DIAL_DIAL_DEVICE_DATA_H_
+
+#include <string>
+#include <vector>
+
+#include "base/time.h"
+#include "base/values.h"
+
+namespace extensions {
+
+namespace api {
+namespace dial {
+struct DialDevice;
+} // namespace api
+} // namespace dial
+
+// Dial device information that is used within the DialService and Registry on
+// the IO thread. It is updated as new information arrives and a list of
+// DialDeviceData is copied and sent to event listeners on the UI thread.
+class DialDeviceData {
+ public:
+ DialDeviceData();
+ DialDeviceData(const DialDeviceData& other_data);
+ ~DialDeviceData();
+
+ DialDeviceData& operator=(const DialDeviceData& other_data);
+
+ const std::string& device_id() const;
+ void set_device_id(const std::string& id);
+
+ const std::string& label() const;
+ void set_label(const std::string& label);
+
+ const std::string& device_description_url() const;
+ void set_device_description_url(const std::string& url);
+
+ const base::Time& response_time() const;
+ void set_response_time(const base::Time& response_time);
+
+ int max_age() const { return max_age_; }
+ void set_max_age(int max_age) { max_age_ = max_age; }
+ bool has_max_age() const { return max_age_ >= 0; }
+
+ int config_id() const { return config_id_; }
+ void set_config_id(int config_id) { config_id_ = config_id; }
+ bool has_config_id() const { return config_id_ >= 0; }
+
+ // Fills the |device| API struct from this instance.
+ void FillDialDevice(api::dial::DialDevice* device) const;
+
+ private:
+ // Hardware identifier from the DIAL response. Not exposed to API clients.
+ std::string device_id_;
+
+ // Identifies this device to clients of the API.
+ std::string label_;
+
+ // The device description URL.
+ std::string device_description_url_;
+
+ // The time that the most recent response was received.
+ base::Time response_time_;
+
+ // Optional (-1 means unset).
+ int max_age_;
+
+ // Optional (-1 means unset).
+ int config_id_;
+
+ // Implementation of copy ctor and assignment operator.
+ void CopyFrom(const DialDeviceData& other_data);
+};
+
+} // namespace extensions
+
+#endif // CHROME_BROWSER_EXTENSIONS_API_DIAL_DIAL_DEVICE_DATA_H_
« no previous file with comments | « chrome/browser/extensions/api/dial/dial_apitest.cc ('k') | chrome/browser/extensions/api/dial/dial_device_data.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698