#ifndef _aplmt_hardware_devantech_sp03_serverapi_h_
#define _aplmt_hardware_devantech_sp03_serverapi_h_
/*----------------------------------------------------------------------------
** SUMMARY: Server ITC Interface for controlling the Devantech LTD SP03 
**          text-to-speech synthesizer (ITCSRVDEVANSP03).
**
**  ITC
**  ---
**  This interfaace has the following ITC requirements and/or features:
**      o Imsg/Imbox interface
**      o LARGE model
**      o AplmtImsgData must be void* or AplSize_t
**      o Assumes that the SP03 server runs exclusively in its own thread.
**
**
** CONFIGURATION 
** -------------
**  COMPILE:        none.
**                                            
**  APPLICATION:    APLMT_OPTION_DEVAN_SP03_CFG_VOLUME
**                  APLMT_OPTION_DEVAN_SP03_CFG_PITCH
**                  APLMT_OPTION_DEVAN_SP03_CFG_SPEED
**
**  PLATFORM:       none.
**
----------------------------------------------------------------------------*/

#include "aplmt/os/kernelapi.h"
#include "aplmt/itc/imboxapi.h"


#ifdef __cplusplus
extern "C" {
#endif

/*-------------- CONSTANTS -------------------------------------------------*/
/** Default configuration values */
#ifndef APLMT_OPTION_DEVAN_SP03_CFG_VOLUME
#define APLMT_OPTION_DEVAN_SP03_CFG_VOLUME  3
#endif
#ifndef APLMT_OPTION_DEVAN_SP03_CFG_PITCH
#define APLMT_OPTION_DEVAN_SP03_CFG_PITCH   5
#endif
#ifndef APLMT_OPTION_DEVAN_SP03_CFG_SPEED
#define APLMT_OPTION_DEVAN_SP03_CFG_SPEED   1
#endif


/*-------------- INLINE IMPLEMENTATION -------------------------------------*/
#include "aplmt/hardware/devantech/sp03/server.h"            /* For: inline implementation */


/*-------------- PUBLIC/PUBLISHED API --------------------------------------*/
/** This method is used to initialize the SP03 server.  This method can be
    called ANY time before the SP03 thread runs and BEFORE any call to 
    AplmtDevan_sp03ServerMbox().

    Prototype:
        void AplmtDevan_sp03Init(void);
 */
#define AplmtDevan_sp03Init             _AplmtDevan_sp03Init

/** This method returns a function pointer to the SP03 server's entry function.
    This method should be passed as the entry/start method when creating a
    the server's thread.

    Prototype:
        AplmtThreadEntry AplmtDevan_sp03ServerEntry(void);
 */
#define AplmtDevan_sp03ServerEntry      _AplmtDevan_sp03ServerEntry

/** This method returns mailbox handle of the SP03 server.

    Prototype:
        AplmtImboxHdl AplmtDevan_sp03ServerMbox(void);
 */
#define AplmtDevan_sp03ServerMbox       _AplmtDevan_sp03ServerMbox



#ifdef __cplusplus
}
#endif
/*--------------------------------------------------------------------------*/
#endif  /* end _aplmt_hardware_devantech_sp03_serverapi_h_ */
