00001 /***************************************************************************** 00002 * * 00003 * OpenNI 2.x Alpha * 00004 * Copyright (C) 2012 PrimeSense Ltd. * 00005 * * 00006 * This file is part of OpenNI. * 00007 * * 00008 * Licensed under the Apache License, Version 2.0 (the "License"); * 00009 * you may not use this file except in compliance with the License. * 00010 * You may obtain a copy of the License at * 00011 * * 00012 * http://www.apache.org/licenses/LICENSE-2.0 * 00013 * * 00014 * Unless required by applicable law or agreed to in writing, software * 00015 * distributed under the License is distributed on an "AS IS" BASIS, * 00016 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * 00017 * See the License for the specific language governing permissions and * 00018 * limitations under the License. * 00019 * * 00020 *****************************************************************************/ 00021 #ifndef ONIDRIVERTYPES_H 00022 #define ONIDRIVERTYPES_H 00023 00024 #include <OniCTypes.h> 00025 #include <stdarg.h> 00026 00027 #define ONI_STREAM_PROPERTY_PRIVATE_BASE XN_MAX_UINT16 00028 00029 typedef struct 00030 { 00031 int dataSize; 00032 void* data; 00033 } OniGeneralBuffer; 00034 00036 struct OniDriverServices 00037 { 00038 void* driverServices; 00039 void (ONI_CALLBACK_TYPE* errorLoggerAppend)(void* driverServices, const char* format, va_list args); 00040 void (ONI_CALLBACK_TYPE* errorLoggerClear)(void* driverServices); 00041 void (ONI_CALLBACK_TYPE* log)(void* driverServices, int severity, const char* file, int line, const char* mask, const char* message); 00042 }; 00043 00044 struct OniStreamServices 00045 { 00046 void* streamServices; 00047 int (ONI_CALLBACK_TYPE* getDefaultRequiredFrameSize)(void* streamServices); 00048 OniFrame* (ONI_CALLBACK_TYPE* acquireFrame)(void* streamServices); // returns a frame with size corresponding to getRequiredFrameSize() 00049 void (ONI_CALLBACK_TYPE* addFrameRef)(void* streamServices, OniFrame* pframe); 00050 void (ONI_CALLBACK_TYPE* releaseFrame)(void* streamServices, OniFrame* pframe); 00051 }; 00052 00053 00054 #endif // ONIDRIVERTYPES_H