This repository has been archived on 2023-10-09. You can view files and clone it, but cannot push or open issues or pull requests.
Files
blender-archive/source/blender/blenlib/BLI_timer.h
Campbell Barton c434782e3a File headers: SPDX License migration
Use a shorter/simpler license convention, stops the header taking so
much space.

Follow the SPDX license specification: https://spdx.org/licenses

- C/C++/objc/objc++
- Python
- Shell Scripts
- CMake, GNUmakefile

While most of the source tree has been included

- `./extern/` was left out.
- `./intern/cycles` & `./intern/atomic` are also excluded because they
  use different header conventions.

doc/license/SPDX-license-identifiers.txt has been added to list SPDX all
used identifiers.

See P2788 for the script that automated these edits.

Reviewed By: brecht, mont29, sergey

Ref D14069
2022-02-11 09:14:36 +11:00

50 lines
1.3 KiB
C++

/* SPDX-License-Identifier: GPL-2.0-or-later
* Copyright 2018 Blender Foundation. All rights reserved. */
#pragma once
#include "BLI_sys_types.h"
/** \file
* \ingroup bli
*/
#ifdef __cplusplus
extern "C" {
#endif
/**
* \return A value of:
* - < 0: the timer will be removed.
* - >= 0: the timer will be called again in this number of seconds.
*/
typedef double (*BLI_timer_func)(uintptr_t uuid, void *user_data);
typedef void (*BLI_timer_data_free)(uintptr_t uuid, void *user_data);
/* `func(...) < 0`: The timer will be removed.
* `func(...) >= 0`: The function will be called again in that many seconds. */
void BLI_timer_register(uintptr_t uuid,
BLI_timer_func func,
void *user_data,
BLI_timer_data_free user_data_free,
double first_interval,
bool persistent);
bool BLI_timer_is_registered(uintptr_t uuid);
/** Returns False when the timer does not exist (anymore). */
bool BLI_timer_unregister(uintptr_t uuid);
/** Execute all registered functions that are due. */
void BLI_timer_execute(void);
void BLI_timer_free(void);
/* This function is to be called next to BKE_CB_EVT_LOAD_PRE, to make sure the module
* is properly configured for the new file. */
void BLI_timer_on_file_load(void);
#ifdef __cplusplus
}
#endif