Documentation for SOOP API Library v1.0
Table of Contents

Data Type Low Level

The Core of how Data Types Work


These are the functions that allow Data Types to be used in Euphoria, and in SOOP in general. Your free to use the Data Type system in another project, should you choose to. But please leave credit where it is due. These functions are provided to help assist the SOOP library in actually storing and retriving the data.

  • func DataType_AllowPointer( dt DataTypeID )   Check to see if a DataType allows a Pointer to be returned.
  • proc DataType_FreeVar( dt DataTypeID )   Releases the resources for the DataType variable space.
  • func DataType_GetTypeName( dt DataTypeID )   Returns the Data Type's name, as defined.
  • func DataType_InitVar( dt DataTypeID )   Initalizes the Data Type for use.
  • func DataType_Retrive( dt DataTypeID, eObj Pointer )   This retrives the actual data stored in a Data Type
  • func DataType_Store( dt DataTypeID, eObj Original, eObj New)   Calls the handler for the Assignment of data.

    Documentation for SOOP API Library v1.0
    Table of Contents

    [func]
    DataType_AllowPointer
    ( dt DataTypeID )

    Check to see if a DataType allows a Pointer to be returned.

    Returns: Boolean True or False

    Category: Data Type Low Level

    This function is a support function, to ensure that the data type given, allows the pointer to be returned, instead of the actual data.

    See Also: DataType_FreeVar, DataType_GetTypeName, DataType_InitVar, DataType_Retrive, DataType_Store


    Documentation for SOOP API Library v1.0
    Table of Contents

    [proc]
    DataType_FreeVar
    ( dt DataTypeID )

    Releases the resources for the DataType variable space.

    Category: Data Type Low Level

    This aloows the associated routines, to release the variable space for a data type, to be executed.

    See Also: DataType_AllowPointer, DataType_GetTypeName, DataType_InitVar, DataType_Retrive, DataType_Store


    Documentation for SOOP API Library v1.0
    Table of Contents

    [func]
    DataType_GetTypeName
    ( dt DataTypeID )

    Returns the Data Type's name, as defined.

    Returns: String Representing the DataType Name

    Category: Data Type Low Level

    This function is mainly here to allow DataType names to be used when Debug Information is being written out by the SOOP Debug Class.

    See Also: DataType_AllowPointer, DataType_FreeVar, DataType_InitVar, DataType_Retrive, DataType_Store


    Documentation for SOOP API Library v1.0
    Table of Contents

    [func]
    DataType_InitVar
    ( dt DataTypeID )

    Initalizes the Data Type for use.

    Returns: Inital pointer for the data

    Category: Data Type Low Level

    This allows the associated routines, to initalize the variable space for a data type, so that there are no errors, when the user of the data type, attempts to assign data to it.

    See Also: DataType_AllowPointer, DataType_FreeVar, DataType_GetTypeName, DataType_Retrive, DataType_Store


    Documentation for SOOP API Library v1.0
    Table of Contents

    [func]
    DataType_Retrive
    ( dt DataTypeID, eObj Pointer )

    This retrives the actual data stored in a Data Type

    Returns: Actual data stored

    Category: Data Type Low Level

    This function actually allows the handlers associated with the data type to retrive the data. There shouldn't be any type checking done during this time, and should only be done in the assignment.

    See Also: DataType_AllowPointer, DataType_FreeVar, DataType_GetTypeName, DataType_InitVar, DataType_Store


    Documentation for SOOP API Library v1.0
    Table of Contents

    [func]
    DataType_Store
    ( dt DataTypeID, eObj Original, eObj New)

    Calls the handler for the Assignment of data.

    Returns: Actual data, or pointer to said data.

    Category: Data Type Low Level

    This function actually allows the handlers associated with the data type to assign data. All type checking should be done at this time, to ensure that the data is allowed. If everything is successful, the pointer to the data or the actual data should be returned. The pointer should be meaningful to your functions though.

    See Also: DataType_AllowPointer, DataType_FreeVar, DataType_GetTypeName, DataType_InitVar, DataType_Retrive