⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jpim_eventdb.c

📁 java 1.1 gemini 08_16
💻 C
📖 第 1 页 / 共 2 页
字号:
/*****************************************************************************
*  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 + -