projects
/
platform
/
framework
/
web
/
crosswalk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git]
/
src
/
mojo
/
public
/
cpp
/
application
/
lazy_interface_ptr.h
diff --git
a/src/mojo/public/cpp/application/lazy_interface_ptr.h
b/src/mojo/public/cpp/application/lazy_interface_ptr.h
index
62d0ae9
..
908ea08
100644
(file)
--- a/
src/mojo/public/cpp/application/lazy_interface_ptr.h
+++ b/
src/mojo/public/cpp/application/lazy_interface_ptr.h
@@
-13,12
+13,21
@@
namespace mojo {
template<typename Interface>
namespace mojo {
template<typename Interface>
-class LazyInterfacePtr : InterfacePtr<Interface> {
+class LazyInterfacePtr :
public
InterfacePtr<Interface> {
public:
public:
+ LazyInterfacePtr() : service_provider_(NULL) {}
+
LazyInterfacePtr(ServiceProvider* service_provider)
: service_provider_(service_provider) {
}
LazyInterfacePtr(ServiceProvider* service_provider)
: service_provider_(service_provider) {
}
+ void set_service_provider(ServiceProvider* service_provider) {
+ if (service_provider != service_provider_) {
+ InterfacePtr<Interface>::reset();
+ }
+ service_provider_ = service_provider;
+ }
+
Interface* get() const {
if (!InterfacePtr<Interface>::get()) {
mojo::ConnectToService<Interface>(
Interface* get() const {
if (!InterfacePtr<Interface>::get()) {
mojo::ConnectToService<Interface>(