EraGlonassUveos/Inc/EraGlonassUveos_EcallProvid...

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