38 if (!name || name[0] ==
'\0')
45 m_target_wp = target_sp;
56 return m_target_wp.lock();
60 return m_name.c_str();
64 return !m_name.empty() && m_target_wp.lock();
76 if (!name || name[0] ==
'\0')
83 TargetSP target_sp = sb_target.
GetSP();
87 m_target_wp = target_sp;
101 TargetSP target_sp = GetTarget();
115 m_impl_up = std::make_unique<SBBreakpointNameImpl>(sb_target, name);
129 BreakpointSP bkpt_sp = sb_bkpt.
GetSP();
130 Target &target = bkpt_sp->GetTarget();
133 std::make_unique<SBBreakpointNameImpl>(target.shared_from_this(), name);
153 m_impl_up = std::make_unique<SBBreakpointNameImpl>(
168 m_impl_up = std::make_unique<SBBreakpointNameImpl>(rhs.
m_impl_up->GetTarget(),
187 return this->
operator bool();
189 SBBreakpointName::operator bool()
const {
194 return m_impl_up->IsValid();
201 return "<Invalid Breakpoint Name Object>";
202 return m_impl_up->GetName();
212 std::lock_guard<std::recursive_mutex> guard(
213 m_impl_up->GetTarget()->GetAPIMutex());
222 TargetSP target_sp = m_impl_up->GetTarget();
225 target_sp->ApplyNameToBreakpoints(bp_name);
236 std::lock_guard<std::recursive_mutex> guard(
237 m_impl_up->GetTarget()->GetAPIMutex());
249 std::lock_guard<std::recursive_mutex> guard(
250 m_impl_up->GetTarget()->GetAPIMutex());
253 UpdateName(*bp_name);
263 std::lock_guard<std::recursive_mutex> guard(
264 m_impl_up->GetTarget()->GetAPIMutex());
276 std::lock_guard<std::recursive_mutex> guard(
277 m_impl_up->GetTarget()->GetAPIMutex());
280 UpdateName(*bp_name);
290 std::lock_guard<std::recursive_mutex> guard(
291 m_impl_up->GetTarget()->GetAPIMutex());
303 std::lock_guard<std::recursive_mutex> guard(
304 m_impl_up->GetTarget()->GetAPIMutex());
307 UpdateName(*bp_name);
317 std::lock_guard<std::recursive_mutex> guard(
318 m_impl_up->GetTarget()->GetAPIMutex());
330 std::lock_guard<std::recursive_mutex> guard(
331 m_impl_up->GetTarget()->GetAPIMutex());
334 UpdateName(*bp_name);
344 std::lock_guard<std::recursive_mutex> guard(
345 m_impl_up->GetTarget()->GetAPIMutex());
357 std::lock_guard<std::recursive_mutex> guard(
358 m_impl_up->GetTarget()->GetAPIMutex());
361 UpdateName(*bp_name);
371 std::lock_guard<std::recursive_mutex> guard(
372 m_impl_up->GetTarget()->GetAPIMutex());
384 std::lock_guard<std::recursive_mutex> guard(
385 m_impl_up->GetTarget()->GetAPIMutex());
388 UpdateName(*bp_name);
398 std::lock_guard<std::recursive_mutex> guard(
399 m_impl_up->GetTarget()->GetAPIMutex());
411 std::lock_guard<std::recursive_mutex> guard(
412 m_impl_up->GetTarget()->GetAPIMutex());
415 UpdateName(*bp_name);
425 std::lock_guard<std::recursive_mutex> guard(
426 m_impl_up->GetTarget()->GetAPIMutex());
438 std::lock_guard<std::recursive_mutex> guard(
439 m_impl_up->GetTarget()->GetAPIMutex());
442 UpdateName(*bp_name);
452 std::lock_guard<std::recursive_mutex> guard(
453 m_impl_up->GetTarget()->GetAPIMutex());
468 std::lock_guard<std::recursive_mutex> guard(
469 m_impl_up->GetTarget()->GetAPIMutex());
470 std::unique_ptr<BreakpointOptions::CommandData> cmd_data_up(
474 UpdateName(*bp_name);
510 std::lock_guard<std::recursive_mutex> guard(
511 m_impl_up->GetTarget()->GetAPIMutex());
525 std::lock_guard<std::recursive_mutex> guard(
526 m_impl_up->GetTarget()->GetAPIMutex());
538 std::lock_guard<std::recursive_mutex> guard(
539 m_impl_up->GetTarget()->GetAPIMutex());
543 ::PrivateBreakpointHitCallback,
546 UpdateName(*bp_name);
550 const char *callback_function_name) {
553 SetScriptCallbackFunction(callback_function_name, empty_args);
557 const char *callback_function_name,
567 std::lock_guard<std::recursive_mutex> guard(
568 m_impl_up->GetTarget()->GetAPIMutex());
572 error = m_impl_up->GetTarget()
574 .GetScriptInterpreter()
575 ->SetBreakpointCommandCallbackFunction(
576 bp_options, callback_function_name,
579 UpdateName(*bp_name);
592 std::lock_guard<std::recursive_mutex> guard(
593 m_impl_up->GetTarget()->GetAPIMutex());
597 m_impl_up->GetTarget()
599 .GetScriptInterpreter()
600 ->SetBreakpointCommandCallback(bp_options, callback_body_text);
602 if (!sb_error.
Fail())
603 UpdateName(*bp_name);
666 return m_impl_up->GetBreakpointName();