summaryrefslogtreecommitdiffstats
path: root/net/socket_stream/socket_stream_job_manager.h
diff options
context:
space:
mode:
authorsatish@chromium.org <satish@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-09 08:14:10 +0000
committersatish@chromium.org <satish@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-09 08:14:10 +0000
commitee16679f293ca27ce3d822a97efad7d3fa8a049e (patch)
tree4d531d3ecd47038f476a405372acfbdd20c493f3 /net/socket_stream/socket_stream_job_manager.h
parentdce3a57799f52dc3edc0bee78c5e74fed362c365 (diff)
downloadchromium_src-ee16679f293ca27ce3d822a97efad7d3fa8a049e.zip
chromium_src-ee16679f293ca27ce3d822a97efad7d3fa8a049e.tar.gz
chromium_src-ee16679f293ca27ce3d822a97efad7d3fa8a049e.tar.bz2
Add a new GetInstance() method for singleton classes under chrome/service and /net.
This is a small step towards making all singleton classes use the Singleton<T> pattern within their code and not expect the callers to know about it. This CL includes files under chrome/service and /net with related files elsewhere. Suggested files to focus for reviewers: - @sanjeevr for chrome/common and chrome/service - @ukai for net/websockets - @agl for rest of net BUG=65298 TEST=all existing tests should continue to pass. Review URL: http://codereview.chromium.org/5634005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68722 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket_stream/socket_stream_job_manager.h')
-rw-r--r--net/socket_stream/socket_stream_job_manager.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/net/socket_stream/socket_stream_job_manager.h b/net/socket_stream/socket_stream_job_manager.h
index 1150058..fbd572d 100644
--- a/net/socket_stream/socket_stream_job_manager.h
+++ b/net/socket_stream/socket_stream_job_manager.h
@@ -12,14 +12,15 @@
#include "net/socket_stream/socket_stream.h"
#include "net/socket_stream/socket_stream_job.h"
+template <typename T> struct DefaultSingletonTraits;
class GURL;
namespace net {
class SocketStreamJobManager {
public:
- SocketStreamJobManager();
- ~SocketStreamJobManager();
+ // Returns the singleton instance.
+ static SocketStreamJobManager* GetInstance();
SocketStreamJob* CreateJob(
const GURL& url, SocketStream::Delegate* delegate) const;
@@ -28,8 +29,12 @@ class SocketStreamJobManager {
const std::string& scheme, SocketStreamJob::ProtocolFactory* factory);
private:
+ friend struct DefaultSingletonTraits<SocketStreamJobManager>;
typedef std::map<std::string, SocketStreamJob::ProtocolFactory*> FactoryMap;
+ SocketStreamJobManager();
+ ~SocketStreamJobManager();
+
mutable Lock lock_;
FactoryMap factories_;