#ifndef __cmetadata_bi__
#define __cmetadata_bi__
' Defines the data structures for holding node meta information.


' Enum used to distinguish data types
enum aiMetadataType
  AI_BOOL = 0 
  AI_INT
  AI_UINT64
  AI_FLOAT
  AI_AISTRING
  AI_AIVECTOR3D
end enum

' Metadata entry
' The type field uniquely identifies the underlying type of the data field
type aiMetadataEntry
  as aiMetadataType mType
  as any ptr mData
end type

'  Container for holding metadata.
'  Metadata is a key-value store using string keys and values.
type aiMetadata 
  ' Length of the mKeys and mValues arrays, respectively */
  as uinteger mNumProperties
  '* Arrays of keys, may not be NULL. Entries in this array may not be NULL as well.
  as aiString ptr mKeys
  ' Arrays of values, may not be NULL. Entries in this array may be NULL 
  ' if the corresponding property key has no assigned value.
  as aiMetadataEntry ptr mValues
end type

#endif ' __cmetadata_bi__


