📄 pim_item.c
字号:
case C_ORG:
FAILED_WITH_EXC(pContact, get_CompanyName, (&strData));
break;
case C_TITLE:
FAILED_WITH_EXC(pContact, get_JobTitle, (&strData));
break;
case C_URL:
FAILED_WITH_EXC(pContact, get_WebPage, (&strData));
break;
}
return strData;
}
/*****************************************************************************
* FUNCTION
* getEventString
* DESCRIPTION
*
* PARAMETERS
* pEvent [?]
* field [IN]
* index [IN]
* RETURNS
*
*****************************************************************************/
static kal_char *getEventString(IEvent *pEvent, int field, int index)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_char *strData = NULL;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
JPIM_DEBUG_1(TRACE_FUNC, FUNC_J2ME_GETEVENTSTRING, field);
switch (field)
{
case E_SUMMARY:
FAILED_WITH_EXC(pEvent, get_Summary, (&strData));
break;
}
return strData;
}
/*****************************************************************************
* FUNCTION
* Java_com_ibm_oti_pim_PIMItemImpl_getStringN
* DESCRIPTION
* private native String getStringN(int listType, int handle, int rechandle, int field, int index);
* PARAMETERS
* void
* RETURNS
*****************************************************************************/
KNIEXPORT KNI_RETURNTYPE_OBJECT
Java_com_ibm_oti_pim_PIMItemImpl_getStringN(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 listtype = KNI_GetParameterAsInt(1);
kal_int32 dbhandle = KNI_GetParameterAsInt(2);
kal_int32 rechandle = KNI_GetParameterAsInt(3);
kal_int32 field = KNI_GetParameterAsInt(4);
kal_int32 index = KNI_GetParameterAsInt(5);
void *item = NULL;
kal_char *strData = NULL;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
JPIM_DEBUG(TRACE_FUNC, FUNC_J2ME_PIMITEMIMPL_GETSTRINGN);
CHECK_FIELD_SUPPORT(listtype, dbhandle, field,
{
KNI_StartHandles(1);
KNI_DeclareHandle(str);
KNI_NewString(NULL, 0, str);
KNI_EndHandlesAndReturnObject(str);
});
CHECK_ITEM_VALID(listtype, dbhandle, rechandle, &item,
{
KNI_StartHandles(1);
KNI_DeclareHandle(str);
KNI_NewString(NULL, 0, str);
KNI_EndHandlesAndReturnObject(str);
});
switch (listtype)
{
case CONTACT_LIST:
strData = getContactString(item, field, index);
break;
case EVENT_LIST:
strData = getEventString(item, field, index);
break;
case TODO_LIST:
PIM_THROW(PIM, "", FEATURE_NOT_SUPPORTED);
break;
default:
PIM_THROW(ILLARG, "", GENERAL_ERROR);
}
KNI_StartHandles(1);
KNI_DeclareHandle(str);
KNI_NewString((const jchar*) strData, app_ucs2_strlen((kal_int8*)strData), str);
KNI_EndHandlesAndReturnObject(str);
}
/*****************************************************************************
* FUNCTION
* Java_com_ibm_oti_pim_PIMItemImpl_isRecordDeletedN
* DESCRIPTION
* private native boolean isRecordDeletedN(int listType, int handle, int rechandle);
* PARAMETERS
* void
* RETURNS
*****************************************************************************/
KNIEXPORT KNI_RETURNTYPE_BOOLEAN
Java_com_ibm_oti_pim_PIMItemImpl_isRecordDeletedN(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 listtype = KNI_GetParameterAsInt(1);
kal_int32 dbhandle = KNI_GetParameterAsInt(2);
kal_int32 rechandle = KNI_GetParameterAsInt(3);
kal_int32 result;
void *item = NULL;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
JPIM_DEBUG(TRACE_FUNC, FUNC_J2ME_PIMITEMIMPL_ISRECORDDELETEDN);
result = pim_getItemByIndex(listtype, dbhandle, rechandle, &item);
if (result != SUCCESS)
{
KNI_ReturnBoolean(KAL_TRUE);
}
else
{
KNI_ReturnBoolean(KAL_FALSE);
}
}
/*****************************************************************************
* FUNCTION
* Java_com_ibm_oti_pim_PIMItemImpl_maxCategoriesN
* DESCRIPTION
* private native int maxCategoriesN(int listType, int handle, int rechandle);
* PARAMETERS
* void
* RETURNS
*****************************************************************************/
KNIEXPORT KNI_RETURNTYPE_INT
Java_com_ibm_oti_pim_PIMItemImpl_maxCategoriesN(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 listtype = KNI_GetParameterAsInt(1);
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
switch (listtype)
{
case CONTACT_LIST:
KNI_ReturnInt(1); /* platform dependent */
break;
default:
KNI_ReturnInt(0); /* platform dependent */
}
}
/*****************************************************************************
* FUNCTION
* Java_com_ibm_oti_pim_ContactImpl_getPreferredIndexN
* DESCRIPTION
* private native int getPreferredIndexN(int handle, int rechandle, int field);
* PARAMETERS
* void
* RETURNS
*****************************************************************************/
KNIEXPORT KNI_RETURNTYPE_INT
Java_com_ibm_oti_pim_ContactImpl_getPreferredIndexN(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
PIM_THROW(PIM, "Not Support Preferred attribute", FEATURE_NOT_SUPPORTED);
KNI_ReturnInt(0);
}
/*****************************************************************************
* FUNCTION
* Java_com_ibm_oti_pim_EventImpl_getRepeatDateN
* DESCRIPTION
* private native long getRepeatDateN(int handle, int rechandle, int field);
* PARAMETERS
* void
* RETURNS
*****************************************************************************/
KNIEXPORT KNI_RETURNTYPE_LONG
Java_com_ibm_oti_pim_EventImpl_getRepeatDateN(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int64 ret = 0;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
PIM_THROW(PIM, "Not Support End Day in Event List", FEATURE_NOT_SUPPORTED);
KNI_ReturnLong(ret);
}
/*****************************************************************************
* FUNCTION
* Java_com_ibm_oti_pim_EventImpl_getRepeatExceptDatesN2
* DESCRIPTION
* private native int getRepeatExceptDatesN2(int handle, int rechandle, long[] ret);
* PARAMETERS
* void
* RETURNS
*****************************************************************************/
KNIEXPORT KNI_RETURNTYPE_INT
Java_com_ibm_oti_pim_EventImpl_getRepeatExceptDatesN2(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
/* pim_throw(PIM,"Not Support Except Dates in Event List",FEATURE_NOT_SUPPORTED); */
KNI_ReturnInt(0);
}
/*****************************************************************************
* FUNCTION
* Java_com_ibm_oti_pim_EventImpl_getRepeatFieldsN2
* DESCRIPTION
* private native int getRepeatFieldsN2(int handle, int rechandle, int[] ret);
* PARAMETERS
* void
* RETURNS
*****************************************************************************/
KNIEXPORT KNI_RETURNTYPE_INT
Java_com_ibm_oti_pim_EventImpl_getRepeatFieldsN2(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
static kal_int32 repeatFieldsArray[9] = {R_FREQUENCY,R_INTERVAL};
static kal_int32 arraysize = 0;
kal_int32 listtype = EVENT_LIST;
kal_int32 dbhandle = KNI_GetParameterAsInt(1);
kal_int32 rechandle = KNI_GetParameterAsInt(2);
kal_int32 i;
kal_bool getsize = KAL_FALSE;
IEvent *pEvent;
kal_int32 rectype = R_NONE;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
KNI_StartHandles(1);
KNI_DeclareHandle(int_array);
KNI_GetParameterAsObject(3, int_array);
getsize = KNI_IsNullHandle(int_array);
KNI_EndHandles();
JPIM_DEBUG_1(TRACE_FUNC, FUNC_J2ME_EVENTIMPL_GETREPEATFIELDSN2, getsize);
if(rechandle == -1) // new item
{
if(getsize)
{
KNI_ReturnInt(0);
}
}
CHECK_ITEM_VALID(listtype, dbhandle, rechandle, (void **)(&pEvent), KNI_ReturnInt(-1));
if (getsize)
{
arraysize = 0;
FAILED_WITH_EXC(pEvent, get_RecurrenceType, (&rectype));
switch (rectype)
{
case R_NONE:
arraysize = 0;
break;
case R_DAILY:
repeatFieldsArray[2] = R_COUNT;
arraysize = 3;
break;
case R_DAYS:
repeatFieldsArray[2] = R_DAY_IN_WEEK;
repeatFieldsArray[3] = R_COUNT;
arraysize = 4;
break;
case R_WEEKLY:
repeatFieldsArray[2] = R_DAY_IN_WEEK;
repeatFieldsArray[3] = R_COUNT;
arraysize = 4;
break;
case R_MONTHLY:
repeatFieldsArray[2] = R_DAY_IN_MONTH;
repeatFieldsArray[3] = R_COUNT;
arraysize = 4;
break;
case R_YEARLY:
repeatFieldsArray[2] = R_MONTH_IN_YEAR;
repeatFieldsArray[3] = R_DAY_IN_MONTH;
repeatFieldsArray[4] = R_COUNT;
arraysize = 5;
break;
}
KNI_ReturnInt(arraysize);
}
KNI_StartHandles(1);
KNI_DeclareHandle(int_array);
KNI_GetParameterAsObject(3, int_array);
for (i = 0; i < arraysize; i++)
{
KNI_SetIntArrayElement(int_array, i, repeatFieldsArray[i]);
}
KNI_EndHandles();
arraysize = 0;
KNI_ReturnInt(0);
}
/*****************************************************************************
* FUNCTION
* Java_com_ibm_oti_pim_EventImpl_getRepeatIntN
* DESCRIPTION
* private native int getRepeatIntN(int handle, int rechandle, int field);
* PARAMETERS
* void
* RETURNS
*****************************************************************************/
KNIEXPORT KNI_RETURNTYPE_INT
Java_com_ibm_oti_pim_EventImpl_getRepeatIntN(void)
{
/*----------------------------------------------------------------*/
/* Local Variables
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -