main.cpp 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #include <iostream>
  2. #include <grpc++/grpc++.h>
  3. #include "addressbook.pb.h"
  4. #include "addressbook.grpc.pb.h"
  5. class AddressBookService final : public qtprotobuf::examples::AddressBook::Service {
  6. public:
  7. AddressBookService() {}
  8. ~AddressBookService() {}
  9. ::grpc::Status addContact(::grpc::ServerContext* context, const ::qtprotobuf::examples::Contact* request, ::qtprotobuf::examples::Contacts* response) override
  10. {
  11. std::cout << "addContact called" << std::endl;
  12. return ::grpc::Status(::grpc::UNIMPLEMENTED, "Unimplemented");
  13. }
  14. ::grpc::Status removeContact(::grpc::ServerContext* context, const ::qtprotobuf::examples::Contact* request, ::qtprotobuf::examples::Contacts* response) override
  15. {
  16. std::cout << "removeContact called" << std::endl;
  17. return ::grpc::Status(::grpc::UNIMPLEMENTED, "Unimplemented");
  18. }
  19. ::grpc::Status getContacts(::grpc::ServerContext* context, const ::qtprotobuf::examples::ListFrame* request, ::qtprotobuf::examples::Contacts* response) override
  20. {
  21. std::cout << "getContacts called" << std::endl;
  22. ::qtprotobuf::examples::Contact* contact = response->add_list();
  23. contact->set_firstname("Test name 1");
  24. contact = response->add_list();
  25. contact->set_firstname("Test name 2");
  26. contact = response->add_list();
  27. contact->set_firstname("Test name 3");
  28. contact = response->add_list();
  29. contact->set_firstname("Test name 4");
  30. contact = response->add_list();
  31. contact->set_firstname("Test name 5");
  32. ::qtprotobuf::examples::Job *job = new ::qtprotobuf::examples::Job;
  33. job->set_title("Job title");
  34. contact->set_allocated_job(job);
  35. return ::grpc::Status();
  36. }
  37. ::grpc::Status makeCall(::grpc::ServerContext* context, const ::qtprotobuf::examples::Contact* request, ::qtprotobuf::examples::SimpleResult* response) override
  38. {
  39. std::cout << "makeCall called" << std::endl;
  40. return ::grpc::Status(::grpc::UNIMPLEMENTED, "Unimplemented");
  41. }
  42. ::grpc::Status navigateTo(::grpc::ServerContext* context, const ::qtprotobuf::examples::Address* request, ::qtprotobuf::examples::SimpleResult* response) override
  43. {
  44. std::cout << "navigateTo called" << std::endl;
  45. return ::grpc::Status(::grpc::UNIMPLEMENTED, "Unimplemented");
  46. }
  47. };
  48. int main(int argc, char *argv[])
  49. {
  50. std::string server_address("localhost:65001");
  51. AddressBookService service;
  52. grpc::ServerBuilder builder;
  53. builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
  54. builder.RegisterService(&service);
  55. std::unique_ptr<grpc::Server> server(builder.BuildAndStart());
  56. std::cout << "Server listening on " << server_address << std::endl;
  57. server->Wait();
  58. }