Index: examples/bank_app/customer.cc |
diff --git a/examples/bank_app/customer.cc b/examples/bank_app/customer.cc |
index 77562c93b13dd30413b22c3e7fcdd1cf116c6c45..9d9790f8588e87b1f6d3de84d41637fc4f29f998 100644 |
--- a/examples/bank_app/customer.cc |
+++ b/examples/bank_app/customer.cc |
@@ -2,14 +2,11 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include <memory> |
- |
#include "examples/bank_app/bank.mojom.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_runner.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/public/cpp/utility/run_loop.h" |
#include "mojo/services/vanadium/security/interfaces/principal.mojom.h" |
@@ -24,10 +21,10 @@ class LoginHandler { |
} |
}; |
-class BankCustomer : public mojo::ApplicationDelegate { |
+class BankCustomer : public mojo::ApplicationImplBase { |
public: |
- void Initialize(mojo::ApplicationImpl* app) override { |
- mojo::ConnectToService(app->shell(), "mojo:principal_service", |
+ void OnInitialize() override { |
+ mojo::ConnectToService(shell(), "mojo:principal_service", |
GetProxy(&login_service_)); |
// Login to the principal service to get a user identity. |
@@ -38,7 +35,7 @@ class BankCustomer : public mojo::ApplicationDelegate { |
} |
BankPtr bank; |
- mojo::ConnectToService(app->shell(), "mojo:bank", GetProxy(&bank)); |
+ mojo::ConnectToService(shell(), "mojo:bank", GetProxy(&bank)); |
bank->Deposit(500/*usd*/); |
bank->Withdraw(100/*usd*/); |
auto gb_callback = [](const int32_t& balance) { |
@@ -47,9 +44,8 @@ class BankCustomer : public mojo::ApplicationDelegate { |
bank->GetBalance(mojo::Callback<void(const int32_t&)>(gb_callback)); |
bank.WaitForIncomingResponse(); |
} |
- void Quit() override { |
- login_service_->Logout(); |
- } |
+ void OnQuit() override { login_service_->Logout(); } |
+ |
private: |
vanadium::PrincipalServicePtr login_service_; |
}; |
@@ -57,7 +53,6 @@ class BankCustomer : public mojo::ApplicationDelegate { |
} // namespace examples |
MojoResult MojoMain(MojoHandle application_request) { |
- mojo::ApplicationRunner runner( |
- std::unique_ptr<examples::BankCustomer>(new examples::BankCustomer())); |
- return runner.Run(application_request); |
+ examples::BankCustomer bank_customer; |
+ return mojo::RunMainApplication(application_request, &bank_customer); |
} |