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 13 namespace syncer { 14 15 namespace syncable { 16 class 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. 23 struct 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