LeechCraft
0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
qobjectrefcast.cpp
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2014 Georg Rudoy
4
*
5
* Distributed under the Boost Software License, Version 1.0.
6
* (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7
**********************************************************************/
8
9
#include "
qobjectrefcast.h
"
10
11
namespace
LC::Util::detail
12
{
13
[[noreturn, gnu::cold, gnu::noinline]]
14
void
NotifyCastError
(
const
QObject *
object
,
const
char
*target,
const
std::source_location& loc)
15
{
16
const
QMessageLogger logger { loc.file_name (),
static_cast<
int
>
(loc.line ()), loc.function_name () };
17
logger.critical (
"unable to cast %s to %s"
,
18
object
? object->metaObject ()->className () :
"nullptr"
,
19
target);
20
21
using namespace
std::string_literals;
22
throw
BadQObjectCast
{
"qobject_ref_cast failed at "
s + loc.file_name () +
':'
+ std::to_string (loc.line ()) };
23
}
24
}
LC::Util::detail
Definition
fancytrayiconfreedesktop.cpp:24
LC::Util::detail::NotifyCastError
void NotifyCastError(const QObject *object, const char *target, const std::source_location &loc)
Definition
qobjectrefcast.cpp:14
qobjectrefcast.h
LC::Util::BadQObjectCast
Definition
qobjectrefcast.h:20
src
util
sll
qobjectrefcast.cpp
Generated by
1.16.1