OpenNI 1.5.4
XnScheduler.h
Go to the documentation of this file.
1/****************************************************************************
2* *
3* OpenNI 1.x Alpha *
4* Copyright (C) 2011 PrimeSense Ltd. *
5* *
6* This file is part of OpenNI. *
7* *
8* OpenNI is free software: you can redistribute it and/or modify *
9* it under the terms of the GNU Lesser General Public License as published *
10* by the Free Software Foundation, either version 3 of the License, or *
11* (at your option) any later version. *
12* *
13* OpenNI is distributed in the hope that it will be useful, *
14* but WITHOUT ANY WARRANTY; without even the implied warranty of *
15* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16* GNU Lesser General Public License for more details. *
17* *
18* You should have received a copy of the GNU Lesser General Public License *
19* along with OpenNI. If not, see <http://www.gnu.org/licenses/>. *
20* *
21****************************************************************************/
22#ifndef _XN_SCHEDULER_H_
23#define _XN_SCHEDULER_H_
24
25//---------------------------------------------------------------------------
26// Includes
27//---------------------------------------------------------------------------
28#include <XnOS.h>
29
30//---------------------------------------------------------------------------
31// Defines
32//---------------------------------------------------------------------------
33#define XN_MASK_SCHEDULER "Scheduler"
34
35//---------------------------------------------------------------------------
36// Types
37//---------------------------------------------------------------------------
38struct XnScheduler; // forward declaration
39typedef struct XnScheduler XnScheduler;
40
41struct XnScheduledTask; // forward declaration
43
44typedef void (XN_CALLBACK_TYPE* XnTaskCallbackFuncPtr)(void* pCallbackArg);
45
46//---------------------------------------------------------------------------
47// Exported Function Declaration
48//---------------------------------------------------------------------------
49
56
63
73XN_C_API XnStatus XN_C_DECL xnSchedulerAddTask(XnScheduler* pScheduler, XnUInt64 nInterval, XnTaskCallbackFuncPtr pCallback, void* pCallbackArg, XnScheduledTask** ppTask);
74
82
90XN_C_API XnStatus XN_C_DECL xnSchedulerRescheduleTask(XnScheduler* pScheduler, XnScheduledTask* pTask, XnUInt64 nInterval);
91
92#endif //_XN_SCHEDULER_H_
#define XN_C_API
Definition: XnPlatform.h:129
XN_C_API XnStatus XN_C_DECL xnSchedulerRescheduleTask(XnScheduler *pScheduler, XnScheduledTask *pTask, XnUInt64 nInterval)
XN_C_API XnStatus XN_C_DECL xnSchedulerShutdown(XnScheduler **ppScheduler)
XN_C_API XnStatus XN_C_DECL xnSchedulerRemoveTask(XnScheduler *pScheduler, XnScheduledTask **ppTask)
XN_C_API XnStatus XN_C_DECL xnSchedulerAddTask(XnScheduler *pScheduler, XnUInt64 nInterval, XnTaskCallbackFuncPtr pCallback, void *pCallbackArg, XnScheduledTask **ppTask)
struct XnScheduler XnScheduler
Definition: XnScheduler.h:39
void(* XnTaskCallbackFuncPtr)(void *pCallbackArg)
Definition: XnScheduler.h:44
struct XnScheduledTask XnScheduledTask
Definition: XnScheduler.h:42
XN_C_API XnStatus XN_C_DECL xnSchedulerStart(XnScheduler **ppScheduler)
XnUInt32 XnStatus
Definition: XnStatus.h:34