OLD | NEW |
1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 1 // Copyright 2014 The Crashpad Authors. All rights reserved. |
2 // | 2 // |
3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
6 // | 6 // |
7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
8 // | 8 // |
9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 }; | 95 }; |
96 | 96 |
97 //! \brief Constructs an object of this class. | 97 //! \brief Constructs an object of this class. |
98 //! | 98 //! |
99 //! \param[in] interface The interface to dispatch requests to. Weak. | 99 //! \param[in] interface The interface to dispatch requests to. Weak. |
100 explicit UniversalMachExcServer(Interface* interface); | 100 explicit UniversalMachExcServer(Interface* interface); |
101 | 101 |
102 ~UniversalMachExcServer(); | 102 ~UniversalMachExcServer(); |
103 | 103 |
104 // MachMessageServer::Interface: | 104 // MachMessageServer::Interface: |
105 | |
106 bool MachMessageServerFunction(const mach_msg_header_t* in_header, | 105 bool MachMessageServerFunction(const mach_msg_header_t* in_header, |
107 mach_msg_header_t* out_header, | 106 mach_msg_header_t* out_header, |
108 bool* destroy_complex_request) override; | 107 bool* destroy_complex_request) override; |
109 | |
110 std::set<mach_msg_id_t> MachMessageServerRequestIDs() override; | 108 std::set<mach_msg_id_t> MachMessageServerRequestIDs() override; |
111 | |
112 mach_msg_size_t MachMessageServerRequestSize() override; | 109 mach_msg_size_t MachMessageServerRequestSize() override; |
113 mach_msg_size_t MachMessageServerReplySize() override; | 110 mach_msg_size_t MachMessageServerReplySize() override; |
114 | 111 |
115 private: | 112 private: |
116 scoped_ptr<internal::UniversalMachExcServerImpl> impl_; | 113 scoped_ptr<internal::UniversalMachExcServerImpl> impl_; |
117 | 114 |
118 DISALLOW_COPY_AND_ASSIGN(UniversalMachExcServer); | 115 DISALLOW_COPY_AND_ASSIGN(UniversalMachExcServer); |
119 }; | 116 }; |
120 | 117 |
121 //! \brief Recovers the original exception, first exception code, and signal | 118 //! \brief Recovers the original exception, first exception code, and signal |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 //! \a behavior is not a state-carrying behavior, or when it is a | 195 //! \a behavior is not a state-carrying behavior, or when it is a |
199 //! state-carrying behavior and \a set_thread_state is `true`. | 196 //! state-carrying behavior and \a set_thread_state is `true`. |
200 //! `MACH_RCV_PORT_DIED` is used when \a behavior is a state-carrying | 197 //! `MACH_RCV_PORT_DIED` is used when \a behavior is a state-carrying |
201 //! behavior and \a set_thread_state is `false`. | 198 //! behavior and \a set_thread_state is `false`. |
202 kern_return_t ExcServerSuccessfulReturnValue(exception_behavior_t behavior, | 199 kern_return_t ExcServerSuccessfulReturnValue(exception_behavior_t behavior, |
203 bool set_thread_state); | 200 bool set_thread_state); |
204 | 201 |
205 } // namespace crashpad | 202 } // namespace crashpad |
206 | 203 |
207 #endif // CRASHPAD_UTIL_MACH_EXC_SERVER_VARIANTS_H_ | 204 #endif // CRASHPAD_UTIL_MACH_EXC_SERVER_VARIANTS_H_ |
OLD | NEW |