Index: chrome/browser/sync/engine/net/syncapi_server_connection_manager.h |
=================================================================== |
--- chrome/browser/sync/engine/net/syncapi_server_connection_manager.h (revision 37263) |
+++ chrome/browser/sync/engine/net/syncapi_server_connection_manager.h (working copy) |
@@ -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 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); |
}; |