📄 jpim_eventdb.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!
*
*------------------------------------------------------------------------------
* 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 "kal_release.h"
#include "stack_common.h"
#include "stack_msgs.h"
#include "task_main_func.h"
#include "app_ltlcom.h"
#include "j2me_trace.h"
#include "j2me_custom_option.h"
#include "jpim_interface.h"
#include "jpim_internal.h"
/*************************************************************************
* Function Definition
*************************************************************************/
extern kal_eventgrpid J2ME_pim_event_group;
typedef enum
{
JPIM_EVTDB_STATE_IDLE,
JPIM_EVTDB_STATE_GET_COUNT,
JPIM_EVTDB_STATE_GET_ENTRY,
JPIM_EVTDB_STATE_APPEND_ENTRY,
JPIM_EVTDB_STATE_UPDATE_ENTRY,
JPIM_EVTDB_STATE_DELETE_ENTRY
} jpim_evtdb_state_enum;
static kal_int32 jpim_evtdb_count = 0;
static kal_int32 jpim_evtdb_result = 0;
static kal_int32 jpim_evtdb_index = -1;
static kal_int32 jpim_evtdb_handle = 0xFFFF;
static jpim_evtdb_state_enum jpim_evtdb_state = JPIM_EVTDB_STATE_IDLE;
/*****************************************************************************
* FUNCTION
* jpim_evtdb_getSupportRepeat
* DESCRIPTION
*
* PARAMETERS
* void
* RETURNS
*
*****************************************************************************/
kal_uint8 jpim_evtdb_transfer_tdl_sort(kal_uint8 sort)
{
switch(sort)
{
case JPIM_EVTDB_NO_SORT: return MMI_EVTDB_NO_SORT;
case JPIM_EVTDB_SORT_BY_TIME: return MMI_EVTDB_SORT_BY_TIME;
default:
ASSERT(0);
return MMI_EVTDB_SORT_BY_TIME;
}
}
/*****************************************************************************
* FUNCTION
* jpim_evtdb_getSupportRepeat
* DESCRIPTION
*
* PARAMETERS
* void
* RETURNS
*
*****************************************************************************/
kal_uint8 jpim_evtdb_transfer_tdl_db(kal_uint8 db)
{
switch(db)
{
#ifdef JSR_75_PIM_EXTRA_TODO
case JPIM_EVTDB_REMINDER: return MMI_VCLNDR_DB_REMINDER;
case JPIM_EVTDB_MEETING: return MMI_VCLNDR_DB_MEETING;
case JPIM_EVTDB_COURSE: return MMI_VCLNDR_DB_COURSE;
case JPIM_EVTDB_DATE: return MMI_VCLNDR_DB_DATE;
case JPIM_EVTDB_CALL: return MMI_VCLNDR_DB_CALL;
case JPIM_EVTDB_ANNIVERSARY: return MMI_VCLNDR_DB_ANNIVERSARY;
#endif
case JPIM_EVTDB_ALL: return MMI_VCLNDR_DB_ALL;
default:
ASSERT(0);
return MMI_VCLNDR_DB_ALL;
}
}
/*****************************************************************************
* FUNCTION
* jpim_evtdb_getSupportRepeat
* DESCRIPTION
* This function retriveds all supported repeat type
* PARAMETERS
* type [IN] jpim_evtdb_db_enum
* size [IN/OUT]
* repeat [OUT]
* RETURNS
* jpim_error_code_enum
*****************************************************************************/
kal_int32 jpim_evtdb_getSupportRepeat(kal_uint8 type, kal_int32* size, kal_int32* repeat)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
const static kal_int32 m[] = { JPIM_R_FREQUENCY, JPIM_R_DAY_IN_MONTH,
JPIM_R_DAY_IN_WEEK, JPIM_R_DAY_IN_YEAR};
const static kal_int32 n = sizeof(m)/sizeof(kal_int32);
kal_int32 i;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if( *size < n )
{
*size = n;
return JPIM_SIZE_TOO_SMALL;
}
*size = n;
for( i = 0 ;i < n ;i++ )
{
repeat[i] = m[i];
}
return JPIM_SUCCESS;
}
/*****************************************************************************
* FUNCTION
* jpim_evtdb_getSupportField
* DESCRIPTION
* This function retriveds all supported filed in event database.
* PARAMETERS
* type [IN] jpim_evtdb_db_enum
* size [IN/OUT]
* field [OUT]
* RETURNS
* jpim_error_code_enum
*****************************************************************************/
kal_int32 jpim_evtdb_getSupportField(kal_uint8 type,kal_int32* size, kal_int32* field)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
const static kal_int32 m[] = {
JPIM_E_ALARM,
JPIM_E_END,
JPIM_E_START,
JPIM_E_SUMMARY,
#ifdef JSR_75_PIM_EXTRA_TODO
JPIM_E_LOCATION,
JPIM_E_PRIORITY
#endif
};
const static kal_int32 n = sizeof(m)/sizeof(kal_int32);
kal_int32 i;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if( *size < n )
{
*size = n;
return JPIM_SIZE_TOO_SMALL;
}
*size = n;
for(i = 0; i < n ;i++)
{
field[i] = m[i];
}
return 0;
}
/*****************************************************************************
* FUNCTION
* jpim_evtdb_getIndexByHandle
* DESCRIPTION
* This function transfer handle to index by specific sort type and database type.
* PARAMETERS
* sort_type [IN] jpim_evtdb_sort_enum
* db_type [IN] jpim_evtdb_db_enum
* hanle [IN]
* RETURNS
* -1: error
*****************************************************************************/
kal_int32 jpim_evtdb_getIndexByHandle(kal_uint8 sort_type,kal_uint8 db_type, kal_uint16 handle)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
return mmi_tdl_pim_get_sorted_index(
handle,
jpim_evtdb_transfer_tdl_sort(sort_type),
jpim_evtdb_transfer_tdl_db(db_type));
}
/*****************************************************************************
* FUNCTION
* jpim_evtdb_getHandleByIndex
* DESCRIPTION
* This function transfter index to handle.
* PARAMETERS
* sort_type [IN] jpim_evtdb_sort_enum
* db_type [IN] jpim_evtdb_db_enum
* index
* RETURNS
* -1: error
*****************************************************************************/
kal_int32 jpim_evtdb_getHandleByIndex(kal_uint8 sort_type,kal_uint8 db_type, kal_uint16 index)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
return mmi_tdl_pim_get_handle(
index,
jpim_evtdb_transfer_tdl_sort(sort_type),
jpim_evtdb_transfer_tdl_db(db_type));
}
/*****************************************************************************
* FUNCTION
* jpim_evtdb_get_name
* DESCRIPTION
* This function is for application to get the name of event database.
* PARAMETERS
* db_type [IN] jpim_evtdb_db_enum
* RETURNS
* return null when error.
*****************************************************************************/
kal_wchar *jpim_evtdb_getName(kal_uint8 db_type)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
JPIM_DEBUG(TRACE_GROUP_2, JPIM_EVTDB_GET_NAME);
switch(db_type)
{
#ifdef JSR_75_PIM_EXTRA_TODO
case JPIM_EVTDB_REMINDER: return (kal_wchar*)GetString(STR_TODO_REMINDER);
case JPIM_EVTDB_MEETING: return (kal_wchar*)GetString(STR_TODO_MEETING);
case JPIM_EVTDB_COURSE: return (kal_wchar*)GetString(STR_TODO_COURSE);
case JPIM_EVTDB_DATE: return (kal_wchar*)GetString(STR_TODO_DATE);
case JPIM_EVTDB_CALL: return (kal_wchar*)GetString(STR_TODO_CALL);
case JPIM_EVTDB_ANNIVERSARY: return (kal_wchar*)GetString(STR_TODO_ANNIVERSARY);
#endif
case JPIM_EVTDB_ALL: return (kal_wchar*)L"Event List";
default:
ASSERT(0);
return NULL;
}
}
/*****************************************************************************
* FUNCTION
* jpim_evtdb_getFieldLabel
* DESCRIPTION
* This function retrieves the label of each field.
* PARAMETERS
* field [IN]
* RETURNS
* return null when error
*****************************************************************************/
kal_wchar *jpim_evtdb_getFieldLabel(kal_int32 field)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
JPIM_DEBUG_1(TRACE_GROUP_2, JPIM_EVTDB_GETFIELDLABEL, field);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -