📄 pim_main.c
字号:
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2005
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*****************************************************************************
*
* Filename:
* ---------
*
*
* Project:
* --------
* MAUI
*
* Description:
* ------------
*
*
* Author:
* -------
* Eric Chen (mtk01254)
*
*============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* $Log$
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
* removed!
* removed!
*
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
#include "j2me_custom_option.h"
#if defined(SUPPORT_JSR_75_PIM)
#include <kni.h>
#include <global.h>
#include <defaultLCDUI.h>
#include <nativeGUI.h>
#include "kal_release.h"
#include "stack_common.h"
#include "stack_msgs.h"
#include "task_main_func.h"
#include "app_ltlcom.h"
#include "Conversions.h"
#include "j2me_trace.h"
#include "jpim_interface.h"
#include "pim.h"
#include "app_qp.h"
pim_context_struct pim_cntx;
#define MAX_SUPPORT_FIELD_N 8
static kal_int32 cdbh = -1, edbh = -1, nContact= -1, nEvent= -1, nTodo= -1;
kal_int32 contactFields[MAX_SUPPORT_FIELD_N];
kal_int32 eventFields[MAX_SUPPORT_FIELD_N];
kal_int32 todoFields[MAX_SUPPORT_FIELD_N];
static kal_int32 cadbh = -1, caf = -1, nContactAttr = -1;
kal_int32 contactAttrs[MAX_SUPPORT_FIELD_N];
static kal_int32 _detail_error_code = GENERAL_ERROR;
/*****************************************************************************
* FUNCTION
*
* DESCRIPTION
*
* PARAMETERS
*
* RETURNS
* void
*****************************************************************************/
kal_int32 pim_getContactAttr(kal_int32 dbhandle, kal_int32 field)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 i, result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if( cadbh != dbhandle || caf != field)
{
JPIM_DEBUG_1(TRACE_FUNC, FUNC_J2ME_PIM_GETCONTACTFIELD,cdbh, caf, dbhandle, field);
cadbh = dbhandle;
caf = field;
/* TODO: transfer field */
nContactAttr = MAX_SUPPORT_FIELD_N;
result = pim_tsfErrCode(CONTACT_LIST, getContactAttr(dbhandle, field, &nContactAttr, contactAttrs));
if(result != SUCCESS)
{
cadbh = caf = nContactAttr = -1;
return result;
}
JPIM_DEBUG_1(TRACE_FUNC, JPIM_LOG_INTEGER,nContactAttr);
for( i = 0 ; i < nContactAttr; i++)
{
JPIM_DEBUG_1(TRACE_FUNC, JPIM_LOG_INTEGER,contactAttrs[i]);
contactAttrs[i] = pim_tsfFieldCode(CONTACT_ATTR, contactAttrs[i]);
}
}
return SUCCESS;
}
/*****************************************************************************
* FUNCTION
*
* DESCRIPTION
*
* PARAMETERS
*
* RETURNS
* void
*****************************************************************************/
kal_int32 pim_getContactField(kal_int32 dbhandle)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 i, result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if( cdbh != dbhandle)
{
JPIM_DEBUG_1(TRACE_FUNC, FUNC_J2ME_PIM_GETCONTACTFIELD,cdbh, dbhandle);
cdbh = dbhandle;
nContact = MAX_SUPPORT_FIELD_N;
result = pim_tsfErrCode(CONTACT_LIST, getContactField(dbhandle, &nContact, contactFields));
if(result != SUCCESS)
{
cdbh = nContact = -1;
return result;
}
JPIM_DEBUG_1(TRACE_FUNC, JPIM_LOG_INTEGER,nContact);
for( i = 0 ; i < nContact; i++)
{
JPIM_DEBUG_1(TRACE_FUNC, JPIM_LOG_INTEGER,contactFields[i]);
contactFields[i] = pim_tsfFieldCode(CONTACT_LIST, contactFields[i]);
}
}
return SUCCESS;
}
/*****************************************************************************
* FUNCTION
*
* DESCRIPTION
*
* PARAMETERS
*
* RETURNS
* void
*****************************************************************************/
kal_int32 pim_getEventField(kal_int32 dbhandle)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 i, j, result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if( edbh != dbhandle)
{
JPIM_DEBUG_1(TRACE_FUNC, FUNC_J2ME_PIM_GETEVENTFIELD,edbh, dbhandle);
edbh = dbhandle;
nEvent = MAX_SUPPORT_FIELD_N;
result = pim_tsfErrCode(EVENT_LIST, getEventField(dbhandle, &nEvent, eventFields));
if(result != SUCCESS)
{
edbh = nEvent = -1;
return result;
}
JPIM_DEBUG_1(TRACE_FUNC, JPIM_LOG_INTEGER,nEvent);
for( i = 0, j = 0 ; i < nEvent; i++)
{
JPIM_DEBUG_1(TRACE_FUNC, JPIM_LOG_INTEGER, eventFields[i]);
eventFields[j] = pim_tsfFieldCode(EVENT_LIST, eventFields[i]);
if( eventFields[j] != -1 )
{
j++;
}
}
nEvent = j;
}
return SUCCESS;
}
/*****************************************************************************
* FUNCTION
*
* DESCRIPTION
*
* PARAMETERS
*
* RETURNS
* void
*****************************************************************************/
kal_int32 pim_getNContact(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
return nContact;
}
/*****************************************************************************
* FUNCTION
*
* DESCRIPTION
*
* PARAMETERS
*
* RETURNS
* void
*****************************************************************************/
kal_int32 pim_getNEvent(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
return nEvent;
}
/*****************************************************************************
* FUNCTION
*
* DESCRIPTION
*
* PARAMETERS
*
* RETURNS
* void
*****************************************************************************/
kal_int32 pim_getNTodo(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
return nTodo;
}
/*****************************************************************************
* FUNCTION
*
* DESCRIPTION
*
* PARAMETERS
*
* RETURNS
* void
*****************************************************************************/
kal_int32 pim_getNContactAttr(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
return nContactAttr;
}
/*****************************************************************************
* FUNCTION
* pim_setDetailError
* DESCRIPTION
*
* PARAMETERS
* error [IN]
* RETURNS
* void
*****************************************************************************/
void pim_setDetailError(kal_int32 error)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
_detail_error_code = error;
}
/*****************************************************************************
* FUNCTION
* pim_getDetailError
* DESCRIPTION
*
* PARAMETERS
* void
* RETURNS
*
*****************************************************************************/
kal_int32 pim_getDetailError(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 old = _detail_error_code;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -