Home | History | Annotate | Download | only in api
      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_API_SYNC_ERROR_FACTORY_H_
      6 #define SYNC_API_SYNC_ERROR_FACTORY_H_
      7 
      8 #include <string>
      9 
     10 #include "base/location.h"
     11 #include "sync/api/sync_error.h"
     12 #include "sync/base/sync_export.h"
     13 
     14 namespace syncer {
     15 
     16 class SYNC_EXPORT SyncErrorFactory {
     17  public:
     18   SyncErrorFactory();
     19   virtual ~SyncErrorFactory();
     20 
     21   // Creates a SyncError object and uploads this call stack to breakpad.
     22   virtual SyncError CreateAndUploadError(
     23       const tracked_objects::Location& location,
     24       const std::string& message) = 0;
     25 };
     26 
     27 }  // namespace syncer
     28 
     29 #endif  // SYNC_API_SYNC_ERROR_FACTORY_H_
     30