LibreOffice Module extensions (master)
1
extensions
source
logging
methodguard.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
* This file is part of the LibreOffice project.
4
*
5
* This Source Code Form is subject to the terms of the Mozilla Public
6
* License, v. 2.0. If a copy of the MPL was not distributed with this
7
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
*
9
* This file incorporates work covered by the following license notice:
10
*
11
* Licensed to the Apache Software Foundation (ASF) under one or more
12
* contributor license agreements. See the NOTICE file distributed
13
* with this work for additional information regarding copyright
14
* ownership. The ASF licenses this file to you under the Apache
15
* License, Version 2.0 (the "License"); you may not use this file
16
* except in compliance with the License. You may obtain a copy of
17
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
*/
19
20
#pragma once
21
22
23
namespace
logging
24
{
25
template
<
class
COMPONENT >
26
class
ComponentMethodGuard
27
{
28
private
:
29
COMPONENT&
m_rHandler
;
30
31
public
:
32
class
Access
33
{
34
private
:
35
friend
class
ComponentMethodGuard
;
36
Access
() { }
37
};
38
39
public
:
40
explicit
ComponentMethodGuard
( COMPONENT& _rHandler )
41
:
m_rHandler
( _rHandler )
42
{
43
m_rHandler
.enterMethod(
Access
() );
44
}
45
~ComponentMethodGuard
()
46
{
47
m_rHandler
.leaveMethod(
Access
() );
48
}
49
};
50
51
52
}
// namespace logging
53
54
55
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
logging::ComponentMethodGuard::Access
Definition:
methodguard.hxx:33
logging::ComponentMethodGuard::Access::Access
Access()
Definition:
methodguard.hxx:36
logging::ComponentMethodGuard
Definition:
methodguard.hxx:27
logging::ComponentMethodGuard::m_rHandler
COMPONENT & m_rHandler
Definition:
methodguard.hxx:29
logging::ComponentMethodGuard::~ComponentMethodGuard
~ComponentMethodGuard()
Definition:
methodguard.hxx:45
logging::ComponentMethodGuard::ComponentMethodGuard
ComponentMethodGuard(COMPONENT &_rHandler)
Definition:
methodguard.hxx:40
logging
Definition:
consolehandler.cxx:38
Generated on Sun Jul 30 2023 04:39:39 for LibreOffice Module extensions (master) by
1.9.3