LibreOffice Module vcl (master)
1
vcl
inc
schedulerimpl.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
#ifndef INCLUDED_VCL_INC_SCHEDULERIMPL_HXX
21
#define INCLUDED_VCL_INC_SCHEDULERIMPL_HXX
22
23
#include "
salwtype.hxx
"
24
#include <
vcl/scheduler.hxx
>
25
26
class
Task
;
27
28
// Internal scheduler record holding intrusive linked list pieces
29
struct
ImplSchedulerData
final
30
{
31
ImplSchedulerData
*
mpNext
;
32
Task
*
mpTask
;
33
sal_uInt64
mnUpdateTime
;
34
TaskPriority
mePriority
;
47
bool
mbInScheduler
;
48
49
const
char
*
GetDebugName
()
const
;
50
};
51
52
class
SchedulerGuard
final
53
{
54
public
:
55
SchedulerGuard
()
56
{
57
Scheduler::Lock
();
58
}
59
60
~SchedulerGuard
()
61
{
62
Scheduler::Unlock
();
63
}
64
};
65
66
#endif
// INCLUDED_VCL_INC_SCHEDULERIMPL_HXX
67
68
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
SchedulerGuard
Definition:
schedulerimpl.hxx:53
SchedulerGuard::SchedulerGuard
SchedulerGuard()
Definition:
schedulerimpl.hxx:55
SchedulerGuard::~SchedulerGuard
~SchedulerGuard()
Definition:
schedulerimpl.hxx:60
Scheduler::Lock
static void Lock()
Definition:
scheduler.cxx:209
Scheduler::Unlock
static void Unlock()
Definition:
scheduler.cxx:216
Task
Definition:
task.hxx:43
salwtype.hxx
scheduler.hxx
ImplSchedulerData
Definition:
schedulerimpl.hxx:30
ImplSchedulerData::mnUpdateTime
sal_uInt64 mnUpdateTime
Last Update Time.
Definition:
schedulerimpl.hxx:33
ImplSchedulerData::GetDebugName
const char * GetDebugName() const
ImplSchedulerData::mpNext
ImplSchedulerData * mpNext
Pointer to the next element in list.
Definition:
schedulerimpl.hxx:31
ImplSchedulerData::mbInScheduler
bool mbInScheduler
Is the Task currently processed / on the stack?
Definition:
schedulerimpl.hxx:47
ImplSchedulerData::mpTask
Task * mpTask
Pointer to VCL Task instance.
Definition:
schedulerimpl.hxx:32
ImplSchedulerData::mePriority
TaskPriority mePriority
Task priority.
Definition:
schedulerimpl.hxx:34
TaskPriority
TaskPriority
Definition:
task.hxx:28
Generated on Sun Jul 30 2023 04:35:00 for LibreOffice Module vcl (master) by
1.9.3