| OLD | NEW | 
|   1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |   1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 
|   2 // Use of this source code is governed by a BSD-style license that can be |   2 // Use of this source code is governed by a BSD-style license that can be | 
|   3 // found in the LICENSE file. |   3 // found in the LICENSE file. | 
|   4  |   4  | 
|   5 #ifndef CHROME_BROWSER_SYNC_GLUE_MODEL_ASSOCIATOR_H_ |   5 #ifndef CHROME_BROWSER_SYNC_GLUE_MODEL_ASSOCIATOR_H_ | 
|   6 #define CHROME_BROWSER_SYNC_GLUE_MODEL_ASSOCIATOR_H_ |   6 #define CHROME_BROWSER_SYNC_GLUE_MODEL_ASSOCIATOR_H_ | 
|   7 #pragma once |   7 #pragma once | 
|   8  |   8  | 
|   9 #include "base/basictypes.h" |   9 #include "base/basictypes.h" | 
|  10 #include "chrome/browser/sync/syncable/model_type.h" |  10 #include "chrome/browser/sync/syncable/model_type.h" | 
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  53 // This template is appropriate for data types where a Node* makes sense for |  53 // This template is appropriate for data types where a Node* makes sense for | 
|  54 // referring to a particular item.  If we encounter a type that does not fit |  54 // referring to a particular item.  If we encounter a type that does not fit | 
|  55 // in this world, we may want to have several PerDataType templates. |  55 // in this world, we may want to have several PerDataType templates. | 
|  56 template <class Node, class IDType> |  56 template <class Node, class IDType> | 
|  57 class PerDataTypeAssociatorInterface : public AssociatorInterface { |  57 class PerDataTypeAssociatorInterface : public AssociatorInterface { | 
|  58  public: |  58  public: | 
|  59   virtual ~PerDataTypeAssociatorInterface() {} |  59   virtual ~PerDataTypeAssociatorInterface() {} | 
|  60   // Returns sync id for the given chrome model id. |  60   // Returns sync id for the given chrome model id. | 
|  61   // Returns sync_api::kInvalidId if the sync node is not found for the given |  61   // Returns sync_api::kInvalidId if the sync node is not found for the given | 
|  62   // chrome id. |  62   // chrome id. | 
|  63   virtual int64 GetSyncIdFromChromeId(IDType id) = 0; |  63   virtual int64 GetSyncIdFromChromeId(const IDType& id) = 0; | 
|  64  |  64  | 
|  65   // Returns the chrome node for the given sync id. |  65   // Returns the chrome node for the given sync id. | 
|  66   // Returns NULL if no node is found for the given sync id. |  66   // Returns NULL if no node is found for the given sync id. | 
|  67   virtual const Node* GetChromeNodeFromSyncId(int64 sync_id) = 0; |  67   virtual const Node* GetChromeNodeFromSyncId(int64 sync_id) = 0; | 
|  68  |  68  | 
|  69   // Initializes the given sync node from the given chrome node id. |  69   // Initializes the given sync node from the given chrome node id. | 
|  70   // Returns false if no sync node was found for the given chrome node id or |  70   // Returns false if no sync node was found for the given chrome node id or | 
|  71   // if the initialization of sync node fails. |  71   // if the initialization of sync node fails. | 
|  72   virtual bool InitSyncNodeFromChromeId(IDType node_id, |  72   virtual bool InitSyncNodeFromChromeId(const IDType& node_id, | 
|  73                                         sync_api::BaseNode* sync_node) = 0; |  73                                         sync_api::BaseNode* sync_node) = 0; | 
|  74  |  74  | 
|  75   // Associates the given chrome node with the given sync id. |  75   // Associates the given chrome node with the given sync id. | 
|  76   virtual void Associate(const Node* node, int64 sync_id) = 0; |  76   virtual void Associate(const Node* node, int64 sync_id) = 0; | 
|  77  |  77  | 
|  78   // Remove the association that corresponds to the given sync id. |  78   // Remove the association that corresponds to the given sync id. | 
|  79   virtual void Disassociate(int64 sync_id) = 0; |  79   virtual void Disassociate(int64 sync_id) = 0; | 
|  80 }; |  80 }; | 
|  81  |  81  | 
|  82 }  // namespace browser_sync |  82 }  // namespace browser_sync | 
|  83  |  83  | 
|  84 #endif  // CHROME_BROWSER_SYNC_GLUE_MODEL_ASSOCIATOR_H_ |  84 #endif  // CHROME_BROWSER_SYNC_GLUE_MODEL_ASSOCIATOR_H_ | 
| OLD | NEW |