text: /**
   * Autogenerated by Thrift
   *
   * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
   *  @generated
   */
  
  #include <src/gen-py3/module/services_wrapper.h>
  #include <src/gen-py3/module/services_api.h>
  #include <thrift/lib/cpp2/async/AsyncProcessor.h>
  
  namespace cpp2 {
  
  MyRootWrapper::MyRootWrapper(PyObject *obj, folly::Executor* exc)
    : if_object(obj), executor(exc)
    {
      import_module__services();
    }
  
  
  folly::Future<folly::Unit> MyRootWrapper::future_do_root() {
    folly::Promise<folly::Unit> promise;
    auto future = promise.getFuture();
    auto ctx = getConnectionContext();
    folly::via(
      this->executor,
      [this, ctx,
       promise = std::move(promise)    ]() mutable {
          call_cy_MyRoot_do_root(
              this->if_object,
              ctx,
              std::move(promise)        );
      });
  
    return future;
  }
  
  std::shared_ptr<apache::thrift::ServerInterface> MyRootInterface(PyObject *if_object, folly::Executor *exc) {
    return std::make_shared<MyRootWrapper>(if_object, exc);
  }
  
  
  MyNodeWrapper::MyNodeWrapper(PyObject *obj, folly::Executor* exc)
    : ::cpp2::MyRootWrapper(obj, exc)
    {
      import_module__services();
    }
  
  folly::Future<folly::Unit> MyNodeWrapper::future_do_mid() {
    folly::Promise<folly::Unit> promise;
    auto future = promise.getFuture();
    auto ctx = getConnectionContext();
    folly::via(
      this->executor,
      [this, ctx,
       promise = std::move(promise)    ]() mutable {
          call_cy_MyNode_do_mid(
              this->if_object,
              ctx,
              std::move(promise)        );
      });
  
    return future;
  }
  
  std::shared_ptr<apache::thrift::ServerInterface> MyNodeInterface(PyObject *if_object, folly::Executor *exc) {
    return std::make_shared<MyNodeWrapper>(if_object, exc);
  }
  
  
  MyLeafWrapper::MyLeafWrapper(PyObject *obj, folly::Executor* exc)
    : ::cpp2::MyNodeWrapper(obj, exc)
    {
      import_module__services();
    }
  
  folly::Future<folly::Unit> MyLeafWrapper::future_do_leaf() {
    folly::Promise<folly::Unit> promise;
    auto future = promise.getFuture();
    auto ctx = getConnectionContext();
    folly::via(
      this->executor,
      [this, ctx,
       promise = std::move(promise)    ]() mutable {
          call_cy_MyLeaf_do_leaf(
              this->if_object,
              ctx,
              std::move(promise)        );
      });
  
    return future;
  }
  
  std::shared_ptr<apache::thrift::ServerInterface> MyLeafInterface(PyObject *if_object, folly::Executor *exc) {
    return std::make_shared<MyLeafWrapper>(if_object, exc);
  }
  } // namespace cpp2
  