State machine¶
-
GSM_Error GSM_InitConnection_Log(GSM_StateMachine *s, int ReplyNum, GSM_Log_Function log_function, void *user_data)¶
Initiates connection with custom logging callback.
See also
- Parameters:
s – State machine data
ReplyNum – Number of replies to await (usually 3).
log_function – Logging function, see GSM_SetDebugFunction.
user_data – User data for logging function, see GSM_SetDebugFunction.
- Returns:
Error code
-
GSM_Error GSM_InitConnection(GSM_StateMachine *s, int ReplyNum)¶
Initiates connection.
- Parameters:
s – State machine data
ReplyNum – Number of replies to await (usually 3).
- Returns:
Error code
-
GSM_Error GSM_TerminateConnection(GSM_StateMachine *s)¶
Terminates connection.
- Parameters:
s – State machine data
- Returns:
Error code
-
GSM_Error GSM_AbortOperation(GSM_StateMachine *s)¶
Aborts current operation.
This is thread safe call to abort any existing operations with the phone.
- Parameters:
s – State machine data
- Returns:
Error code
-
GSM_Error GSM_Install(GSM_StateMachine *s, const char *ExtraPath, gboolean Minimal)¶
Installs applet required for configured connection to the phone.
- Parameters:
s – State machine data.
ExtraPath – Extra path where to search for installation data.
Minimal – Whether to do minimal installation (eg. without support libraries), useful for applet updates
- Returns:
Result of operation.
-
typedef struct _GSM_StateMachine GSM_StateMachine¶
Private structure holding information about phone connection. Should be allocated by GSM_AllocStateMachine and freed by GSM_FreeStateMachine.
-
enum GSM_ConnectionType¶
Connection types definitions.
Values:
-
enumerator GCT_MBUS2¶
-
enumerator GCT_FBUS2¶
-
enumerator GCT_FBUS2DLR3¶
-
enumerator GCT_DKU2AT¶
-
enumerator GCT_DKU2PHONET¶
-
enumerator GCT_DKU5FBUS2¶
-
enumerator GCT_ARK3116FBUS2¶
-
enumerator GCT_FBUS2PL2303¶
-
enumerator GCT_FBUS2BLUE¶
-
enumerator GCT_FBUS2IRDA¶
-
enumerator GCT_PHONETBLUE¶
-
enumerator GCT_AT¶
-
enumerator GCT_BLUEGNAPBUS¶
-
enumerator GCT_IRDAOBEX¶
-
enumerator GCT_IRDAGNAPBUS¶
-
enumerator GCT_IRDAAT¶
-
enumerator GCT_IRDAPHONET¶
-
enumerator GCT_BLUEFBUS2¶
-
enumerator GCT_BLUEAT¶
-
enumerator GCT_BLUEPHONET¶
-
enumerator GCT_BLUEOBEX¶
-
enumerator GCT_FBUS2USB¶
-
enumerator GCT_BLUES60¶
-
enumerator GCT_PROXYGNAPBUS¶
-
enumerator GCT_PROXYFBUS2¶
-
enumerator GCT_PROXYAT¶
-
enumerator GCT_PROXYPHONET¶
-
enumerator GCT_PROXYOBEX¶
-
enumerator GCT_PROXYS60¶
-
enumerator GCT_NONE¶
-
enumerator GCT_MBUS2¶
-
struct GSM_Config¶
Configuration of state machine.
Public Members
-
char Model[50]¶
Model from config file
-
char DebugLevel[50]¶
Debug level
-
char *Device¶
Device name from config file
-
char *Connection¶
Connection type as string
-
char *DebugFile¶
Name of debug file
-
char TextReminder[32]¶
Text for reminder calendar entry category in local language
-
char TextMeeting[32]¶
Text for meeting calendar entry category in local language
-
char TextCall[32]¶
Text for call calendar entry category in local language
-
char TextBirthday[32]¶
Text for birthday calendar entry category in local language
-
char TextMemo[32]¶
Text for memo calendar entry category in local language
-
GSM_Feature PhoneFeatures[GSM_MAX_PHONE_FEATURES + 1]¶
Phone features override.
-
int CNMIParams[5]¶
Used to override default CNMI arguments for generic AT protocol.
-
char Model[50]¶
-
typedef void (*GSM_Log_Function)(const char *text, void *data)¶
Callback function for logging.
- Param text:
Text to be printed,
will be also sent (as a separate message).
- Param data:
Arbitrary logger data, as passed to GSM_InitConnection_Log.
-
int GSM_ReadDevice(GSM_StateMachine *s, gboolean waitforreply)¶
Attempts to read data from phone. This can be used for getting status of incoming events, which would not be found out without polling device.
- Parameters:
s – State machine data
waitforreply – Whether to wait for some event
- Returns:
Number of read bytes
-
gboolean GSM_IsConnected(GSM_StateMachine *s)¶
Detects whether state machine is connected.
- Parameters:
s – State machine data
- Returns:
Whether phone is connected.
-
GSM_Error GSM_FindGammuRC(INI_Section **result, const char *force_config)¶
Finds and reads gammu configuration file. The search order depends on platform. On POSIX systems it looks for ~/.gammurc and then for /etc/gammurc, on Windows for gammurc in Application data folder, then in home and last fallback is in current driectory.
- Parameters:
result – Ini file representation
force_config – Forcing of custom path instead of autodetected one (if NULL, autodetection is performed).
- Returns:
Error code
-
GSM_Error GSM_ReadConfig(INI_Section *cfg_info, GSM_Config *cfg, int num)¶
Processes gammu configuration.
See also
GSM_FallbackConfig
- Parameters:
cfg_info – Ini file representation.
cfg – Where to store configuration.
num – Number of section to read.
- Returns:
Whether we got valid configuration. Especially check for ERR_USING_DEFAULTS.
-
GSM_Config *GSM_GetConfig(GSM_StateMachine *s, int num)¶
Gets gammu configuration from state machine. This actually returns pointer to internal configuration storage, so you can use it also for updating existing settings.
- Parameters:
s – State machine data
num – Number of section to read, -1 for currently used.
- Returns:
Pointer to configuration.
-
int GSM_GetConfigNum(const GSM_StateMachine *s)¶
Gets number of active gammu configurations.
- Parameters:
s – State machine data
- Returns:
Number of sections.
-
void GSM_SetConfigNum(GSM_StateMachine *s, int sections)¶
Gets number of active gammu configurations.
- Parameters:
s – State machine data
sections – Number of sections.
-
GSM_StateMachine *GSM_AllocStateMachine(void)¶
Allocates new clean state machine structure. You should free it then by GSM_FreeStateMachine.
- Returns:
Pointer to state machine structure.
-
void GSM_FreeStateMachine(GSM_StateMachine *s)¶
Frees state machine structure allocated by GSM_AllocStateMachine.
- Parameters:
s – Pointer to state machine structure.
-
GSM_ConnectionType GSM_GetUsedConnection(GSM_StateMachine *s)¶
Gets number of active gammu configurations.
- Parameters:
s – State machine data
- Returns:
Connection type.