| OLD | NEW |
| 1 $$ This is a pump file for generating file templates. Pump is a python | 1 $$ This is a pump file for generating file templates. Pump is a python |
| 2 $$ script that is part of the Google Test suite of utilities. Description | 2 $$ script that is part of the Google Test suite of utilities. Description |
| 3 $$ can be found here: | 3 $$ can be found here: |
| 4 $$ | 4 $$ |
| 5 $$ http://code.google.com/p/googletest/wiki/PumpManual | 5 $$ http://code.google.com/p/googletest/wiki/PumpManual |
| 6 | 6 |
| 7 $$ MAX_ARITY controls the number of arguments that dispatch::Invoke() supports. | 7 $$ MAX_ARITY controls the number of arguments that dispatch::Invoke() supports. |
| 8 $$ It is choosen to match the number of arguments base::Bind() supports. | 8 $$ It is choosen to match the number of arguments base::Bind() supports. |
| 9 $var MAX_ARITY = 7 | 9 $var MAX_ARITY = 7 |
| 10 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 10 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 // - the method ID cannot be cached and reused. | 121 // - the method ID cannot be cached and reused. |
| 122 // - VARIANT is the only supported parameter type at the moment. | 122 // - VARIANT is the only supported parameter type at the moment. |
| 123 $range ARITY 0..MAX_ARITY | 123 $range ARITY 0..MAX_ARITY |
| 124 $for ARITY [[ | 124 $for ARITY [[ |
| 125 $range ARG 1..ARITY | 125 $range ARG 1..ARITY |
| 126 | 126 |
| 127 | 127 |
| 128 $if ARITY > 0 [[template <$for ARG , [[typename P$(ARG)]]>]] | 128 $if ARITY > 0 [[template <$for ARG , [[typename P$(ARG)]]>]] |
| 129 | 129 |
| 130 HRESULT Invoke(IDispatch* object, | 130 HRESULT Invoke(IDispatch* object, |
| 131 LPOLESTR name, | 131 LPCOLESTR const_name, |
| 132 WORD flags, | 132 WORD flags, |
| 133 $for ARG [[ | 133 $for ARG [[ |
| 134 | 134 |
| 135 const P$(ARG)& p$(ARG), | 135 const P$(ARG)& p$(ARG), |
| 136 ]] | 136 ]] |
| 137 | 137 |
| 138 VARIANT* const & result_out) { | 138 VARIANT* const & result_out) { |
| 139 // Retrieve the ID of the method to be called. | 139 // Retrieve the ID of the method to be called. |
| 140 DISPID disp_id; | 140 DISPID disp_id; |
| 141 HRESULT hr = object->GetIDsOfNames(IID_NULL, &name, 1, LOCALE_USER_DEFAULT, | 141 LPOLESTR name = const_cast<LPOLESTR>(const_name); |
| 142 &disp_id); | 142 HRESULT hr = object->GetIDsOfNames( |
| 143 IID_NULL, &name, 1, LOCALE_USER_DEFAULT, &disp_id); |
| 143 if (FAILED(hr)) | 144 if (FAILED(hr)) |
| 144 return hr; | 145 return hr; |
| 145 | 146 |
| 146 // Request the return value if asked by the caller. | 147 // Request the return value if asked by the caller. |
| 147 internal::ScopedVariantArg result; | 148 internal::ScopedVariantArg result; |
| 148 VARIANT* disp_result = NULL; | 149 VARIANT* disp_result = NULL; |
| 149 if (result_out != NULL) | 150 if (result_out != NULL) |
| 150 disp_result = &result; | 151 disp_result = &result; |
| 151 | 152 |
| 152 $if ARITY > 0 [[ | 153 $if ARITY > 0 [[ |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 202 return S_OK; | 203 return S_OK; |
| 203 } | 204 } |
| 204 | 205 |
| 205 ]] | 206 ]] |
| 206 | 207 |
| 207 } // namespace dispatch | 208 } // namespace dispatch |
| 208 | 209 |
| 209 } // namespace remoting | 210 } // namespace remoting |
| 210 | 211 |
| 211 #endif // REMOTING_BASE_IDISPATCH_DRIVER_WIN_H_ | 212 #endif // REMOTING_BASE_IDISPATCH_DRIVER_WIN_H_ |
| OLD | NEW |