1// Copyright 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef SYNC_INTERNAL_API_PUBLIC_USER_SHARE_H_ 6#define SYNC_INTERNAL_API_PUBLIC_USER_SHARE_H_ 7 8#include <string> 9 10#include "base/memory/scoped_ptr.h" 11#include "sync/base/sync_export.h" 12 13namespace syncer { 14 15namespace syncable { 16class Directory; 17} 18 19// A UserShare encapsulates the syncable pieces that represent an authenticated 20// user and their data (share). 21// This encompasses all pieces required to build transaction objects on the 22// syncable share. 23struct SYNC_EXPORT_PRIVATE UserShare { 24 UserShare(); 25 ~UserShare(); 26 27 // The Directory itself, which is the parent of Transactions. 28 scoped_ptr<syncable::Directory> directory; 29}; 30 31} // namespace syncer 32 33#endif // SYNC_INTERNAL_API_PUBLIC_USER_SHARE_H_ 34