main.cpp 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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("John");
  24. contact->set_lastname("Doe");
  25. contact = response->add_list();
  26. contact->set_firstname("Jane");
  27. contact->set_lastname("Doe");
  28. contact = response->add_list();
  29. contact->set_firstname("John");
  30. contact->set_lastname("McClane");
  31. contact = response->add_list();
  32. contact->set_firstname("Alexey");
  33. contact->set_lastname("Edelev");
  34. contact = response->add_list();
  35. contact->set_firstname("Ebenezer");
  36. contact->set_lastname("Scrooge");
  37. ::qtprotobuf::examples::Job *job = new ::qtprotobuf::examples::Job;
  38. job->set_title("Job title");
  39. contact->set_allocated_job(job);
  40. ::qtprotobuf::examples::PhoneNumber home;
  41. home.set_countrycode(49);
  42. home.set_number(12324534679);
  43. (*contact->mutable_phones())[::qtprotobuf::examples::Contact::Home] = home;
  44. return ::grpc::Status();
  45. }
  46. ::grpc::Status makeCall(::grpc::ServerContext* context, const ::qtprotobuf::examples::Contact* request, ::qtprotobuf::examples::SimpleResult* response) override
  47. {
  48. std::cout << "makeCall called" << std::endl;
  49. return ::grpc::Status(::grpc::UNIMPLEMENTED, "Unimplemented");
  50. }
  51. ::grpc::Status navigateTo(::grpc::ServerContext* context, const ::qtprotobuf::examples::Address* request, ::qtprotobuf::examples::SimpleResult* response) override
  52. {
  53. std::cout << "navigateTo called" << std::endl;
  54. return ::grpc::Status(::grpc::UNIMPLEMENTED, "Unimplemented");
  55. }
  56. };
  57. int main(int argc, char *argv[])
  58. {
  59. std::string server_address("localhost:65001");
  60. AddressBookService service;
  61. grpc::ServerBuilder builder;
  62. builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
  63. builder.RegisterService(&service);
  64. std::unique_ptr<grpc::Server> server(builder.BuildAndStart());
  65. std::cout << "Server listening on " << server_address << std::endl;
  66. server->Wait();
  67. }