main.cpp 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. ::qtprotobuf::examples::PhoneNumber home;
  36. home.set_countrycode(7);
  37. home.set_number(1232453467);
  38. (*contact->mutable_phones())[::qtprotobuf::examples::Contact::Home] = home;
  39. return ::grpc::Status();
  40. }
  41. ::grpc::Status makeCall(::grpc::ServerContext* context, const ::qtprotobuf::examples::Contact* request, ::qtprotobuf::examples::SimpleResult* response) override
  42. {
  43. std::cout << "makeCall called" << std::endl;
  44. return ::grpc::Status(::grpc::UNIMPLEMENTED, "Unimplemented");
  45. }
  46. ::grpc::Status navigateTo(::grpc::ServerContext* context, const ::qtprotobuf::examples::Address* request, ::qtprotobuf::examples::SimpleResult* response) override
  47. {
  48. std::cout << "navigateTo called" << std::endl;
  49. return ::grpc::Status(::grpc::UNIMPLEMENTED, "Unimplemented");
  50. }
  51. };
  52. int main(int argc, char *argv[])
  53. {
  54. std::string server_address("localhost:65001");
  55. AddressBookService service;
  56. grpc::ServerBuilder builder;
  57. builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
  58. builder.RegisterService(&service);
  59. std::unique_ptr<grpc::Server> server(builder.BuildAndStart());
  60. std::cout << "Server listening on " << server_address << std::endl;
  61. server->Wait();
  62. }