Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef MOJO_SHELL_CONNECT_TO_APPLICATION_PARAMS_H_ | 5 #ifndef MOJO_SHELL_CONNECT_TO_APPLICATION_PARAMS_H_ |
| 6 #define MOJO_SHELL_CONNECT_TO_APPLICATION_PARAMS_H_ | 6 #define MOJO_SHELL_CONNECT_TO_APPLICATION_PARAMS_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| 11 #include "mojo/application/public/interfaces/service_provider.mojom.h" | 11 #include "mojo/application/public/interfaces/service_provider.mojom.h" |
| 12 #include "mojo/application/public/interfaces/shell.mojom.h" | 12 #include "mojo/application/public/interfaces/shell.mojom.h" |
| 13 #include "mojo/public/cpp/bindings/interface_request.h" | 13 #include "mojo/public/cpp/bindings/interface_request.h" |
| 14 #include "mojo/services/network/public/interfaces/url_loader.mojom.h" | 14 #include "mojo/services/network/public/interfaces/url_loader.mojom.h" |
| 15 #include "mojo/shell/capability_filter.h" | |
| 16 #include "mojo/shell/identity.h" | 15 #include "mojo/shell/identity.h" |
| 17 #include "url/gurl.h" | 16 #include "url/gurl.h" |
| 18 | 17 |
| 19 namespace mojo { | 18 namespace mojo { |
| 20 namespace shell { | 19 namespace shell { |
| 21 | 20 |
| 22 class ApplicationInstance; | 21 class ApplicationInstance; |
| 23 | 22 |
| 24 // This class represents a request for the application manager to connect to an | 23 // This class represents a request for the application manager to connect to an |
| 25 // application. | 24 // application. |
| 26 class ConnectToApplicationParams { | 25 class ConnectToApplicationParams { |
| 27 public: | 26 public: |
| 28 ConnectToApplicationParams(); | 27 ConnectToApplicationParams(); |
| 29 ~ConnectToApplicationParams(); | 28 ~ConnectToApplicationParams(); |
| 30 | 29 |
| 31 // Sets both |originator_identity_| and |originator_filter_|. If |originator| | 30 // Sets |source_|. If |source| is null, |source_| is reset. |
| 32 // is null, both fields are reset. | 31 void SetSource(ApplicationInstance* source); |
| 33 void SetOriginatorInfo(ApplicationInstance* originator); | |
| 34 | 32 |
| 35 // Sets both |app_url_| and |app_url_request_|. | 33 // Sets both |target_| and |target_url_request_|. |
| 36 void SetURLInfo(const GURL& app_url); | 34 void SetTarget(const Identity& target); |
| 37 // Sets both |app_url_| and |app_url_request_|. | 35 void SetTargetURL(const GURL& target_url); |
| 38 void SetURLInfo(URLRequestPtr app_url_request); | 36 // Sets both |target_| and |target_url_request_|. |
|
yzshen1
2015/09/18 06:07:54
nit: please consider removing this comment and cha
| |
| 37 void SetTargetURLRequest(URLRequestPtr request); | |
| 38 void SetTargetURLRequest(URLRequestPtr request, const Identity& target); | |
| 39 | 39 |
| 40 void set_originator_identity(const Identity& value) { | 40 void set_source(const Identity& source) { source_ = source; } |
| 41 originator_identity_ = value; | 41 const Identity& source() const { return source_; } |
| 42 const GURL& target_url() const { return target_.url; } | |
| 43 const Identity& target() const { return target_; } | |
| 44 | |
| 45 const URLRequest* target_url_request() const { | |
| 46 return target_url_request_.get(); | |
| 42 } | 47 } |
| 43 const Identity& originator_identity() const { return originator_identity_; } | 48 // NOTE: This doesn't reset |target_|. |
| 44 | 49 URLRequestPtr TakeTargetURLRequest() { return target_url_request_.Pass(); } |
| 45 void set_originator_filter(const CapabilityFilter& value) { | |
| 46 originator_filter_ = value; | |
| 47 } | |
| 48 const CapabilityFilter& originator_filter() const { | |
| 49 return originator_filter_; | |
| 50 } | |
| 51 | |
| 52 const GURL& app_url() const { return app_url_; } | |
| 53 | |
| 54 const URLRequest* app_url_request() const { return app_url_request_.get(); } | |
| 55 // NOTE: This doesn't reset |app_url_|. | |
| 56 URLRequestPtr TakeAppURLRequest() { return app_url_request_.Pass(); } | |
| 57 | |
| 58 void set_qualifier(const std::string& value) { qualifier_ = value; } | |
| 59 const std::string& qualifier() const { return qualifier_; } | |
| 60 | 50 |
| 61 void set_services(InterfaceRequest<ServiceProvider> value) { | 51 void set_services(InterfaceRequest<ServiceProvider> value) { |
| 62 services_ = value.Pass(); | 52 services_ = value.Pass(); |
| 63 } | 53 } |
| 64 InterfaceRequest<ServiceProvider> TakeServices() { return services_.Pass(); } | 54 InterfaceRequest<ServiceProvider> TakeServices() { return services_.Pass(); } |
| 65 | 55 |
| 66 void set_exposed_services(ServiceProviderPtr value) { | 56 void set_exposed_services(ServiceProviderPtr value) { |
| 67 exposed_services_ = value.Pass(); | 57 exposed_services_ = value.Pass(); |
| 68 } | 58 } |
| 69 ServiceProviderPtr TakeExposedServices() { return exposed_services_.Pass(); } | 59 ServiceProviderPtr TakeExposedServices() { return exposed_services_.Pass(); } |
| 70 | 60 |
| 71 void set_filter(const CapabilityFilter& value) { filter_ = value; } | |
| 72 const CapabilityFilter& filter() const { return filter_; } | |
| 73 | |
| 74 void set_on_application_end(const base::Closure& value) { | 61 void set_on_application_end(const base::Closure& value) { |
| 75 on_application_end_ = value; | 62 on_application_end_ = value; |
| 76 } | 63 } |
| 77 const base::Closure& on_application_end() const { | 64 const base::Closure& on_application_end() const { |
| 78 return on_application_end_; | 65 return on_application_end_; |
| 79 } | 66 } |
| 80 | 67 |
| 81 void set_connect_callback(const Shell::ConnectToApplicationCallback& value) { | 68 void set_connect_callback(const Shell::ConnectToApplicationCallback& value) { |
| 82 connect_callback_ = value; | 69 connect_callback_ = value; |
| 83 } | 70 } |
| 84 const Shell::ConnectToApplicationCallback& connect_callback() const { | 71 const Shell::ConnectToApplicationCallback& connect_callback() const { |
| 85 return connect_callback_; | 72 return connect_callback_; |
| 86 } | 73 } |
| 87 | 74 |
| 88 private: | 75 private: |
| 89 // It may be null (i.e., is_null() returns true) which indicates that there is | 76 // It may be null (i.e., is_null() returns true) which indicates that there is |
| 90 // no originator (e.g., for the first application or in tests). | 77 // no source (e.g., for the first application or in tests). |
| 91 Identity originator_identity_; | 78 Identity source_; |
| 92 // Should be ignored if |originator_identity_| is null. | 79 // The identity of the application being connected to. |
| 93 CapabilityFilter originator_filter_; | 80 Identity target_; |
| 94 // The URL of the application that is being connected to. | |
| 95 GURL app_url_; | |
| 96 // The URL request to fetch the application. It may contain more information | 81 // The URL request to fetch the application. It may contain more information |
| 97 // than |app_url_| (e.g., headers, request body). When it is taken, |app_url_| | 82 // than |app_url_| (e.g., headers, request body). When it is taken, |app_url_| |
|
yzshen1
2015/09/18 06:07:54
Please update |app_ur_| related comments.
| |
| 98 // remains unchanged. | 83 // remains unchanged. |
| 99 URLRequestPtr app_url_request_; | 84 URLRequestPtr target_url_request_; |
| 100 // Please see the comments in identity.h for the exact meaning of qualifier. | 85 |
| 101 std::string qualifier_; | |
| 102 InterfaceRequest<ServiceProvider> services_; | 86 InterfaceRequest<ServiceProvider> services_; |
| 103 ServiceProviderPtr exposed_services_; | 87 ServiceProviderPtr exposed_services_; |
| 104 CapabilityFilter filter_; | |
| 105 base::Closure on_application_end_; | 88 base::Closure on_application_end_; |
| 106 Shell::ConnectToApplicationCallback connect_callback_; | 89 Shell::ConnectToApplicationCallback connect_callback_; |
| 107 | 90 |
| 108 DISALLOW_COPY_AND_ASSIGN(ConnectToApplicationParams); | 91 DISALLOW_COPY_AND_ASSIGN(ConnectToApplicationParams); |
| 109 }; | 92 }; |
| 110 | 93 |
| 111 } // namespace shell | 94 } // namespace shell |
| 112 } // namespace mojo | 95 } // namespace mojo |
| 113 | 96 |
| 114 #endif // MOJO_SHELL_CONNECT_TO_APPLICATION_PARAMS_H_ | 97 #endif // MOJO_SHELL_CONNECT_TO_APPLICATION_PARAMS_H_ |
| OLD | NEW |