buffet: Extracted libweave into separate directory
It still has references to dbus, buffet and other ChromeOS specific
stuff.
BUG=brillo:1235
TEST=FEATURES=test emerge-gizmo buffet
Change-Id: Ib108960ee88afcf2ecdddf37ce30bd5f168c0034
Reviewed-on: https://chromium-review.googlesource.com/283509
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/libweave/src/privet/device_delegate.h b/libweave/src/privet/device_delegate.h
new file mode 100644
index 0000000..a125a61
--- /dev/null
+++ b/libweave/src/privet/device_delegate.h
@@ -0,0 +1,45 @@
+// Copyright 2014 The Chromium OS 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 LIBWEAVE_SRC_PRIVET_DEVICE_DELEGATE_H_
+#define LIBWEAVE_SRC_PRIVET_DEVICE_DELEGATE_H_
+
+#include <memory>
+#include <utility>
+
+#include <base/time/time.h>
+
+namespace privetd {
+
+// Interface to provide access to general information about device.
+class DeviceDelegate {
+ public:
+ DeviceDelegate();
+ virtual ~DeviceDelegate();
+
+ // Returns HTTP ports for Privet. The first one is the primary port,
+ // the second is the port for a pooling updates requests. The second value
+ // could be 0. In this case the first port would be use for regular and for
+ // updates requests.
+ virtual std::pair<uint16_t, uint16_t> GetHttpEnpoint() const = 0;
+
+ // The same |GetHttpEnpoint| but for HTTPS.
+ virtual std::pair<uint16_t, uint16_t> GetHttpsEnpoint() const = 0;
+
+ // Returns device update.
+ virtual base::TimeDelta GetUptime() const = 0;
+
+ // Updates the HTTP port value.
+ virtual void SetHttpPort(uint16_t port) = 0;
+
+ // Updates the HTTPS port value.
+ virtual void SetHttpsPort(uint16_t port) = 0;
+
+ // Create default instance.
+ static std::unique_ptr<DeviceDelegate> CreateDefault();
+};
+
+} // namespace privetd
+
+#endif // LIBWEAVE_SRC_PRIVET_DEVICE_DELEGATE_H_