// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef DROIDDATA_H #define DROIDDATA_H #include "HeroData.h" #include "DroidObject.h" namespace graphql::learn { class Human; class Droid { public: explicit Droid(std::string&& id, std::optional&& name, std::vector&& appearsIn, std::optional&& primaryFunction) noexcept; void addFriends(std::vector friends) noexcept; const response::IdType& getId() const noexcept; const std::optional& getName() const noexcept; std::optional>> getFriends() const noexcept; std::optional>> getAppearsIn() const noexcept; const std::optional& getPrimaryFunction() const noexcept; private: const response::IdType id_; const std::optional name_; const std::vector appearsIn_; const std::optional primaryFunction_; std::vector friends_; }; } // namespace graphql::learn #endif // DROIDDATA_H