summaryrefslogtreecommitdiffstats
path: root/src/nvmeof/NVMeofGwClient.h
blob: 022485251d6ba8182400f21de502244678f4829c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
// vim: ts=8 sw=2 smarttab
/*
 * Ceph - scalable distributed file system
 *
 * Copyright (C) 2023 IBM, Inc.
 *
 * This is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License version 2.1, as published by the Free Software
 * Foundation.  See file COPYING.
 */


#ifndef  __NVMEOFGWCLIENT_H__
#define  __NVMEOFGWCLIENT_H__
#include <iostream>
#include <memory>
#include <string>

#include <grpcpp/grpcpp.h>

#include "gateway.grpc.pb.h"

using grpc::Channel;
using grpc::ClientContext;
using grpc::Status;

class NVMeofGwClient {
 public:
  NVMeofGwClient(std::shared_ptr<Channel> channel)
      : stub_(Gateway::NewStub(channel)) {}

  bool get_subsystems(subsystems_info& reply);
  bool set_ana_state(const ana_info& info);

 private:
  std::unique_ptr<Gateway::Stub> stub_;
};
#endif