Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(903)

Unified Diff: examples/notification_generator/notification_generator.cc

Issue 2005103003: Add implementations of mojo::{Run,Terminate}[Main]Application() for "chromium". (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: examples/notification_generator/notification_generator.cc
diff --git a/examples/notification_generator/notification_generator.cc b/examples/notification_generator/notification_generator.cc
index 17bb081898c567c15f482e35f75af972fb56ed61..9b173bea42ed5ea7ccbb53a4949f9e24a07099ca 100644
--- a/examples/notification_generator/notification_generator.cc
+++ b/examples/notification_generator/notification_generator.cc
@@ -6,12 +6,12 @@
#include "base/bind.h"
#include "base/macros.h"
-#include "mojo/application/application_runner_chromium.h"
+#include "base/message_loop/message_loop.h"
#include "mojo/common/binding_set.h"
#include "mojo/public/c/system/main.h"
-#include "mojo/public/cpp/application/application_delegate.h"
-#include "mojo/public/cpp/application/application_impl.h"
+#include "mojo/public/cpp/application/application_impl_base.h"
#include "mojo/public/cpp/application/connect.h"
+#include "mojo/public/cpp/application/run_application.h"
#include "mojo/services/notifications/interfaces/notifications.mojom.h"
namespace examples {
@@ -19,16 +19,16 @@ namespace examples {
static const base::TimeDelta kDefaultMessageDelay =
base::TimeDelta::FromMilliseconds(3000);
-class NotificationGeneratorDelegate : public mojo::ApplicationDelegate,
- public notifications::NotificationClient {
+class NotificationGeneratorApp : public mojo::ApplicationImplBase,
+ public notifications::NotificationClient {
public:
- NotificationGeneratorDelegate() {}
+ NotificationGeneratorApp() {}
- ~NotificationGeneratorDelegate() override {}
+ ~NotificationGeneratorApp() override {}
- // mojo::ApplicationDelegate implementation.
- void Initialize(mojo::ApplicationImpl* app) override {
- mojo::ConnectToService(app->shell(), "mojo:notifications",
+ // mojo::ApplicationImplBase implementation.
+ void OnInitialize() override {
+ mojo::ConnectToService(shell(), "mojo:notifications",
GetProxy(&notification_service_));
PostFirstNotification();
}
@@ -47,17 +47,15 @@ class NotificationGeneratorDelegate : public mojo::ApplicationDelegate,
void PostFirstNotification() {
PostNotification("First notification", "Next: Second will be created",
&first_notification_);
- PostDelayed(
- base::Bind(&NotificationGeneratorDelegate::PostSecondNotification,
- base::Unretained(this)));
+ PostDelayed(base::Bind(&NotificationGeneratorApp::PostSecondNotification,
+ base::Unretained(this)));
}
void PostSecondNotification() {
PostNotification("Second notification", "Next: First will be updated",
&second_notification_);
- PostDelayed(
- base::Bind(&NotificationGeneratorDelegate::UpdateFirstNotification,
- base::Unretained(this)));
+ PostDelayed(base::Bind(&NotificationGeneratorApp::UpdateFirstNotification,
+ base::Unretained(this)));
}
void PostNotification(const char* title,
@@ -76,23 +74,20 @@ class NotificationGeneratorDelegate : public mojo::ApplicationDelegate,
first_notification_->Update(
CreateNotificationData("First notification updated",
"Next: both cancelled; repeat").Pass());
- PostDelayed(
- base::Bind(&NotificationGeneratorDelegate::CancelSecondNotification,
- base::Unretained(this)));
+ PostDelayed(base::Bind(&NotificationGeneratorApp::CancelSecondNotification,
+ base::Unretained(this)));
}
void CancelSecondNotification() {
second_notification_->Cancel();
- PostDelayed(
- base::Bind(&NotificationGeneratorDelegate::CancelFirstNotification,
- base::Unretained(this)));
+ PostDelayed(base::Bind(&NotificationGeneratorApp::CancelFirstNotification,
+ base::Unretained(this)));
}
void CancelFirstNotification() {
first_notification_->Cancel();
- PostDelayed(
- base::Bind(&NotificationGeneratorDelegate::PostFirstNotification,
- base::Unretained(this)));
+ PostDelayed(base::Bind(&NotificationGeneratorApp::PostFirstNotification,
+ base::Unretained(this)));
}
notifications::NotificationDataPtr CreateNotificationData(const char* title,
@@ -117,13 +112,13 @@ class NotificationGeneratorDelegate : public mojo::ApplicationDelegate,
notifications::NotificationPtr dismissed_notification_;
notifications::NotificationPtr select_notification_;
- DISALLOW_COPY_AND_ASSIGN(NotificationGeneratorDelegate);
+ DISALLOW_COPY_AND_ASSIGN(NotificationGeneratorApp);
};
} // namespace examples
MojoResult MojoMain(MojoHandle application_request) {
- mojo::ApplicationRunnerChromium runner(
- new examples::NotificationGeneratorDelegate);
- return runner.Run(application_request);
+ examples::NotificationGeneratorApp notification_generator_app;
+ return mojo::RunMainApplication(application_request,
+ &notification_generator_app);
}

Powered by Google App Engine
This is Rietveld 408576698