Chromium Code Reviews| Index: chrome/browser/sync/sessions/sync_session.h |
| =================================================================== |
| --- chrome/browser/sync/sessions/sync_session.h (revision 71618) |
| +++ chrome/browser/sync/sessions/sync_session.h (working copy) |
| @@ -15,16 +15,20 @@ |
| #define CHROME_BROWSER_SYNC_SESSIONS_SYNC_SESSION_H_ |
| #pragma once |
| +#include <map> |
| +#include <string> |
| #include <utility> |
| #include <vector> |
| #include "base/basictypes.h" |
| #include "base/scoped_ptr.h" |
| #include "base/time.h" |
| +#include "chrome/browser/sync/engine/model_safe_worker.h" |
|
akalin
2011/01/24 22:17:29
I think you can forward declare ModelSafeRoutingIn
Nicolas Zea
2011/01/25 00:29:14
ModelSafeRoutingInfo is a typedef, so can't be for
akalin
2011/01/26 01:15:17
Ah, actually if it's a typedef, then we should inc
|
| #include "chrome/browser/sync/sessions/ordered_commit_set.h" |
| #include "chrome/browser/sync/sessions/session_state.h" |
| #include "chrome/browser/sync/sessions/status_controller.h" |
| #include "chrome/browser/sync/sessions/sync_session_context.h" |
| +#include "chrome/browser/sync/syncable/model_type.h" |
| #include "chrome/browser/sync/util/extensions_activity_monitor.h" |
| namespace syncable { |
| @@ -35,9 +39,33 @@ |
| class ModelSafeWorker; |
| namespace sessions { |
| -typedef std::pair<sync_pb::GetUpdatesCallerInfo::GetUpdatesSource, |
| - syncable::ModelTypeBitSet> SyncSourceInfo; |
| +// A container that contains a set of datatypes with possible string payloads. |
| +typedef std::map<syncable::ModelType, std::string> ModelTypeMap; |
|
akalin
2011/01/24 22:17:29
ModelTypeMap is a bit generic -- how about ModelTy
Nicolas Zea
2011/01/25 00:29:14
Done.
|
| + |
| +// Helper utils for building ModelTypeMaps. |
| +void BuildModelTypeMapFromModelTypeBitSet( |
|
akalin
2011/01/24 22:17:29
These names are a bit long. I suggest:
ModelType
Nicolas Zea
2011/01/25 00:29:14
Done.
|
| + const syncable::ModelTypeBitSet& types, |
| + const std::string& payload, |
| + ModelTypeMap* map); |
| +void BuildModelTypeMapFromModelSafeRoutingInfo( |
| + const ModelSafeRoutingInfo& routes, |
| + const std::string& payload, |
| + ModelTypeMap* map); |
| + |
| +// A container for the source of a sync session. This includes the update |
| +// source, the datatypes triggering the sync session, and possible session |
| +// specific payloads which should be sent to the server. |
| +struct SyncSourceInfo { |
| + SyncSourceInfo(); |
| + SyncSourceInfo( |
| + const sync_pb::GetUpdatesCallerInfo::GetUpdatesSource& u, |
| + const ModelTypeMap& t); |
| + |
| + sync_pb::GetUpdatesCallerInfo::GetUpdatesSource updates_source; |
| + ModelTypeMap types; |
| +}; |
| + |
| class SyncSession { |
| public: |
| // The Delegate services events that occur during the session requiring an |