#include "interfaces.h"
static const char* Profile = NULL;
static void TestSimToolkitHandler
(
void* contextPtr
)
{
switch(stkEvent)
{
LE_INFO(
"-TEST- OPEN_CHANNEL SIM Toolkit event for SIM card.%d", simId);
break;
LE_INFO(
"-TEST- REFRESH SIM Toolkit event for SIM card.%d", simId);
"Accept SIM Toolkit failure!");
break;
default:
LE_INFO(
"-TEST- Unknown SIM Toolkit event %d for SIM card.%d", stkEvent, simId);
break;
}
}
static void TestSimStateHandler
(
void* contextPtr
)
{
switch(simState)
{
LE_INFO(
"-TEST- New state LE_SIM_INSERTED for SIM card.%d", simId);
break;
LE_INFO(
"-TEST- New state LE_SIM_ABSENT for SIM card.%d", simId);
break;
LE_INFO(
"-TEST- New state LE_SIM_READY for SIM card.%d", simId);
break;
LE_INFO(
"-TEST- New state LE_SIM_BLOCKED for SIM card.%d", simId);
break;
LE_INFO(
"-TEST- New state LE_SIM_BUSY for SIM card.%d", simId);
break;
LE_INFO(
"-TEST- New state LE_SIM_STATE_UNKNOWN for SIM card.%d", simId);
break;
default:
LE_INFO(
"-TEST- New state %d for SIM card.%d", simState, simId);
break;
}
}
void Testle_sim_GetCurrentSubscription
(
void
)
{
bool isEcs;
{
LE_INFO(
"Cannot determine current subscription");
}
else if (res == LE_OK)
{
LE_INFO(
"Current subscription is %s", (isEcs ?
"ECS":
"Commercial"));
}
}
void Testle_sim_SwapToEcs
(
void
)
{
bool isEcs;
LE_INFO(
"Start Testle_sim_SwapToEcs");
}
void Testle_sim_SwapToCommercial
(
void
)
{
bool isEcs;
LE_INFO(
"Start Testle_sim_SwapToCommercial");
}
static void SigHandler
(
int sigNum
)
{
LE_INFO(
"EXIT SIM local Profile Swap Test");
exit(EXIT_SUCCESS);
}
static void PrintUsage
(
void
)
{
int idx;
bool sandboxed = (getuid() != 0);
const char * usagePtr[] =
{
"Usage of the simProfileSwap app is:",
" execInApp simProfileSwap simProfileSwap <ext/esim>"
" <gemalto/oberthur/gd/morpho> <ecs/commercial>",
};
{
if(sandboxed)
{
}
else
{
fprintf(stderr, "%s\n", usagePtr[idx]);
}
}
}
static void GetArgs
(
void
)
{
const char* arg = NULL;
if( strncmp(arg, "ext", strlen("ext")) == 0 )
{
LE_INFO(
"external SIM is selected.");
}
else if( strncmp(arg, "esim", strlen("esim")) == 0 )
{
LE_INFO(
"embedded SIM is selected.");
}
else
{
PrintUsage();
LE_INFO(
"EXIT SIM local Profile Swap Test");
exit(EXIT_FAILURE);
}
if( strncmp(arg, "gemalto", strlen("gemalto")) == 0 )
{
LE_INFO(
"Card manufacturer is Gemalto.");
}
else if( strncmp(arg, "oberthur", strlen("oberthur")) == 0 )
{
LE_INFO(
"Card manufacturer is Oberthur.");
}
else if( strncmp(arg, "gd", strlen("gd")) == 0 )
{
LE_INFO(
"Card manufacturer is G&D.");
}
else if( strncmp(arg, "morpho", strlen("morpho")) == 0 )
{
LE_INFO(
"Card manufacturer is Morpho.");
}
else
{
PrintUsage();
LE_INFO(
"EXIT SIM local Profile Swap Test");
exit(EXIT_FAILURE);
}
}
{
{
signal(SIGINT, SigHandler);
GetArgs();
LE_INFO(
"======== Start SIM local Profile Swap Test with Profile.%s========", Profile);
if( strncmp(Profile, "ecs", strlen("ecs")) == 0 )
{
LE_INFO(
"======== SwapToEcs Test ========");
Testle_sim_GetCurrentSubscription();
Testle_sim_SwapToEcs();
}
else if( strncmp(Profile, "commercial", strlen("commercial")) == 0 )
{
LE_INFO(
"======== SwapToCommercial Test ========");
Testle_sim_GetCurrentSubscription();
Testle_sim_SwapToCommercial();
}
else
{
PrintUsage();
LE_INFO(
"EXIT SIM local Profile Swap Test");
exit(EXIT_FAILURE);
}
LE_INFO(
"======== Test SIM local Profile Swap Test SUCCESS ========");
}
else
{
PrintUsage();
LE_INFO(
"EXIT SIM local Profile Swap Test");
exit(EXIT_FAILURE);
}
}