📄 pim_list.c
字号:
* DESCRIPTION
* PARAMETERS
* categoryname [?]
* RETURNS
*****************************************************************************/
kal_int32 pim_getIndexOfCategory(kal_int32 dbhandle, kal_char *categoryname)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 result, i;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
JPIM_DEBUG_1(TRACE_FUNC, FUNC_J2ME_PIM_GETINDEXOFCATEGORY, -1000);
if (categoryname == NULL)
{
return 0;
}
if ((result = pim_getCategories(dbhandle)) != SUCCESS)
{
return 0;
}
for (i = 0; i < nCategory; i++)
{
if (app_ucs2_strcmp((kal_int8*)categories[i].group_name, (kal_int8*)categoryname) == 0)
{
JPIM_DEBUG_1(TRACE_FUNC, FUNC_J2ME_PIM_GETINDEXOFCATEGORY, i+1);
return i+1;
}
}
JPIM_DEBUG_1(TRACE_FUNC, FUNC_J2ME_PIM_GETINDEXOFCATEGORY, 0);
return 0;
}
/*****************************************************************************
* FUNCTION
* setCategoryByIndex
* DESCRIPTION
* PARAMETERS
* categoryname [?]
* newname [?]
* RETURNS
*****************************************************************************/
kal_int32 pim_renameCategory(kal_int32 dbhandle, kal_char *categoryname, kal_char *newname)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 result, index;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
JPIM_DEBUG(TRACE_FUNC, FUNC_J2ME_PIM_RENAMECATEGORY);
if (categoryname == NULL || newname == NULL)
{
return NULLP;
}
if ((result = pim_getCategories(dbhandle)) != SUCCESS)
{
return result;
}
index = pim_getIndexOfCategory(dbhandle, categoryname);
if (index <= 0)
{
return PIM;
}
app_ucs2_strncpy((kal_int8*)categories[index].group_name, (kal_int8*)newname, MAX_PB_NAME_LENGTH);
result = pim_tsfErrCode(CONTACT_LIST, setGroupInfo(categories[index].group_id , &categories[index]));
if (result != SUCCESS)
{
return result;
}
/* let Category refresh next time */
nCategory = ctdbh = -1;
return SUCCESS;
}
/*****************************************************************************
* FUNCTION
* getIndexOfCategory
* DESCRIPTION
* PARAMETERS
* categoryname [?]
* RETURNS
*****************************************************************************/
kal_wchar* pim_getCategoryByIndex(kal_int32 dbhandle, kal_int32 index)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
JPIM_DEBUG(TRACE_FUNC, FUNC_J2ME_PIM_GETCATEGORYBYINDEX);
if ((result = pim_getCategories(dbhandle)) != SUCCESS)
{
return NULL;
}
if(index <= 0 || index > nCategory)
{
return NULL;
}
return (kal_wchar*)categories[index-1].group_name;
}
/*****************************************************************************
* FUNCTION
* Java_com_ibm_oti_pim_PIMListImpl_addCategoryN
* DESCRIPTION
* private native void addCategoryN(int listType, int handle, String name) throws PIMException;
* PARAMETERS
* void
* RETURNS
*****************************************************************************/
KNIEXPORT KNI_RETURNTYPE_VOID
Java_com_ibm_oti_pim_PIMListImpl_addCategoryN(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
PIM_THROW(PIM, "Can not add new category", FEATURE_NOT_SUPPORTED);
KNI_ReturnVoid();
}
/*****************************************************************************
* FUNCTION
* Java_com_ibm_oti_pim_PIMListImpl_closePIMListN
* DESCRIPTION
* private native void closePIMListN(int listType, int handle) throws PIMException;
* PARAMETERS
* void
* RETURNS
*****************************************************************************/
KNIEXPORT KNI_RETURNTYPE_VOID
Java_com_ibm_oti_pim_PIMListImpl_closePIMListN(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
// kal_int32 listtype = KNI_GetParameterAsInt(1);
// kal_int32 dbhandle = KNI_GetParameterAsInt(2);
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
JPIM_DEBUG(TRACE_FUNC, FUNC_J2ME_PIMLISTIMPL_CLOSEPIMLISTN);
// TODO:
KNI_ReturnVoid();
}
/*****************************************************************************
* FUNCTION
* Java_com_ibm_oti_pim_PIMListImpl_deleteCategoryN
* DESCRIPTION
* private native void deleteCategoryN(int listType, int handle, String name, boolean deleteUnassignedItems) throws PIMException;
* PARAMETERS
* void
* RETURNS
*****************************************************************************/
KNIEXPORT KNI_RETURNTYPE_VOID
Java_com_ibm_oti_pim_PIMListImpl_deleteCategoryN(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
PIM_THROW(PIM, "Can not delete category", FEATURE_NOT_SUPPORTED);
KNI_ReturnVoid();
}
/*****************************************************************************
* FUNCTION
* Java_com_ibm_oti_pim_PIMListImpl_extendedStringArraySizeN
* DESCRIPTION
* private static native int extendedStringArraySizeN(int listType, int field);
* PARAMETERS
* void
* RETURNS
*****************************************************************************/
KNIEXPORT KNI_RETURNTYPE_INT
Java_com_ibm_oti_pim_PIMListImpl_extendedStringArraySizeN(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
KNI_ReturnInt(0);
}
/*****************************************************************************
* FUNCTION
* Java_com_ibm_oti_pim_PIMListImpl_getAllSupportedAttributesN2
* DESCRIPTION
* private native int getAllSupportedAttributesN2(int listType, int handle,int[] ret);
* PARAMETERS
* void
* RETURNS
*****************************************************************************/
KNIEXPORT KNI_RETURNTYPE_INT
Java_com_ibm_oti_pim_PIMListImpl_getAllSupportedAttributesN2(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 listtype = KNI_GetParameterAsInt(1);
kal_int32 dbhandle = KNI_GetParameterAsInt(2);
kal_int32 getsize;
kal_int32 result = 0;
kal_int32 i;
/*----------------------------------------------------------------*/
/* 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_PIMLISTIMPL_GETALLSUPPORTEDATTRIBUTESN2, getsize);
CHECK_ATTR_RELOAD(listtype, dbhandle, KNI_ReturnInt(0));
if (getsize)
{
switch (listtype)
{
case CONTACT_LIST:
result = NUM_CONTACT_ATTR_FIELDS;
break;
case EVENT_LIST:
result = 0;
break;
case TODO_LIST:
PIM_THROW(PIM, "", FEATURE_NOT_SUPPORTED);
break;
default:
PIM_THROW(ILLARG, "", GENERAL_ERROR);
}
JPIM_DEBUG_1(TRACE_FUNC, JPIM_LOG_INTEGER , result );
KNI_ReturnInt(result);
}
switch (listtype)
{
case CONTACT_LIST:
KNI_StartHandles(1);
KNI_DeclareHandle(int_array);
KNI_GetParameterAsObject(3, int_array);
for( i = NUM_CONTACT_ATTR_FIELDS - 1 ;i >= 0; i--)
{
JPIM_DEBUG_1(TRACE_FUNC, JPIM_LOG_INTEGER , contactAttrs[i] );
KNI_SetIntArrayElement(int_array, i, contactAttrs[i]);
}
KNI_EndHandles();
break;
case EVENT_LIST:
break;
case TODO_LIST:
PIM_THROW(PIM, "", FEATURE_NOT_SUPPORTED);
break;
default:
PIM_THROW(ILLARG, "", GENERAL_ERROR);
}
KNI_ReturnInt(0);
}
/*****************************************************************************
* FUNCTION
* Java_com_ibm_oti_pim_PIMListImpl_getArrayElementLabelN
* DESCRIPTION
* private native String getArrayElementLabelN(int listType, int handle, int field, int arrayElement);
* PARAMETERS
* void
* RETURNS
*****************************************************************************/
KNIEXPORT KNI_RETURNTYPE_OBJECT
Java_com_ibm_oti_pim_PIMListImpl_getArrayElementLabelN(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 listtype = KNI_GetParameterAsInt(1);
kal_int32 dbhandle = KNI_GetParameterAsInt(2);
kal_int32 field = KNI_GetParameterAsInt(3);
kal_int32 arrayElement = KNI_GetParameterAsInt(4);
kal_wchar *label = NULL;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
CHECK_FIELD_SUPPORT(listtype, dbhandle, field,
{
KNI_StartHandles(1);
KNI_DeclareHandle(string);
KNI_ReleaseHandle(string);
KNI_EndHandlesAndReturnObject(string);
});
switch (listtype)
{
case CONTACT_LIST:
/* dangerous here, do not transfer field to JPIM field macro */
label = jpim_phb_getFieldEleLabel(field, arrayElement);
break;
case EVENT_LIST:
break;
case TODO_LIST:
break;
default:
break;
}
KNI_StartHandles(1);
KNI_DeclareHandle(string);
if( label )
{
KNI_NewString((const jchar*)label, app_ucs2_strlen((kal_int8*)label), string);
}
else
{
KNI_ReleaseHandle(string);
}
KNI_EndHandlesAndReturnObject(string);
}
/*****************************************************************************
* FUNCTION
* Java_com_ibm_oti_pim_PIMListImpl_getAttributeLabelN
* DESCRIPTION
* private native String getAttributeLabelN(int listType, int handle, int attribute);
* PARAMETERS
* void
* RETURNS
*****************************************************************************/
KNIEXPORT KNI_RETURNTYPE_OBJECT
Java_com_ibm_oti_pim_PIMListImpl_getAttributeLabelN(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 listtype = KNI_GetParameterAsInt(1);
// kal_int32 dbhandle = KNI_GetParameterAsInt(2);
kal_int32 attribute = KNI_GetParameterAsInt(3);
kal_wchar *label = NULL;
/*----------------------------------------------------------------*/
/* Code Body */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -