| // Copyright 2019 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "rot13_server_app.h" |
| |
| #include <cctype> |
| |
| #include "rot13.h" |
| |
| namespace rot13 { |
| Rot13ServerApp::Rot13ServerApp() |
| : Rot13ServerApp(sys::ComponentContext::CreateAndServeOutgoingDirectory()) {} |
| |
| Rot13ServerApp::Rot13ServerApp(std::unique_ptr<sys::ComponentContext> context) |
| : context_(std::move(context)) { |
| context_->outgoing()->AddPublicService(bindings_.GetHandler(this)); |
| } |
| |
| Rot13ServerApp::~Rot13ServerApp() {} |
| |
| void Rot13ServerApp::Encrypt( |
| std::string value, |
| fuchsia::examples::rot13::Rot13::EncryptCallback callback) { |
| std::string encrypted = DoRot13(value.c_str()); |
| callback(encrypted); |
| } |
| void Rot13ServerApp::Checksum( |
| std::string value, |
| fuchsia::examples::rot13::Rot13::ChecksumCallback callback) { |
| uint32_t cksum = DoChecksum(value.c_str()); |
| callback(cksum); |
| } |
| |
| } // namespace rot13 |