1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
/*=========================================================================
*
* Copyright Insight Software Consortium
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*=========================================================================*/
#ifndef itkPyITKCommonCAPI_h
#define itkPyITKCommonCAPI_h
#include "itkTimeStamp.h"
#include "itkObjectFactoryBase.h"
/* Header file for the _ITKCommonPython C API exposed via an PyCapsule.
*
* W A R N I N G
* -------------
*
* This file is not part of the ITK API. It exists purely as an
* implementation detail. This header file may change from version to
* version without notice, or even be removed.
*
* We mean it.
*/
#ifdef __cplusplus
extern "C" {
#endif
/* C API functions */
#define _ITKCommonPython_GetGlobalTimeStamp_NUM 0
#define _ITKCommonPython_GetGlobalTimeStamp_RETURN itk::TimeStamp::GlobalTimeStampType *
#define _ITKCommonPython_GetGlobalTimeStamp_PROTO ()
#define _ITKCommonPython_GetObjectFactoryBase_NUM 1
#define _ITKCommonPython_GetObjectFactoryBase_RETURN itk::ObjectFactoryBasePrivate *
#define _ITKCommonPython_GetObjectFactoryBase_PROTO ()
/* Total number of C API pointers */
#define _ITKCommonPython_API_pointers 2
#ifdef _ITKCommonPython_MODULE
/* This section is used when compiling ITKCommonPython.cpp */
static _ITKCommonPython_GetGlobalTimeStamp_RETURN _ITKCommonPython_GetGlobalTimeStamp _ITKCommonPython_GetGlobalTimeStamp_PROTO;
static _ITKCommonPython_GetObjectFactoryBase_RETURN _ITKCommonPython_GetObjectFactoryBase _ITKCommonPython_GetObjectFactoryBase_PROTO;
#else
/* This section is used in modules that use _ITKCommonPython's C API */
static void **_ITKCommonPython_API;
#define _ITKCommonPython_GetGlobalTimeStamp \
(*(_ITKCommonPython_GetGlobalTimeStamp_RETURN (*)_ITKCommonPython_GetGlobalTimeStamp_PROTO) _ITKCommonPython_API[_ITKCommonPython_GetGlobalTimeStamp_NUM])
#define _ITKCommonPython_GetObjectFactoryBase \
(*(_ITKCommonPython_GetObjectFactoryBase_RETURN (*)_ITKCommonPython_GetObjectFactoryBase_PROTO) _ITKCommonPython_API[_ITKCommonPython_GetObjectFactoryBase_NUM])
/* Return -1 on error, 0 on success.
* PyCapsule_Import will set an exception if there's an error.
*/
static int
import__ITKCommonPython()
{
_ITKCommonPython_API = (void **)PyCapsule_Import("_ITKCommonPython._C_API", 0);
return (_ITKCommonPython_API != NULL) ? 0 : -1;
}
#endif
#ifdef __cplusplus
}
#endif
#endif // itkPyITKCommonCAPI_h
|