| Yang Gao | b946b5e | 2015-03-27 13:20:59 -0700 | [diff] [blame] | 1 | /* | 
 | 2 |  * | 
 | 3 |  * Copyright 2015, Google Inc. | 
 | 4 |  * All rights reserved. | 
 | 5 |  * | 
 | 6 |  * Redistribution and use in source and binary forms, with or without | 
 | 7 |  * modification, are permitted provided that the following conditions are | 
 | 8 |  * met: | 
 | 9 |  * | 
 | 10 |  *     * Redistributions of source code must retain the above copyright | 
 | 11 |  * notice, this list of conditions and the following disclaimer. | 
 | 12 |  *     * Redistributions in binary form must reproduce the above | 
 | 13 |  * copyright notice, this list of conditions and the following disclaimer | 
 | 14 |  * in the documentation and/or other materials provided with the | 
 | 15 |  * distribution. | 
 | 16 |  *     * Neither the name of Google Inc. nor the names of its | 
 | 17 |  * contributors may be used to endorse or promote products derived from | 
 | 18 |  * this software without specific prior written permission. | 
 | 19 |  * | 
 | 20 |  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | 
 | 21 |  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | 
 | 22 |  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | 
 | 23 |  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | 
 | 24 |  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 
 | 25 |  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 
 | 26 |  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 
 | 27 |  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 
 | 28 |  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
 | 29 |  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
 | 30 |  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
 | 31 |  * | 
 | 32 |  */ | 
 | 33 |  | 
 | 34 | #ifndef GRPC_TEST_CPP_UTIL_CLI_CALL_H | 
 | 35 | #define GRPC_TEST_CPP_UTIL_CLI_CALL_H | 
 | 36 |  | 
| Yang Gao | 102eccb6 | 2015-06-16 00:43:25 -0700 | [diff] [blame] | 37 | #include <map> | 
 | 38 |  | 
| yang-g | 8c2be9f | 2015-08-19 16:28:09 -0700 | [diff] [blame] | 39 | #include <grpc++/channel.h> | 
| yang-g | 9e2f90c | 2015-08-21 15:35:03 -0700 | [diff] [blame] | 40 | #include <grpc++/support/status.h> | 
| yang-g | e21908f | 2015-08-25 13:47:51 -0700 | [diff] [blame] | 41 | #include <grpc++/support/string_ref.h> | 
| Yang Gao | b946b5e | 2015-03-27 13:20:59 -0700 | [diff] [blame] | 42 |  | 
 | 43 | namespace grpc { | 
 | 44 | namespace testing { | 
 | 45 |  | 
 | 46 | class CliCall GRPC_FINAL { | 
 | 47 |  public: | 
| yang-g | e21908f | 2015-08-25 13:47:51 -0700 | [diff] [blame] | 48 |   typedef std::multimap<grpc::string, grpc::string> OutgoingMetadataContainer; | 
 | 49 |   typedef std::multimap<grpc::string_ref, grpc::string_ref> | 
 | 50 |       IncomingMetadataContainer; | 
| yang-g | 8c2be9f | 2015-08-19 16:28:09 -0700 | [diff] [blame] | 51 |   static Status Call(std::shared_ptr<grpc::Channel> channel, | 
| Yang Gao | 102eccb6 | 2015-06-16 00:43:25 -0700 | [diff] [blame] | 52 |                      const grpc::string& method, const grpc::string& request, | 
| yang-g | e21908f | 2015-08-25 13:47:51 -0700 | [diff] [blame] | 53 |                      grpc::string* response, | 
 | 54 |                      const OutgoingMetadataContainer& metadata, | 
 | 55 |                      IncomingMetadataContainer* server_initial_metadata, | 
 | 56 |                      IncomingMetadataContainer* server_trailing_metadata); | 
| Yang Gao | b946b5e | 2015-03-27 13:20:59 -0700 | [diff] [blame] | 57 | }; | 
 | 58 |  | 
 | 59 | }  // namespace testing | 
 | 60 | }  // namespace grpc | 
 | 61 |  | 
 | 62 | #endif  // GRPC_TEST_CPP_UTIL_CLI_CALL_H |