XnScheduler.h
Go to the documentation of this file.
/****************************************************************************
* *
* OpenNI 1.x Alpha *
* Copyright (C) 2011 PrimeSense Ltd. *
* *
* This file is part of OpenNI. *
* *
* OpenNI is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as published *
* by the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
* *
* OpenNI is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public License *
* along with OpenNI. If not, see <http://www.gnu.org/licenses/>. *
* *
****************************************************************************/
#ifndef _XN_SCHEDULER_H_
#define _XN_SCHEDULER_H_
//---------------------------------------------------------------------------
// Includes
//---------------------------------------------------------------------------
#include <XnOS.h>
//---------------------------------------------------------------------------
// Defines
//---------------------------------------------------------------------------
#define XN_MASK_SCHEDULER "Scheduler"
//---------------------------------------------------------------------------
// Types
//---------------------------------------------------------------------------
struct XnScheduler; // forward declaration
typedef struct XnScheduler XnScheduler;
struct XnScheduledTask; // forward declaration
typedef struct XnScheduledTask XnScheduledTask;
typedef void (XN_CALLBACK_TYPE* XnTaskCallbackFuncPtr)(void* pCallbackArg);
//---------------------------------------------------------------------------
// Exported Function Declaration
//---------------------------------------------------------------------------
XN_C_API XnStatus XN_C_DECL xnSchedulerStart(XnScheduler** ppScheduler);
XN_C_API XnStatus XN_C_DECL xnSchedulerShutdown(XnScheduler** ppScheduler);
XN_C_API XnStatus XN_C_DECL xnSchedulerAddTask(XnScheduler* pScheduler, XnUInt64 nInterval, XnTaskCallbackFuncPtr pCallback, void* pCallbackArg, XnScheduledTask** ppTask);
XN_C_API XnStatus XN_C_DECL xnSchedulerRemoveTask(XnScheduler* pScheduler, XnScheduledTask** ppTask);
XN_C_API XnStatus XN_C_DECL xnSchedulerRescheduleTask(XnScheduler* pScheduler, XnScheduledTask* pTask, XnUInt64 nInterval);
#endif //_XN_SCHEDULER_H_
XnOS.h
XN_C_API
#define XN_C_API
Definition XnPlatform.h:132
xnSchedulerRescheduleTask
XN_C_API XnStatus XN_C_DECL xnSchedulerRescheduleTask(XnScheduler *pScheduler, XnScheduledTask *pTask, XnUInt64 nInterval)
xnSchedulerShutdown
XN_C_API XnStatus XN_C_DECL xnSchedulerShutdown(XnScheduler **ppScheduler)
xnSchedulerRemoveTask
XN_C_API XnStatus XN_C_DECL xnSchedulerRemoveTask(XnScheduler *pScheduler, XnScheduledTask **ppTask)
xnSchedulerAddTask
XN_C_API XnStatus XN_C_DECL xnSchedulerAddTask(XnScheduler *pScheduler, XnUInt64 nInterval, XnTaskCallbackFuncPtr pCallback, void *pCallbackArg, XnScheduledTask **ppTask)
XnScheduler
struct XnScheduler XnScheduler
Definition XnScheduler.h:39
XnTaskCallbackFuncPtr
void(* XnTaskCallbackFuncPtr)(void *pCallbackArg)
Definition XnScheduler.h:44
XnScheduledTask
struct XnScheduledTask XnScheduledTask
Definition XnScheduler.h:42
xnSchedulerStart
XN_C_API XnStatus XN_C_DECL xnSchedulerStart(XnScheduler **ppScheduler)
XnStatus
XnUInt32 XnStatus
Definition XnStatus.h:34