FieldML 0.5
|
00001 /* 00002 * \file 00003 * $Id$ 00004 * \author Caton Little 00005 * \brief 00006 * 00007 * \section LICENSE 00008 * 00009 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 00010 * 00011 * The contents of this file are subject to the Mozilla Public License 00012 * Version 1.1 (the "License"); you may not use this file except in 00013 * compliance with the License. You may obtain a copy of the License at 00014 * http://www.mozilla.org/MPL/ 00015 * 00016 * Software distributed under the License is distributed on an "AS IS" 00017 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the 00018 * License for the specific language governing rights and limitations 00019 * under the License. 00020 * 00021 * The Original Code is FieldML 00022 * 00023 * The Initial Developer of the Original Code is Auckland Uniservices Ltd, 00024 * Auckland, New Zealand. Portions created by the Initial Developer are 00025 * Copyright (C) 2010 the Initial Developer. All Rights Reserved. 00026 * 00027 * Contributor(s): 00028 * 00029 * Alternatively, the contents of this file may be used under the terms of 00030 * either the GNU General Public License Version 2 or later (the "GPL"), or 00031 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 00032 * in which case the provisions of the GPL or the LGPL are applicable instead 00033 * of those above. If you wish to allow use of your version of this file only 00034 * under the terms of either the GPL or the LGPL, and not to allow others to 00035 * use your version of this file under the terms of the MPL, indicate your 00036 * decision by deleting the provisions above and replace them with the notice 00037 * and other provisions required by the GPL or the LGPL. If you do not delete 00038 * the provisions above, a recipient may use your version of this file under 00039 * the terms of any one of the MPL, the GPL or the LGPL. 00040 * 00041 */ 00042 #ifndef H_FIELDML_API 00043 #define H_FIELDML_API 00044 00068 /* 00069 00070 Typedefs 00071 00072 */ 00073 #ifdef _MSC_VER 00074 00075 typedef __int32 int32_t; 00076 typedef unsigned __int32 uint32_t; 00077 typedef __int64 int64_t; 00078 typedef unsigned __int64 uint64_t; 00079 00080 #else 00081 #include <stdint.h> 00082 #endif 00083 00084 00085 typedef int32_t FmlSessionHandle; 00086 00087 typedef int32_t FmlObjectHandle; 00088 00089 typedef int32_t FmlErrorNumber; 00090 00091 typedef int32_t FmlBoolean; 00092 00093 typedef int32_t FmlEnsembleValue; 00094 00095 00096 /* 00097 00098 Constants 00099 00100 */ 00101 #define FML_INVALID_HANDLE -1 ///< The valid used to indicate a missing object or failed object instantiation. 00102 00103 #define FML_MAJOR_VERSION 0 00104 #define FML_MINOR_VERSION 4 00105 #define FML_DOT_VERSION 0 00106 00107 #define FML_ERR_NO_ERROR 0 ///< The API call was successful. 00108 #define FML_OK 0 ///< The API call was successful. 00109 #define FML_ERR_UNKNOWN_HANDLE 1000 ///< An unknown session handle was used. 00110 #define FML_ERR_UNKNOWN_OBJECT 1001 ///< An unknown object handle was used. 00111 #define FML_ERR_INVALID_OBJECT 1002 ///< An object handle referred to an object of the wrong type. 00112 #define FML_ERR_MISCONFIGURED_OBJECT 1003 ///< An object handle referred to an object with an invalid combination of attributes. 00113 #define FML_ERR_ACCESS_VIOLATION 1004 ///< An attempt was made to modify a read-only object (e.g. imported from another region). 00114 #define FML_ERR_NAME_COLLISION 1005 ///< An attempt was made to create an object with a name that was already in use. 00115 #define FML_ERR_INVALID_REGION 1006 ///< An attempt was made to access an invalid region. This usually indicates a failure to deserialise a FieldML file. 00116 #define FML_ERR_NONLOCAL_OBJECT 1007 ///< An attempt was made to reference a non-local object (i.e. one that has not been imported). 00117 #define FML_ERR_CYCLIC_DEPENDENCY 1008 ///< An attempt was made to create a cyclic dependency. 00118 #define FML_ERR_INVALID_INDEX 1009 ///< An attempt was made to use an out-of-bounds index. 00119 #define FML_ERR_READ_ERR 1010 ///< A read error was encountered during IO. 00120 00121 //Used for giving the user precise feedback on bad parameters passed to the API 00122 //Only used for parameters other than the FieldML handle and object handle parameters. 00123 #define FML_ERR_INVALID_PARAMETERS 1100 ///< A general-purpose error code indicating that some parameters to the API call were invalid. 00124 #define FML_ERR_INVALID_PARAMETER_1 1101 ///< A general-purpose error code indicating that the first parameter to the API call was invalid. 00125 #define FML_ERR_INVALID_PARAMETER_2 1102 ///< A general-purpose error code indicating that the second parameter to the API call was invalid. 00126 #define FML_ERR_INVALID_PARAMETER_3 1103 ///< A general-purpose error code indicating that the third parameter to the API call was invalid. 00127 #define FML_ERR_INVALID_PARAMETER_4 1104 ///< A general-purpose error code indicating that the fourth parameter to the API call was invalid. 00128 #define FML_ERR_INVALID_PARAMETER_5 1105 ///< A general-purpose error code indicating that the fifth parameter to the API call was invalid. 00129 #define FML_ERR_INVALID_PARAMETER_6 1106 ///< A general-purpose error code indicating that the sixth parameter to the API call was invalid. 00130 #define FML_ERR_INVALID_PARAMETER_7 1107 ///< A general-purpose error code indicating that the seventh parameter to the API call was invalid. 00131 #define FML_ERR_INVALID_PARAMETER_8 1108 ///< A general-purpose error code indicating that the eigth parameter to the API call was invalid. 00132 00133 #define FML_ERR_UNSUPPORTED 2000 ///< Used for operations that are valid, but not yet implemented. 00134 00135 /* 00136 00137 Types 00138 00139 */ 00140 00141 00153 enum FieldmlEnsembleMembersType 00154 { 00155 FML_ENSEMBLE_MEMBER_UNKNOWN, 00156 FML_ENSEMBLE_MEMBER_RANGE, 00157 FML_ENSEMBLE_MEMBER_LIST_DATA, 00158 FML_ENSEMBLE_MEMBER_RANGE_DATA, 00159 FML_ENSEMBLE_MEMBER_STRIDE_RANGE_DATA, 00160 }; 00161 00162 00169 enum FieldmlDataDescriptionType 00170 { 00171 FML_DATA_DESCRIPTION_UNKNOWN, 00172 FML_DATA_DESCRIPTION_DENSE_ARRAY, 00173 FML_DATA_DESCRIPTION_DOK_ARRAY, 00174 }; 00175 00176 00187 enum FieldmlDataResourceType 00188 { 00189 FML_DATA_RESOURCE_UNKNOWN, 00190 FML_DATA_RESOURCE_HREF, 00191 FML_DATA_RESOURCE_INLINE, 00192 }; 00193 00194 00202 enum FieldmlDataSourceType 00203 { 00204 FML_DATA_SOURCE_UNKNOWN, 00205 FML_DATA_SOURCE_ARRAY, 00206 }; 00207 00208 00229 enum FieldmlHandleType 00230 { 00231 FHT_UNKNOWN, 00232 00233 FHT_ENSEMBLE_TYPE, 00234 FHT_CONTINUOUS_TYPE, 00235 FHT_MESH_TYPE, 00236 FHT_BOOLEAN_TYPE, 00237 FHT_ARGUMENT_EVALUATOR, 00238 FHT_EXTERNAL_EVALUATOR, 00239 FHT_REFERENCE_EVALUATOR, 00240 FHT_PARAMETER_EVALUATOR, 00241 FHT_PIECEWISE_EVALUATOR, 00242 FHT_AGGREGATE_EVALUATOR, 00243 FHT_CONSTANT_EVALUATOR, 00244 FHT_DATA_RESOURCE, 00245 FHT_DATA_SOURCE, 00246 }; 00247 00248 00249 /* 00250 00251 API 00252 00253 */ 00254 00255 #ifdef __cplusplus 00256 extern "C" { 00257 #endif //__cplusplus 00258 00259 00274 FmlSessionHandle Fieldml_CreateFromFile( const char * filename ); 00275 00276 00286 FmlSessionHandle Fieldml_Create( const char * location, const char * name ); 00287 00288 00294 FmlErrorNumber Fieldml_SetDebug( FmlSessionHandle handle, int debug ); 00295 00296 00302 FmlErrorNumber Fieldml_GetLastError( FmlSessionHandle handle ); 00303 00304 00314 FmlErrorNumber Fieldml_WriteFile( FmlSessionHandle handle, const char * filename ); 00315 00316 00324 void Fieldml_Destroy( FmlSessionHandle handle ); 00325 00326 00332 FmlErrorNumber Fieldml_FreeString( char * string ); 00333 00334 00344 char * Fieldml_GetRegionName( FmlSessionHandle handle ); 00345 00346 00357 int Fieldml_CopyRegionName( FmlSessionHandle handle, char * buffer, int bufferLength ); 00358 00359 00365 char * Fieldml_GetRegionRoot( FmlSessionHandle handle ); 00366 00367 00378 int Fieldml_CopyRegionRoot( FmlSessionHandle handle, char * buffer, int bufferLength ); 00379 00383 int Fieldml_GetErrorCount( FmlSessionHandle handle ); 00384 00385 00395 char * Fieldml_GetError( FmlSessionHandle handle, int index ); 00396 00397 00405 int Fieldml_CopyError( FmlSessionHandle handle, int errorIndex, char * buffer, int bufferLength ); 00406 00407 00416 FmlErrorNumber Fieldml_ClearErrors( FmlSessionHandle handle ); 00417 00418 00424 int Fieldml_GetTotalObjectCount( FmlSessionHandle handle ); 00425 00426 00432 FmlObjectHandle Fieldml_GetObjectByIndex( FmlSessionHandle handle, const int objectIndex ); 00433 00434 00440 int Fieldml_GetObjectCount( FmlSessionHandle handle, FieldmlHandleType type ); 00441 00442 00448 FmlObjectHandle Fieldml_GetObject( FmlSessionHandle handle, FieldmlHandleType objectType, int objectIndex ); 00449 00450 00454 FieldmlHandleType Fieldml_GetObjectType( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 00455 00456 00463 FmlObjectHandle Fieldml_GetObjectByName( FmlSessionHandle handle, const char * name ); 00464 00465 00470 FmlObjectHandle Fieldml_GetObjectByDeclaredName( FmlSessionHandle handle, const char * name ); 00471 00477 FmlBoolean Fieldml_IsObjectLocal( FmlSessionHandle handle, FmlObjectHandle objectHandle, FmlBoolean isDeclaredOnly ); 00478 00479 00490 char * Fieldml_GetObjectName( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 00491 00492 00499 int Fieldml_CopyObjectName( FmlSessionHandle handle, FmlObjectHandle objectHandle, char * buffer, int bufferLength ); 00500 00501 00510 char * Fieldml_GetObjectDeclaredName( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 00511 00512 00519 int Fieldml_CopyObjectDeclaredName( FmlSessionHandle handle, FmlObjectHandle objectHandle, char * buffer, int bufferLength ); 00520 00521 00528 FmlErrorNumber Fieldml_SetObjectInt( FmlSessionHandle handle, FmlObjectHandle objectHandle, int value ); 00529 00530 00536 int Fieldml_GetObjectInt( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 00537 00538 00544 FmlObjectHandle Fieldml_GetTypeComponentEnsemble( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 00545 00546 00554 int Fieldml_GetTypeComponentCount( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 00555 00556 00567 FmlObjectHandle Fieldml_CreateEnsembleType( FmlSessionHandle handle, const char * name ); 00568 00569 00573 FmlObjectHandle Fieldml_CreateBooleanType( FmlSessionHandle handle, const char * name ); 00574 00575 00582 FmlObjectHandle Fieldml_CreateContinuousType( FmlSessionHandle handle, const char * name ); 00583 00584 00595 FmlObjectHandle Fieldml_CreateContinuousTypeComponents( FmlSessionHandle handle, FmlObjectHandle typeHandle, const char * name, const int count ); 00596 00612 FmlObjectHandle Fieldml_CreateMeshType( FmlSessionHandle handle, const char * name ); 00613 00623 FmlObjectHandle Fieldml_CreateMeshElementsType( FmlSessionHandle handle, FmlObjectHandle meshHandle, const char * name ); 00624 00636 FmlObjectHandle Fieldml_CreateMeshChartType( FmlSessionHandle handle, FmlObjectHandle meshHandle, const char * name ); 00637 00638 00645 FmlObjectHandle Fieldml_GetMeshChartType( FmlSessionHandle handle, FmlObjectHandle meshHandle ); 00646 00647 00653 FmlObjectHandle Fieldml_GetMeshChartComponentType( FmlSessionHandle handle, FmlObjectHandle meshHandle ); 00654 00655 00662 FmlObjectHandle Fieldml_GetMeshElementsType( FmlSessionHandle handle, FmlObjectHandle meshHandle ); 00663 00664 00672 FmlObjectHandle Fieldml_GetMeshShapes( FmlSessionHandle handle, FmlObjectHandle meshHandle ); 00673 00674 00682 FmlErrorNumber Fieldml_SetMeshShapes( FmlSessionHandle handle, FmlObjectHandle meshHandle, FmlObjectHandle shapesHandle ); 00683 00684 00695 FmlBoolean Fieldml_IsEnsembleComponentType( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 00696 00697 00708 FmlObjectHandle Fieldml_GetValueType( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 00709 00710 00718 FmlObjectHandle Fieldml_CreateArgumentEvaluator( FmlSessionHandle handle, const char * name, FmlObjectHandle valueType ); 00719 00720 00731 FmlObjectHandle Fieldml_CreateExternalEvaluator( FmlSessionHandle handle, const char * name, FmlObjectHandle valueType ); 00732 00733 00742 FmlObjectHandle Fieldml_CreateParameterEvaluator( FmlSessionHandle handle, const char * name, FmlObjectHandle valueType ); 00743 00744 00750 FmlErrorNumber Fieldml_SetParameterDataDescription( FmlSessionHandle handle, FmlObjectHandle objectHandle, FieldmlDataDescriptionType description ); 00751 00758 FmlObjectHandle Fieldml_GetDataSource( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 00759 00765 FmlObjectHandle Fieldml_GetKeyDataSource( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 00766 00774 FmlErrorNumber Fieldml_SetDataSource( FmlSessionHandle handle, FmlObjectHandle objectHandle, FmlObjectHandle dataSource ); 00775 00776 00782 FmlErrorNumber Fieldml_SetKeyDataSource( FmlSessionHandle handle, FmlObjectHandle objectHandle, FmlObjectHandle dataSource ); 00783 00784 00788 FieldmlDataDescriptionType Fieldml_GetParameterDataDescription( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 00789 00790 00803 FmlErrorNumber Fieldml_AddDenseIndexEvaluator( FmlSessionHandle handle, FmlObjectHandle objectHandle, FmlObjectHandle indexHandle, FmlObjectHandle orderHandle ); 00804 00813 FmlErrorNumber Fieldml_AddSparseIndexEvaluator( FmlSessionHandle handle, FmlObjectHandle objectHandle, FmlObjectHandle indexHandle ); 00814 00815 00825 int Fieldml_GetParameterIndexCount( FmlSessionHandle handle, FmlObjectHandle objectHandle, FmlBoolean isSparse ); 00826 00827 00836 FmlObjectHandle Fieldml_GetParameterIndexEvaluator( FmlSessionHandle handle, FmlObjectHandle objectHandle, int index, FmlBoolean isSparse ); 00837 00838 00847 FmlObjectHandle Fieldml_GetParameterIndexOrder( FmlSessionHandle handle, FmlObjectHandle objectHandle, int index ); 00848 00860 FmlObjectHandle Fieldml_CreatePiecewiseEvaluator( FmlSessionHandle handle, const char * name, FmlObjectHandle valueType ); 00861 00862 00875 FmlObjectHandle Fieldml_CreateAggregateEvaluator( FmlSessionHandle handle, const char * name, FmlObjectHandle valueType ); 00876 00877 00887 FmlErrorNumber Fieldml_SetIndexEvaluator( FmlSessionHandle handle, FmlObjectHandle objectHandle, int index, FmlObjectHandle evaluatorHandle ); 00888 00896 FmlErrorNumber Fieldml_SetDefaultEvaluator( FmlSessionHandle handle, FmlObjectHandle objectHandle, FmlObjectHandle evaluator ); 00897 00898 00906 FmlObjectHandle Fieldml_GetDefaultEvaluator( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 00907 00908 00921 FmlErrorNumber Fieldml_SetEvaluator( FmlSessionHandle handle, FmlObjectHandle objectHandle, FmlEnsembleValue element, FmlObjectHandle evaluator ); 00922 00923 00932 int Fieldml_GetEvaluatorCount( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 00933 00934 00943 FmlEnsembleValue Fieldml_GetEvaluatorElement( FmlSessionHandle handle, FmlObjectHandle objectHandle, int evaluatorIndex ); 00944 00945 00955 FmlObjectHandle Fieldml_GetEvaluator( FmlSessionHandle handle, FmlObjectHandle objectHandle, int evaluatorIndex ); 00956 00957 00964 FmlObjectHandle Fieldml_GetElementEvaluator( FmlSessionHandle handle, FmlObjectHandle objectHandle, FmlEnsembleValue elementNumber, FmlBoolean allowDefault ); 00965 00966 00975 int Fieldml_GetIndexEvaluatorCount( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 00976 00977 00985 FmlObjectHandle Fieldml_GetIndexEvaluator( FmlSessionHandle handle, FmlObjectHandle objectHandle, int indexNumber ); 00986 00987 00996 FmlObjectHandle Fieldml_CreateReferenceEvaluator( FmlSessionHandle handle, const char * name, FmlObjectHandle sourceEvaluator ); 00997 00998 01004 FmlObjectHandle Fieldml_GetReferenceSourceEvaluator( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01005 01006 01015 FmlErrorNumber Fieldml_AddArgument( FmlSessionHandle handle, FmlObjectHandle objectHandle, FmlObjectHandle evaluatorHandle ); 01016 01017 01024 int Fieldml_GetArgumentCount( FmlSessionHandle handle, FmlObjectHandle objectHandle, FmlBoolean isBound, FmlBoolean isUsed ); 01025 01026 01033 FmlObjectHandle Fieldml_GetArgument( FmlSessionHandle handle, FmlObjectHandle objectHandle, int argumentIndex, FmlBoolean isBound, FmlBoolean isUsed ); 01034 01035 01046 FmlErrorNumber Fieldml_SetBind( FmlSessionHandle handle, FmlObjectHandle objectHandle, FmlObjectHandle argumentHandle, FmlObjectHandle sourceHandle ); 01047 01048 01054 int Fieldml_GetBindCount( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01055 01056 01063 FmlObjectHandle Fieldml_GetBindArgument( FmlSessionHandle handle, FmlObjectHandle objectHandle, int bindIndex ); 01064 01065 01072 FmlObjectHandle Fieldml_GetBindEvaluator( FmlSessionHandle handle, FmlObjectHandle objectHandle, int bindIndex ); 01073 01074 01080 FmlObjectHandle Fieldml_GetBindByArgument( FmlSessionHandle handle, FmlObjectHandle objectHandle, FmlObjectHandle argumentHandle ); 01081 01082 01083 01090 FieldmlEnsembleMembersType Fieldml_GetEnsembleMembersType( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01091 01092 01101 FmlErrorNumber Fieldml_SetEnsembleMembersDataSource( FmlSessionHandle handle, FmlObjectHandle objectHandle, FieldmlEnsembleMembersType type, int count, FmlObjectHandle dataSourceHandle ); 01102 01111 FmlErrorNumber Fieldml_SetEnsembleMembersRange( FmlSessionHandle handle, FmlObjectHandle objectHandle, const FmlEnsembleValue minElement, const FmlEnsembleValue maxElement, const int stride ); 01112 01113 01120 int Fieldml_GetMemberCount( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01121 01122 01130 FmlEnsembleValue Fieldml_GetEnsembleMembersMin( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01131 01132 01142 FmlEnsembleValue Fieldml_GetEnsembleMembersMax( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01143 01144 01151 int Fieldml_GetEnsembleMembersStride( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01152 01153 01178 int Fieldml_AddImportSource( FmlSessionHandle handle, const char * href, const char * regionName ); 01179 01180 01188 FmlObjectHandle Fieldml_AddImport( FmlSessionHandle handle, int importSourceIndex, const char * localName, const char * remoteName ); 01189 01190 01196 int Fieldml_GetImportSourceCount( FmlSessionHandle handle ); 01197 01198 01205 int Fieldml_CopyImportSourceHref( FmlSessionHandle handle, int importSourceIndex, char * buffer, int bufferLength ); 01206 01207 01214 int Fieldml_CopyImportSourceRegionName( FmlSessionHandle handle, int importSourceIndex, char * buffer, int bufferLength ); 01215 01216 01223 int Fieldml_GetImportCount( FmlSessionHandle handle, int importSourceIndex ); 01224 01225 01232 int Fieldml_CopyImportLocalName( FmlSessionHandle handle, int importSourceIndex, int importIndex, char * buffer, int bufferLength ); 01233 01234 01241 int Fieldml_CopyImportRemoteName( FmlSessionHandle handle, int importSourceIndex, int importIndex, char * buffer, int bufferLength ); 01242 01243 01249 FmlObjectHandle Fieldml_GetImportObject( FmlSessionHandle handle, int importSourceIndex, int importIndex ); 01250 01251 01260 FmlObjectHandle Fieldml_CreateHrefDataResource( FmlSessionHandle handle, const char * name, const char * format, const char * href ); 01261 01271 FmlObjectHandle Fieldml_CreateInlineDataResource( FmlSessionHandle handle, const char * name ); 01272 01273 01280 FieldmlDataResourceType Fieldml_GetDataResourceType( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01281 01282 01300 FmlObjectHandle Fieldml_CreateArrayDataSource( FmlSessionHandle handle, const char * name, FmlObjectHandle resourceHandle, const char * location, int rank ); 01301 01308 int Fieldml_GetDataSourceCount( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01309 01310 01317 FmlObjectHandle Fieldml_GetDataSourceByIndex( FmlSessionHandle handle, FmlObjectHandle objectHandle, int index ); 01318 01319 01327 FmlObjectHandle Fieldml_GetDataSourceResource( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01328 01329 01336 char * Fieldml_GetArrayDataSourceLocation( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01337 01343 int Fieldml_CopyArrayDataSourceLocation( FmlSessionHandle handle, FmlObjectHandle objectHandle, char * buffer, int bufferLength ); 01344 01345 01351 int Fieldml_GetArrayDataSourceRank( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01352 01353 01362 FmlErrorNumber Fieldml_GetArrayDataSourceRawSizes( FmlSessionHandle handle, FmlObjectHandle objectHandle, int *sizes ); 01363 01364 01372 FmlErrorNumber Fieldml_SetArrayDataSourceRawSizes( FmlSessionHandle handle, FmlObjectHandle objectHandle, int *sizes ); 01373 01381 FmlErrorNumber Fieldml_GetArrayDataSourceOffsets( FmlSessionHandle handle, FmlObjectHandle objectHandle, int *offsets ); 01382 01383 01392 FmlErrorNumber Fieldml_SetArrayDataSourceOffsets( FmlSessionHandle handle, FmlObjectHandle objectHandle, int *offsets ); 01393 01394 01402 FmlErrorNumber Fieldml_GetArrayDataSourceSizes( FmlSessionHandle handle, FmlObjectHandle objectHandle, int *sizes ); 01403 01404 01412 FmlErrorNumber Fieldml_SetArrayDataSourceSizes( FmlSessionHandle handle, FmlObjectHandle objectHandle, int *sizes ); 01413 01414 01420 FieldmlDataSourceType Fieldml_GetDataSourceType( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01421 01422 01429 FmlErrorNumber Fieldml_AddInlineData( FmlSessionHandle handle, FmlObjectHandle objectHandle, const char * data, const int length ); 01430 01431 01438 FmlErrorNumber Fieldml_SetInlineData( FmlSessionHandle handle, FmlObjectHandle objectHandle, const char * data, const int length ); 01439 01440 01446 int Fieldml_GetInlineDataLength( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01447 01448 01459 char * Fieldml_GetInlineData( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01460 01461 01469 int Fieldml_CopyInlineData( FmlSessionHandle handle, FmlObjectHandle objectHandle, char * buffer, int bufferLength, int offset ); 01470 01478 char * Fieldml_GetDataResourceHref( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01479 01480 01487 int Fieldml_CopyDataResourceHref( FmlSessionHandle handle, FmlObjectHandle objectHandle, char * buffer, int bufferLength ); 01488 01494 char * Fieldml_GetDataResourceFormat( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01495 01496 01502 int Fieldml_CopyDataResourceFormat( FmlSessionHandle handle, FmlObjectHandle objectHandle, char * buffer, int bufferLength ); 01503 01504 01510 int Fieldml_CreateConstantEvaluator( FmlSessionHandle handle, const char * name, const char * literal, FmlObjectHandle valueType ); 01511 01512 01518 char * Fieldml_GetConstantEvaluatorValueString( FmlSessionHandle handle, FmlObjectHandle objectHandle ); 01519 01520 01527 int Fieldml_CopyConstantEvaluatorValueString( FmlSessionHandle handle, FmlObjectHandle objectHandle, char * buffer, int bufferLength ); 01528 01529 #ifdef __cplusplus 01530 } 01531 #endif // __cplusplus 01532 01533 #endif // H_FIELDML_API