blob: 4798e5371632ea9a972da717e47336dc7da2b7c8 [file] [log] [blame]
// 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.
#ifndef FUCHSIA_ROT13_CLIENT_APP_H
#define FUCHSIA_ROT13_CLIENT_APP_H
#include <fuchsia/examples/rot13/cpp/fidl.h>
#include <fuchsia/sys/cpp/fidl.h>
#include <lib/sys/cpp/component_context.h>
namespace rot13 {
class Rot13ClientApp {
public:
Rot13ClientApp();
Rot13ClientApp(std::unique_ptr<sys::ComponentContext> context);
~Rot13ClientApp();
fuchsia::examples::rot13::Rot13Ptr &rot13() { return rot13_; }
void Start();
private:
Rot13ClientApp(const Rot13ClientApp &) = delete;
Rot13ClientApp &operator=(const Rot13ClientApp &) = delete;
std::unique_ptr<sys::ComponentContext> context_;
fuchsia::sys::ComponentControllerPtr controller_;
fuchsia::examples::rot13::Rot13Ptr rot13_;
};
} // namespace rot13
#endif // FUCHSIA_ROT13_CLIENT_APP_H