1 // Copyright 2014 Samsung Electronics. 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.
5 #ifndef MIME_OVERRIDE_MANAGER_EFL_H_
6 #define MIME_OVERRIDE_MANAGER_EFL_H_
11 #include "base/synchronization/lock.h"
14 template <typename T> struct DefaultSingletonTraits;
16 typedef std::map<std::string, std::string> MimeOverrideMap;
18 class MimeOverrideManagerEfl {
20 static MimeOverrideManagerEfl* GetInstance();
22 // Adds new mime to be overridden. Thread safe.
23 void PushOverriddenMime(const std::string& url_spec,
24 const std::string& new_mime_type);
26 // Checks if mime should be overridden and gets new mime.
27 // Removes the mime that shall be overridden. Thread safe.
28 bool PopOverriddenMime(const std::string& url_spec,
29 std::string& new_mime_type);
32 MimeOverrideManagerEfl() {}
34 friend struct base::DefaultSingletonTraits<MimeOverrideManagerEfl>;
37 MimeOverrideMap mime_override_map_;
39 DISALLOW_COPY_AND_ASSIGN(MimeOverrideManagerEfl);
42 #endif // MIME_OVERRIDE_MANAGER_EFL_H_