X-Git-Url: http://git.jankratochvil.net/?p=gnokii.git;a=blobdiff_plain;f=xgnokii%2Fxgnokii_lowlevel.h;fp=xgnokii%2Fxgnokii_lowlevel.h;h=44201fd3886157f9abb7a0152faa9c33fa0c61c1;hp=0000000000000000000000000000000000000000;hb=833e1c7c90e13ceaba3dde8e7a36fcc8dfb1db3c;hpb=2e0972b02d101bb0d8e9d3e15d2ac80def491a63 diff --git a/xgnokii/xgnokii_lowlevel.h b/xgnokii/xgnokii_lowlevel.h new file mode 100644 index 0000000..44201fd --- /dev/null +++ b/xgnokii/xgnokii_lowlevel.h @@ -0,0 +1,192 @@ +/* + + X G N O K I I + + A Linux/Unix GUI for Nokia mobile phones. + + Released under the terms of the GNU GPL, see file COPYING for more details. + +*/ + +#ifndef XGNOKII_LOWLEVEL_H +#define XGNOKII_LOWLEVEL_H + +#include +#include +#include "gsm-api.h" + +#define INCALL_NUMBER_LENGTH 20 +#define NETMON_SCREEN_LENGTH 60 + +typedef enum { + CS_Idle, + CS_Waiting, + CS_InProgress +} CallState; + +typedef enum { + Event_GetMemoryStatus, + Event_GetMemoryLocation, + Event_GetMemoryLocationAll, + Event_WriteMemoryLocation, + Event_WriteMemoryLocationAll, + Event_GetCalendarNote, + Event_GetCalendarNoteAll, + Event_WriteCalendarNote, + Event_DeleteCalendarNote, + Event_GetCallerGroup, + Event_SendCallerGroup, + Event_GetSMSCenter, + Event_SetSMSCenter, + Event_SendSMSMessage, + Event_DeleteSMSMessage, + Event_GetSpeedDial, + Event_SendSpeedDial, + Event_SendDTMF, + Event_NetMonitorOnOff, + Event_NetMonitor, + Event_DialVoice, + Event_GetAlarm, + Event_SetAlarm, + Event_SendKeyStroke, + Event_GetBitmap, + Event_SetBitmap, + Event_GetNetworkInfo, + Event_Exit +} PhoneAction; + +typedef struct { + PhoneAction event; + gpointer data; +} PhoneEvent; + +typedef struct { + GSM_SpeedDial entry; + GSM_Error status; +} D_SpeedDial; + +typedef struct { + GSM_SMSMessage *sms; + GSM_Error status; +} D_SMSMessage; + +typedef struct { + GSM_MessageCenter *center; + GSM_Error status; +} D_SMSCenter; + +typedef struct { + guchar number; + gchar text[256]; + gint status; +} D_CallerGroup; + +typedef struct { + GSM_DateTime time; + gint status; +} D_Alarm; + +typedef struct { + GSM_MemoryStatus memoryStatus; + gint status; +} D_MemoryStatus; + +typedef struct { + GSM_PhonebookEntry *entry; + gint status; +} D_MemoryLocation; + +typedef struct { + gint min; + gint max; + gint used; + GSM_MemoryType type; + gint status; + gint (*InsertEntry)(GSM_PhonebookEntry *); + gint (*ReadFailed)(gint); +} D_MemoryLocationAll; + +typedef struct { + GSM_CalendarNote *entry; + gint status; +} D_CalendarNote; + +typedef struct { + gint status; + gint (*InsertEntry)(GSM_CalendarNote *); + gint (*ReadFailed)(gint); +} D_CalendarNoteAll; + +typedef struct { + GSM_Error status; + GSM_Bitmap *bitmap; +} D_Bitmap; + +typedef struct { + GSM_Error status; + GSM_NetworkInfo *info; +} D_NetworkInfo; + +typedef struct { + gfloat rfLevel; + gfloat batteryLevel; + GSM_PowerSource powerSource; + gchar *working; + bool alarm; + struct { + gchar *model; + gchar *imei; + gchar *revision; + gchar *version; + } phone; + struct { + gint unRead; + gint number; + gint number2; + GSList *messages; + } sms; + struct { + CallState callInProgress; + gchar callNum[INCALL_NUMBER_LENGTH]; + } call; + struct { + gint number; + gchar screen[NETMON_SCREEN_LENGTH]; + gchar screen3[NETMON_SCREEN_LENGTH]; + gchar screen4[NETMON_SCREEN_LENGTH]; + gchar screen5[NETMON_SCREEN_LENGTH]; + } netmonitor; +} PhoneMonitor; + +extern pthread_t monitor_th; +extern PhoneMonitor phoneMonitor; +extern pthread_mutex_t memoryMutex; +extern pthread_cond_t memoryCond; +extern pthread_mutex_t calendarMutex; +extern pthread_cond_t calendarCond; +extern pthread_mutex_t smsMutex; +extern pthread_mutex_t sendSMSMutex; +extern pthread_cond_t sendSMSCond; +extern pthread_mutex_t callMutex; +extern pthread_mutex_t netMonMutex; +extern pthread_mutex_t speedDialMutex; +extern pthread_cond_t speedDialCond; +extern pthread_mutex_t callerGroupMutex; +extern pthread_cond_t callerGroupCond; +extern pthread_mutex_t smsCenterMutex; +extern pthread_cond_t smsCenterCond; +extern pthread_mutex_t alarmMutex; +extern pthread_cond_t alarmCond; +extern pthread_mutex_t getBitmapMutex; +extern pthread_cond_t getBitmapCond; +extern pthread_mutex_t setBitmapMutex; +extern pthread_cond_t setBitmapCond; +extern pthread_mutex_t getNetworkInfoMutex; +extern pthread_cond_t getNetworkInfoCond; +extern void GUI_InitPhoneMonitor (void); +extern void *GUI_Connect (void *a); +extern void GUI_InsertEvent (PhoneEvent *event); + +extern void RefreshSMS (const gint number); + +#endif