📄 capiclnt.c
字号:
break;
case configCACHE_MODE:
db_setInt(globalRef, (BYTE*) CACHE_MODE, value);
break;
case configDISPLAY_IMAGES:
if ((ref = getObjectRef(objectId)) == DB_null)
ref = addObject(objectId);
db_setInt(ref, (BYTE*) DISPLAY_IMAGES, value);
break;
case configUPDATE_IMAGES:
if ((ref = getObjectRef(objectId)) == DB_null)
ref = addObject(objectId);
db_setInt(ref, (BYTE*) UPDATE_IMAGES, value);
break;
case configPUSH_SECURITY_LEVEL:
db_setInt(globalRef, (BYTE*) PUSH_SECURITY_LEVEL, value);
break;
case configDEFAULT_CHANNEL:
setDefaultDataChannel(objectId, (UINT8) value);
break;
case configCOOKIES_ENABLED:
db_setInt(globalRef, (BYTE*) COOKIES_ENABLED, value);
break;
case configBA_PERSISTENT_ENABLED:
if( value == 0 )
setPersistentAuthStatus( TRUE, 0 );
else
setPersistentAuthStatus( TRUE, 2 );
break;
}
}
EXPORT_C VOID CLNTc_setStrConfig (UINT8 objectId, ConfigStr kind, const CHAR *value, UINT16 length)
{
BYTE* temp;
BOOL error;
#ifdef LOG_EXTERNAL
char szFormat[512];
size_t strlength, end = 0;
const char *csz;
strlength = strlen(csz = "CLNTc_setStrConfig: \t");
strncpy(&szFormat[end], csz, strlength);
end += strlength;
switch (kind) {
case configWSP_Language:
csz = "configWSP_Language";
break;
case configPROFILE:
csz = "configPROFILE";
break;
case configPROFILE_DIFF:
csz = "configPROFILE_DIFF";
break;
case configUSERAGENT:
csz = "configUSERAGENT";
break;
default:
csz = "INVALID ConfigStr";
break;
}
strlength = strlen(csz);
strncpy(&szFormat[end], csz, strlength);
end += strlength;
strlength = strlen(csz = "\nconst CHAR * \tvalue \t");
strncpy(&szFormat[end], csz, strlength);
end += strlength;
memcpy(&szFormat[end], value, length);
for (strlength = end; strlength < end+length; strlength++)
if (!wae_isascii (szFormat[strlength]) ||
wae_isctrl (szFormat[strlength]))
szFormat[strlength] = '?';
end += length;
strlength = strlen(csz = "\nUINT8 \t\tlength \t%u\n\n");
strncpy(&szFormat[end], csz, strlength);
end += strlength;
szFormat[end] = '\0';
CLNTa_log(objectId, 0, szFormat, length);
#endif
objectId = objectId;
error = FALSE;
switch (kind) {
case configWSP_Language:
error = db_setMem(globalRef, (BYTE*) WSP_LANGUAGE, temp = db_createMem(value, length));
break;
case configPROFILE:
error = db_setStr(globalRef, (BYTE*) PROFILE, temp = db_createStr(value, length));
break;
case configPROFILE_DIFF:
error = db_setMem(globalRef, (BYTE*) PROFILE_DIFF, temp = db_createMem(value, length));
break;
case configUSERAGENT:
error = db_setStr(globalRef, (BYTE*) USER_AGENT, temp = db_createStr(value, length));
break;
}
if (error)
OSConnectorFree(temp);
}
EXPORT_C VOID CLNTc_setDCHIntConfig (UINT8 objectId, UINT8 channelId, ConfigInt kind, UINT32 value)
{
DB_ref ref;
#ifdef LOG_EXTERNAL
char szFormat[256];
size_t strlength, end = 0;
const char *csz;
const char *cszParam = NULL;
strlength = strlen(csz = "CLNTc_setDCHIntConfig: \t");
strncpy(&szFormat[end], csz, strlength);
end += strlength;
switch (kind) {
case configACCESS_TYPE:
/* Currently supported bearers are:
* ANY_UDP = 0, GSM_USSD = 2, GSM_SMS = 3, GSM_CSD = 10, GSM_GPRS = 11,
* and Bluetooth = 150.
*/
csz = "configACCESS_TYPE";
switch (value) {
case BEARER_ANY_UDP: /* Unknown UDP bearer */
cszParam = " \t (Any UDP)";
break;
case BEARER_GSM_USSD: /* GSM USSD */
cszParam = " \t (GSM USSD)";
break;
case BEARER_GSM_SMS: /* GSM SMS */
cszParam = " \t (GSM SMS)";
break;
case BEARER_GSM_CSD: /* GSM CSD */
cszParam = " \t (GSM CSD)";
break;
case BEARER_GSM_GPRS: /* GSM GPRS */
cszParam = " \t (GSM GPRS)";
break;
case BEARER_BT: /* Bluetooth */
cszParam = " \t (Bluetooth)";
break;
case BEARER_ANY: /* Unknown bearer */
cszParam = " \t (Unknown bearer)";
break;
default:
cszParam = " \t (Currently not a supported bearer.)";
break;
}
break;
case configONLINE:
csz = "configONLINE";
break;
case configCLIENT_LOCAL_PORT:
csz = "config";
break;
case configUSSD_GW_TYPE:
csz = "configUSSD_GW_TYPE";
/* Currently supported service code types are: none= 0, msisdn= 1 and ip= 2. */
switch (value) {
case 0: /* none */
cszParam = " \t (none)";
break;
case 1: /* msisdn */
cszParam = " \t (msisdn)";
break;
case 2: /* ip */
cszParam = " \t (ip)";
break;
default:
cszParam = " \t (Currently not a supported service code.)";
break;
}
break;
case configTIMEOUT: /* The time in seconds the client can wait, when downloading has stalled, before the transaction is cancelled. */
csz = "configTIMEOUT";
break;
case configSTACKMODE:
csz = "configSTACKMODE";
switch (value) {
case MODE_CL_WSP:
cszParam = " \t (MODE_CL_WSP)";
break;
case MODE_CL_WTLS:
cszParam = " \t (MODE_CL_WTLS)";
break;
case MODE_CL_WTLS_WTA:
cszParam = " \t (MODE_CL_WTLS_WTA)";
break;
case MODE_CO_WSP:
cszParam = " \t (MODE_CO_WSP)";
break;
case MODE_CO_WTLS:
cszParam = " \t (MODE_CO_WTLS)";
break;
case MODE_CO_WTLS_WTA:
cszParam = " \t (MODE_CO_WTLS_WTA)";
break;
default:
cszParam = " \t (Currently not a supported stack mode.)";
break;
}
break;
case configEXPIRES:
csz = "configEXPIRES";
break;
case configMASTER_GW:
csz = "configMASTER_GW";
break;
case configALLOW_WTLS_CLASS_1:
csz = "configALLOW_WTLS_CLASS_1";
break;
default:
csz = "INVALID ConfigDCHInt";
break;
}
strlength = strlen(csz);
strncpy(&szFormat[end], csz, strlength);
end += strlength;
strlength = strlen(csz = "\nUINT32 \t\tvalue \t%u");
strncpy(&szFormat[end], csz, strlength);
end += strlength;
if (cszParam != NULL) {
strlength = strlen(cszParam);
strncpy(&szFormat[end], cszParam, strlength);
end += strlength;
}
szFormat[end++] = '\n';
szFormat[end++] = '\n';
szFormat[end] = '\0';
CLNTa_log(objectId, 0, szFormat, (int)value);
#endif
if ((ref = getChannelRef(objectId, channelId)) == DB_null)
ref = addDataChannel(objectId, channelId);
switch (kind) {
case configACCESS_TYPE:
db_setInt(ref, (BYTE*) ACCESS_TYPE, value);
break;
case configONLINE:
db_setInt(ref, (BYTE*) ONLINE, value);
break;
case configCLIENT_LOCAL_PORT:
db_setInt(ref, (BYTE*) CLIENT_LOCAL_PORT, value);
break;
case configUSSD_GW_TYPE:
db_setInt(ref, (BYTE*) USSD_GW_TYPE, value);
break;
case configTIMEOUT:
db_setInt(ref, (BYTE*) TIMEOUT, value);
break;
case configSTACKMODE:
db_setInt(ref, (BYTE*) STACKMODE, value);
break;
case configEXPIRES:
db_setInt(ref, (BYTE*) CHANNEL_EXPIRES, value);
break;
case configMASTER_GW:
db_setInt(ref, (BYTE*) MASTER_GW, value);
break;
case configALLOW_WTLS_CLASS_1:
db_setInt(ref, (BYTE*) ALLOW_WTLS_CLASS_1,value);
break;
}
}
EXPORT_C VOID CLNTc_setDCHStrConfig (UINT8 objectId, UINT8 channelId, ConfigStr kind, const CHAR *value, UINT8 length)
{
DB_ref ref;
BYTE* temp;
BYTE* source;
BYTE* s;
UINT16 totLen;
UINT8 error;
#ifdef LOG_EXTERNAL
const unsigned char cNmbrOfFldsIPAdr = 4;
char szFormat[512];
size_t strlength, end = 0;
char *sz;
const char *csz;
BOOL bFree = FALSE;
strlength = strlen(csz = "CLNTc_setDCHStrConfig: \t");
strncpy(&szFormat[end], csz, strlength);
end += strlength;
switch (kind) {
case configUDP_IP_SRC: /* ip address a.b.c.d -> abcd, i.e., the bytes from left to right. */
csz = "configUDP_IP_SRC";
sz = OctetString2HexString(value, cNmbrOfFldsIPAdr);
if (!sz)
return;
bFree = TRUE;
break;
case configUDP_IP_GW: /* ip address a.b.c.d -> abcd, i.e., the bytes from left to right. */
csz = "configUDP_IP_GW";
sz = OctetString2HexString(value, cNmbrOfFldsIPAdr);
if (!sz)
return;
bFree = TRUE;
break;
case configSMS_C: /* msisdn number for SMS center e.g. "+460703123456" */
csz = "configSMS_C";
break;
case configSMS_GW: /* msisdn number for WAP server e.g. "+460703123456" */
csz = "configSMS_GW";
break;
case configUSSD_C: /* msisdn number for USSD center e.g. "+460703123456" */
csz = "configUSSD_C";
break;
case configUSSD_GW: /* Three types of service codes, depending on the value of the configUSSD_SC_TYPE variable. Examples: no SC. "" msisdn: "+460703123456" ip: "abcd" */
csz = "configUSSD_GW";
break;
case configAUTH_PASS_GW: /* The password for the WAP proxy server */
csz = "configAUTH_PASS_GW";
break;
case configAUTH_ID_GW: /* The user id for the WAP proxy server */
csz = "configAUTH_ID_GW";
break;
case configSTARTPAGE:
csz = "configSTARTPAGE";
break;
case configPROXY_PROVIDER_ID:
csz = "configPROXY_PROVIDER_ID";
break;
case configADD_HOST:
csz = "configADD_HOST";
break;
case configDELETE_HOST:
csz = "configDELETE_HOST";
break;
default:
csz = "INVALID configDCHStr";
break;
}
strlength = strlen(csz);
strncpy(&szFormat[end], csz, strlength);
end += strlength;
strlength = strlen(csz = "\nconst CHAR * \tvalue \t");
strncpy(&szFormat[end], csz, strlength);
end += strlength;
memcpy(&szFormat[end], value, length);
for (strlength = end; strlength < end+length; strlength++)
if (!wae_isascii (szFormat[strlength]) ||
wae_isctrl (szFormat[strlength]))
szFormat[strlength] = '?';
end += length;
strlength = strlen(csz = "\nUINT8 \t\tlength \t%u\n\n");
strncpy(&szFormat[end], csz, strlength);
end += strlength;
szFormat[end] = '\0';
CLNTa_log(objectId, 0, szFormat, length);
if (bFree)
OSConnectorFree(sz);
#endif
error = FALSE;
if ((ref = getChannelRef(objectId, channelId)) == DB_null)
ref = addDataChannel(objectId, channelId);
switch (kind) {
case configUDP_IP_SRC:
error = db_setMem(ref, (BYTE*) UDP_IP_SRC, temp = db_createMem(value,(UINT16) length));
break;
case configUDP_IP_GW:
error = db_setMem(ref, (BYTE*) UDP_IP_GW, temp = db_createMem(value,(UINT16) length));
break;
case configSMS_C:
error = db_setMem(ref, (BYTE*) SMS_C, temp = db_createMem(value,(UINT16) length));
break;
case configSMS_GW:
error = db_setMem(ref, (BYTE*) SMS_GW, temp = db_createMem(value,(UINT16) length));
break;
case configUSSD_C:
error = db_setMem(ref, (BYTE*) USSD_C, temp = db_createMem(value,(UINT16) length));
break;
case configUSSD_GW:
error = db_setMem(ref, (BYTE*) USSD_GW, temp = db_createMem(value,(UINT16) length));
break;
case configAUTH_PASS_GW:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -