Index: chrome/browser/sync/engine/net/syncapi_server_connection_manager.h |
diff --git a/chrome/browser/sync/engine/net/syncapi_server_connection_manager.h b/chrome/browser/sync/engine/net/syncapi_server_connection_manager.h |
index 4758d2577f446fa333f5f7f4d9f6a2c929712bcc..f94799d703e09fe757cfd302298855749ce00d74 100644 |
--- a/chrome/browser/sync/engine/net/syncapi_server_connection_manager.h |
+++ b/chrome/browser/sync/engine/net/syncapi_server_connection_manager.h |
@@ -7,6 +7,7 @@ |
#include <string> |
+#include "base/scoped_ptr.h" |
#include "chrome/browser/sync/engine/net/server_connection_manager.h" |
namespace sync_api { |
@@ -44,28 +45,28 @@ class SyncAPIBridgedPost |
class SyncAPIServerConnectionManager |
: public browser_sync::ServerConnectionManager { |
public: |
+ // Takes ownership of factory. |
SyncAPIServerConnectionManager(const std::string& server, |
int port, |
bool use_ssl, |
const std::string& client_version, |
- const std::string& client_id) |
+ const std::string& client_id, |
+ HttpPostProviderFactory* factory) |
: ServerConnectionManager(server, port, use_ssl, client_version, |
client_id), |
- post_provider_factory_(NULL) { |
+ post_provider_factory_(factory) { |
+ DCHECK(post_provider_factory_.get()); |
} |
virtual ~SyncAPIServerConnectionManager(); |
- |
- // This method gives ownership of |factory| to |this|. |
- void SetHttpPostProviderFactory(HttpPostProviderFactory* factory); |
protected: |
virtual Post* MakePost() { |
- return new SyncAPIBridgedPost(this, post_provider_factory_); |
+ return new SyncAPIBridgedPost(this, post_provider_factory_.get()); |
} |
private: |
// A factory creating concrete HttpPostProviders for use whenever we need to |
// issue a POST to sync servers. |
- HttpPostProviderFactory* post_provider_factory_; |
+ scoped_ptr<HttpPostProviderFactory> post_provider_factory_; |
DISALLOW_COPY_AND_ASSIGN(SyncAPIServerConnectionManager); |
}; |