#ifndef HELLOWORLD_H
#define HELLOWORLD_H

#include <apps.h>

/* Эт?структур?идентифицирует приложение. Передаёт? ?любо?обработчик событи?*/
typedef struct
{ 
    APPLICATION_T           apt; /* Должно обязательно присутствовать, причём первым */

    /* Здес?кладут? прочие данные приложен? */
    /* ... */

} APP_HELLOWORLD_T;

/* Сост?ния приложен? */
typedef enum
{
    HW_STATE_ANY, /* ANY-state всегда первым */

    HW_STATE_MAIN,

    HW_STATE_MAX /* Для удобства */
} HW_STATES_T;



UINT32 Register( char* file_uri,  char* param,  UINT32 reserve );

UINT32 HelloWorldStart( EVENT_STACK_T *ev_st,  REG_ID_T reg_id,  UINT32 param2 );
UINT32 HelloWorldExit( EVENT_STACK_T *ev_st,  void *app );

UINT32 MainStateEnter( EVENT_STACK_T *ev_st,  void *app,  ENTER_STATE_TYPE_T type );
//UIS_DIALOG_T UIS_CreateSplashScreen( SU_PORT_T * port, RESOURCE_ID img, UINT32 unk );

UINT32 Timer( EVENT_STACK_T *ev_st,  void *app );
UINT32 OS1( EVENT_STACK_T *ev_st,  void *app );
UINT32 OS2( EVENT_STACK_T *ev_st,  void *app );
UINT32 OS3( EVENT_STACK_T *ev_st,  void *app );
UINT32 OS4( EVENT_STACK_T *ev_st,  void *app );
UINT32 OS5( EVENT_STACK_T *ev_st,  void *app );
UINT32 OS6( EVENT_STACK_T *ev_st,  void *app );
UINT32 OS7( EVENT_STACK_T *ev_st,  void *app );
UINT32 OS8( EVENT_STACK_T *ev_st,  void *app );
UINT32 OS9( EVENT_STACK_T *ev_st,  void *app );
UINT32 Handset( EVENT_STACK_T *ev_st,  void *app );
//BOOL AlmclkReminderUtilCallInProgress(void);
BOOL  LOGO(void *app);
//BOOL  DL_AccIsHeadsetAvailable();
UINT8 get_number_of_active_calls(void);
UINT32 Call( EVENT_STACK_T *ev_st,  void *app );
UINT32 MsgStateEnter( EVENT_STACK_T *ev_st,  void *app, ENTER_STATE_TYPE_T type );
#endif