Index: chrome/browser/sync/syncable/syncable_id.h |
diff --git a/chrome/browser/sync/syncable/syncable_id.h b/chrome/browser/sync/syncable/syncable_id.h |
deleted file mode 100644 |
index dcd4f99d474eae2d1bc74b023d99464ae27a2551..0000000000000000000000000000000000000000 |
--- a/chrome/browser/sync/syncable/syncable_id.h |
+++ /dev/null |
@@ -1,134 +0,0 @@ |
-// 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_SYNC_SYNCABLE_SYNCABLE_ID_H_ |
-#define CHROME_BROWSER_SYNC_SYNCABLE_SYNCABLE_ID_H_ |
-#pragma once |
- |
-#include <iosfwd> |
-#include <limits> |
-#include <sstream> |
-#include <string> |
- |
-#include "base/hash_tables.h" |
- |
-class MockConnectionManager; |
- |
-namespace base { |
-class StringValue; |
-} |
- |
-namespace sql { |
-class Statement; |
-} |
- |
-namespace syncable { |
-struct EntryKernel; |
-class Id; |
-} |
- |
-namespace syncable { |
- |
-std::ostream& operator<<(std::ostream& out, const Id& id); |
- |
-// For historical reasons, 3 concepts got everloaded into the Id: |
-// 1. A unique, opaque identifier for the object. |
-// 2. Flag specifing whether server know about this object. |
-// 3. Flag for root. |
-// |
-// We originally wrapped an integer for this information, but now we use a |
-// string. It will have one of three forms: |
-// 1. c<client only opaque id> for client items that have not been committed. |
-// 2. r for the root item. |
-// 3. s<server provided opaque id> for items that the server knows about. |
-class Id { |
- public: |
- // This constructor will be handy even when we move away from int64s, just |
- // for unit tests. |
- inline Id() : s_("r") { } |
- inline Id(const Id& that) { |
- Copy(that); |
- } |
- inline Id& operator = (const Id& that) { |
- Copy(that); |
- return *this; |
- } |
- inline void Copy(const Id& that) { |
- this->s_ = that.s_; |
- } |
- inline bool IsRoot() const { |
- return "r" == s_; |
- } |
- inline bool ServerKnows() const { |
- return s_[0] == 's' || s_ == "r"; |
- } |
- |
- // TODO(sync): We could use null here, but to ease conversion we use "r". |
- // fix this, this is madness :) |
- inline bool IsNull() const { |
- return IsRoot(); |
- } |
- inline void Clear() { |
- s_ = "r"; |
- } |
- inline int compare(const Id& that) const { |
- return s_.compare(that.s_); |
- } |
- inline bool operator == (const Id& that) const { |
- return s_ == that.s_; |
- } |
- inline bool operator != (const Id& that) const { |
- return s_ != that.s_; |
- } |
- inline bool operator < (const Id& that) const { |
- return s_ < that.s_; |
- } |
- inline bool operator > (const Id& that) const { |
- return s_ > that.s_; |
- } |
- |
- const std::string& value() const { |
- return s_; |
- } |
- |
- // Return the next highest ID in the lexicographic ordering. This is |
- // useful for computing upper bounds on std::sets that are ordered |
- // by operator<. |
- Id GetLexicographicSuccessor() const; |
- |
- // Note: |lowercase_query| should be passed in as lower case. |
- bool ContainsStringCaseInsensitive(const std::string& lowercase_query) const; |
- |
- // Dumps the ID as a value and returns it. Transfers ownership of |
- // the StringValue to the caller. |
- base::StringValue* ToValue() const; |
- |
- // Three functions are used to work with our proto buffers. |
- std::string GetServerId() const; |
- static Id CreateFromServerId(const std::string& server_id); |
- // This should only be used if you get back a reference to a local |
- // id from the server. Returns a client only opaque id. |
- static Id CreateFromClientString(const std::string& local_id); |
- |
- // This method returns an ID that will compare less than any valid ID. |
- // The returned ID is not a valid ID itself. This is useful for |
- // computing lower bounds on std::sets that are ordered by operator<. |
- static Id GetLeastIdForLexicographicComparison(); |
- |
- private: |
- friend EntryKernel* UnpackEntry(sql::Statement* statement); |
- friend void BindFields(const EntryKernel& entry, |
- sql::Statement* statement); |
- friend std::ostream& operator<<(std::ostream& out, const Id& id); |
- friend class MockConnectionManager; |
- friend class SyncableIdTest; |
- |
- std::string s_; |
-}; |
- |
-Id GetNullId(); |
- |
-} // namespace syncable |
- |
-#endif // CHROME_BROWSER_SYNC_SYNCABLE_SYNCABLE_ID_H_ |