From 88b0d33b8b0b1f6ae320cfc863ca6a47fa8fec22 Mon Sep 17 00:00:00 2001 From: zautrix Date: Sat, 07 Aug 2004 17:24:40 +0000 Subject: Initial revision --- (limited to 'gammu/emb/common/service/gsmpbk.h') diff --git a/gammu/emb/common/service/gsmpbk.h b/gammu/emb/common/service/gsmpbk.h new file mode 100644 index 0000000..e556793 --- a/dev/null +++ b/gammu/emb/common/service/gsmpbk.h @@ -0,0 +1,270 @@ +/* (c) 2001-2004 by Marcin Wiacek and Michal Cihar */ + +#ifndef __gsm_pbk_h +#define __gsm_pbk_h + +#include + +#include "../gsmcomon.h" +#include "gsmmisc.h" + +/** + * Structure contains info about number of used/free entries in phonebook + * memory + */ +typedef struct { + /** + * Number of used entries + */ + int MemoryUsed; + /** + * Memory type + */ + GSM_MemoryType MemoryType; + /** + * Number of free entries + */ + int MemoryFree; +} GSM_MemoryStatus; + +/** + * Type of specific phonebook entry. In parenthesis is specified in which + * member of @ref GSM_SubMemoryEntry value is stored. + */ +typedef enum { + /** + * General number. (Text) + */ + PBK_Number_General = 1, + /** + * Mobile number. (Text) + */ + PBK_Number_Mobile, + /** + * Work number. (Text) + */ + PBK_Number_Work, + /** + * Fax number. (Text) + */ + PBK_Number_Fax, + /** + * Home number. (Text) + */ + PBK_Number_Home, + /** + * Pager number. (Text) + */ + PBK_Number_Pager, + /** + * Other number. (Text) + */ + PBK_Number_Other, + /** + * Note. (Text) + */ + PBK_Text_Note, + /** + * Complete postal address. (Text) + */ + PBK_Text_Postal, + /** + * Email. (Text) + */ + PBK_Text_Email, + /** + * Second email. (Text) + */ + PBK_Text_Email2, + /** + * URL (Text) + */ + PBK_Text_URL, + /** + * Date and time. FIXME: describe better (Date) + */ + PBK_Date, + /** + * Caller group. (Text) + */ + PBK_Caller_Group, + /** + * Name (Text) + */ + PBK_Text_Name, + /** + * Last name. (Text) + */ + PBK_Text_LastName, + /** + * First name. (Text) + */ + PBK_Text_FirstName, + /** + * Company. (Text) + */ + PBK_Text_Company, + /** + * Job title. (Text) + */ + PBK_Text_JobTitle, + /** + * Category. (Number) + */ + PBK_Category, + /** + * Whether entry is private. (Number) + */ + PBK_Private, + /** + * Street address. (Text) + */ + PBK_Text_StreetAddress, + /** + * City. (Text) + */ + PBK_Text_City, + /** + * State. (Text) + */ + PBK_Text_State, + /** + * Zip code. (Text) + */ + PBK_Text_Zip, + /** + * Country. (Text) + */ + PBK_Text_Country, + /** + * Custom information 1. (Text) + */ + PBK_Text_Custom1, + /** + * Custom information 2. (Text) + */ + PBK_Text_Custom2, + /** + * Custom information 3. (Text) + */ + PBK_Text_Custom3, + /** + * Custom information 4. (Text) + */ + PBK_Text_Custom4, + /** + * Ringtone ID. (Number) + */ + PBK_RingtoneID, + /** + * Ringtone ID in phone filesystem. (Number) + */ + PBK_RingtoneFileSystemID, + /** + * Picture ID. (Number) + */ + PBK_PictureID, + PBK_SMSListID, + /** + * User ID. (Text) + */ + PBK_Text_UserID +} GSM_EntryType; + +#define GSM_PHONEBOOK_TEXT_LENGTH 200 +#define GSM_PHONEBOOK_ENTRIES 26 + +/** + * One value of phonebook memory entry. + */ +typedef struct { + /** + * Type of entry. + */ + GSM_EntryType EntryType; + /** + * Text of entry (if applicable, see @ref GSM_EntryType). + */ + unsigned char Text[(GSM_PHONEBOOK_TEXT_LENGTH+1)*2]; + /** + * Text of entry (if applicable, see @ref GSM_EntryType). + */ + GSM_DateTime Date; + /** + * Number of entry (if applicable, see @ref GSM_EntryType). + */ + int Number; + /** + * Voice dialling tag. + */ + int VoiceTag; + int SMSList[20]; +} GSM_SubMemoryEntry; + +/** + * Structure for saving phonebook entries + */ +typedef struct { + /** + * Used memory for phonebook entry + */ + GSM_MemoryType MemoryType; + /** + * Used location for phonebook entry + */ + int Location; + /** + * Number of SubEntries in Entries table. + */ + int EntriesNum; + /** + * Values of SubEntries. + */ + GSM_SubMemoryEntry Entries[GSM_PHONEBOOK_ENTRIES]; +} GSM_MemoryEntry; + +typedef enum { + Nokia_VCard10 = 1, + Nokia_VCard21, + SonyEricsson_VCard10, + SonyEricsson_VCard21 +} GSM_VCardVersion; + +void GSM_PhonebookFindDefaultNameNumberGroup(GSM_MemoryEntry *entry, int *Name, int *Number, int *Group); +unsigned char *GSM_PhonebookGetEntryName (GSM_MemoryEntry *entry); + +void GSM_EncodeVCARD(char *Buffer, int *Length, GSM_MemoryEntry *pbk, bool header, GSM_VCardVersion Version); +GSM_Error GSM_DecodeVCARD(unsigned char *Buffer, int *Pos, GSM_MemoryEntry *Pbk, GSM_VCardVersion Version); + +#ifndef ENABLE_LGPL +/* (c) by Timo Teras */ +void DecodeVCARD21Text(char *VCard, GSM_MemoryEntry *pbk); +#endif + +/** + * Structure for saving speed dials + */ +typedef struct { + /** + * Number of speed dial: 2,3..,8,9 + */ + int Location; + /** + * ID of phone number used in phonebook entry + */ + int MemoryNumberID; + /** + * Memory, where is saved used phonebook entry + */ + GSM_MemoryType MemoryType; + /** + * Location in memory, where is saved used phonebook entry + */ + int MemoryLocation; +} GSM_SpeedDial; + +#endif + +/* How should editor hadle tabs in this file? Add editor commands here. + * vim: noexpandtab sw=8 ts=8 sts=8: + */ -- cgit v0.9.0.2