73 lines
2.8 KiB
C
73 lines
2.8 KiB
C
//
|
|
// Created by xemon on 30.11.22.
|
|
//
|
|
|
|
#ifndef UVEOS_ON_NATION_ERAGLONASSUVEOS_ECALLPROVIDER_H
|
|
#define UVEOS_ON_NATION_ERAGLONASSUVEOS_ECALLPROVIDER_H
|
|
|
|
#include "stdint.h"
|
|
#include "stdbool.h"
|
|
|
|
typedef bool (*sendEcallCall)(
|
|
void *env,
|
|
|
|
uint8_t *msd,
|
|
size_t msdLength,
|
|
|
|
char *phoneNumber,
|
|
size_t phoneNumberLength,
|
|
|
|
eEcallActivationType activationType,
|
|
eEcallTestMode testMode
|
|
);
|
|
|
|
typedef bool (*setNewMsd)(
|
|
void *env,
|
|
uint8_t *msd,
|
|
size_t msdLength
|
|
);
|
|
|
|
typedef bool (*eraGlonassEcallProviderCall)(void *env);
|
|
|
|
typedef struct {
|
|
void *env;
|
|
void *smsEnv;
|
|
setNewMsd settingNewMsd;
|
|
sendEcallCall ecall;
|
|
eraGlonassEcallProviderCall isDialing;
|
|
eraGlonassEcallProviderCall isMsdSent;
|
|
eraGlonassEcallProviderCall isMsdReSent;
|
|
eraGlonassEcallProviderCall isActiveOut;
|
|
eraGlonassEcallProviderCall isActiveInp;
|
|
eraGlonassEcallProviderCall hangup;
|
|
eraGlonassEcallProviderCall hangupEcl;
|
|
eraGlonassEcallProviderCall prepHenUp;
|
|
eraGlonassEcallProviderCall resetUrcNetReg;
|
|
// eraGlonassEcallProviderCall isNetReg;
|
|
void (*checkSms)(void *env);
|
|
void (*delSms)(void *env);
|
|
bool (*isNetworkReg) (void *env, uint32_t state, bool mode);
|
|
bool (*isNetworkState) (void *env, uint16_t time);
|
|
bool (*isNetReg) (void *env);
|
|
|
|
} tEraGlonassEcallProvider;
|
|
|
|
#define EraGlonassEcallProvider_SettingNewMsd(ENV, MSD, MSD_LEN) (ENV)->settingNewMsd((ENV)->env,MSD, MSD_LEN)
|
|
#define EraGlonassEcallProvider_Ecall(ENV, MSD, MSD_LEN, PHONE, PHONE_LEN, ACTIVATION, MODE) (ENV)->ecall((ENV)->env,MSD, MSD_LEN, PHONE, PHONE_LEN, ACTIVATION, MODE)
|
|
#define EraGlonassEcallProvider_IsDialing(ENV) (ENV)->isDialing((ENV)->env)
|
|
#define EraGlonassEcallProvider_IsMsdSent(ENV) (ENV)->isMsdSent((ENV)->env)
|
|
#define EraGlonassEcallProvider_IsMsdReSent(ENV) (ENV)->isMsdReSent((ENV)->env)
|
|
#define EraGlonassEcallProvider_IsActiveOut(ENV) (ENV)->isActiveOut((ENV)->env)
|
|
#define EraGlonassEcallProvider_IsActiveInput(ENV) (ENV)->isActiveInp((ENV)->env)
|
|
#define EraGlonassEcallProvider_Hangup(ENV) (ENV)->hangup((ENV)->env)
|
|
#define EraGlonassEcallProvider_HangupEcl(ENV) (ENV)->hangupEcl((ENV)->env)
|
|
#define EraGlonassEcallProvider_PrepHangup(ENV) (ENV)->prepHenUp((ENV)->env)
|
|
#define EraGlonassEcallProvider_CheckSms(ENV) (ENV)->checkSms((ENV)->smsEnv)
|
|
#define EraGlonassEcallProvider_DelSms(ENV) (ENV)->delSms((ENV)->smsEnv)
|
|
#define EraGlonassEcallProvider_CheckNetState(ENV, TIME) (ENV)->isNetworkState((ENV)->env,TIME)
|
|
#define EraGlonassEcallProvider_NetRegistration(ENV, MODE) (ENV)->isNetworkReg((ENV)->env,0,MODE)
|
|
#define EraGlonassEcallProvider_IsNetReg(ENV) (ENV)->isNetReg((ENV)->env)
|
|
#define EraGlonassEcallProvider_ResetUrcNetReg(ENV) (ENV)->isNetReg((ENV)->env)
|
|
|
|
#endif //UVEOS_ON_NATION_ERAGLONASSUVEOS_ECALLPROVIDER_H
|