sl@0: // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #include sl@0: #include sl@0: sl@0: #include "../LogWrap/inc/LOGWRAP.RH" sl@0: #include "../LogWrap/inc/LOGWRAP.HRH" sl@0: #include "../LogWrap/inc/LOGFILTERANDEVENTCONSTANTS.HRH" sl@0: sl@0: #include "logwrap.rls" sl@0: sl@0: // Initial configuration sl@0: RESOURCE CONFIG r_log_initial_config sl@0: { sl@0: size = 1000; // Maximum number of events sl@0: recent = 20; // Maximum size of recent lists sl@0: age = 2592000; // 30 days sl@0: } sl@0: sl@0: RESOURCE ARRAY r_log_initial_events sl@0: { sl@0: items = sl@0: { sl@0: ETYPE { uid = KLogCallEventType; description = LOG_CALL_EVENT_TYPE; }, sl@0: ETYPE { uid = KLogDataEventType; description = LOG_DATA_EVENT_TYPE; }, sl@0: ETYPE { uid = KLogFaxEventType; description = LOG_FAX_EVENT_TYPE; }, sl@0: ETYPE { uid = KLogShortMessageEventType; description = LOG_SHORT_MESSAGE_EVENT_TYPE; }, sl@0: ETYPE { uid = KLogTaskSchedulerEventType; description = LOG_TASK_SCHEDULER_EVENT_TYPE; }, sl@0: ETYPE { uid = KLogPacketDataEventType; description = LOG_PACKET_DATA_EVENT_TYPE; }, sl@0: sl@0: sl@0: ETYPE { uid = KLogLbsSelfLocateEventType; description = LOG_LBS_SELF_LOCATE_EVENT_TYPE; }, sl@0: ETYPE { uid = KLogLbsExternalLocateEventType; description = LOG_LBS_EXTERNAL_LOCATE_EVENT_TYPE; }, sl@0: ETYPE { uid = KLogLbsTransmitLocationEventType; description = LOG_LBS_TRANSMIT_LOCATION_EVENT_TYPE; }, sl@0: ETYPE { uid = KLogLbsNetworkLocateEventType; description = LOG_LBS_NETWORK_LOCATE_EVENT_TYPE; }, sl@0: ETYPE { uid = KLogLbsAssistanceDataEventType; description = LOG_LBS_ASSISTANCE_DATA_EVENT_TYPE; } sl@0: sl@0: }; sl@0: } sl@0: sl@0: sl@0: sl@0: RESOURCE ARRAY r_log_security sl@0: // sl@0: // [See logwrap.rh for the definitions of SECURITY and CAPABILITY.] sl@0: // sl@0: // This structure defines settings for platform security in the Log engine. sl@0: // All event types defined above in 'r_log_initial_events' need to be policed. sl@0: // The server must always determine whether a client thread has the required sl@0: // capability to read/write a log event(s) of a built-in type. Each operation sl@0: // may have from one to seven capabilities defined for it. All operations on sl@0: // built in types _MUST_ have an associated security policy defined here. If no sl@0: // security is required, then use 'cap=ECapability_None'. The CAPABILITY values sl@0: // defined here will provide constructor arguments for TSecurityPolicy objects. sl@0: // The maximum number of CAPABILITY(s) for each read or write operation is 7. sl@0: // ( a read_caps or a write_caps { contains <= 7 CAPABILITY{} statements } ) sl@0: // Note that SID-based security isn't supported in the Log Engine. sl@0: // sl@0: { sl@0: items = sl@0: { sl@0: SECURITY sl@0: { sl@0: uid = KLogCallEventType; sl@0: read_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityReadUserData; } sl@0: }; sl@0: write_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityWriteUserData; } sl@0: }; sl@0: }, sl@0: SECURITY sl@0: { sl@0: uid=KLogDataEventType; sl@0: read_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityReadUserData; } sl@0: }; sl@0: write_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityWriteUserData; } sl@0: }; sl@0: }, sl@0: SECURITY sl@0: { sl@0: uid=KLogFaxEventType; sl@0: read_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityReadUserData; } sl@0: }; sl@0: write_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityWriteUserData; } sl@0: }; sl@0: }, sl@0: SECURITY sl@0: { sl@0: uid=KLogShortMessageEventType; sl@0: read_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityReadUserData; } sl@0: }; sl@0: write_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityWriteUserData; } sl@0: }; sl@0: }, sl@0: SECURITY sl@0: { sl@0: uid=KLogTaskSchedulerEventType; sl@0: read_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityReadUserData; } sl@0: }; sl@0: write_caps= sl@0: { sl@0: CAPABILITY { cap=ECapability_None; } sl@0: }; sl@0: }, sl@0: SECURITY sl@0: { sl@0: uid=KLogPacketDataEventType; sl@0: read_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityReadUserData; } sl@0: }; sl@0: write_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityWriteUserData; } sl@0: }; sl@0: }, sl@0: SECURITY sl@0: { sl@0: uid=KLogLbsSelfLocateEventType; sl@0: read_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityReadDeviceData; } sl@0: }; sl@0: write_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityWriteDeviceData; } sl@0: }; sl@0: }, sl@0: SECURITY sl@0: { sl@0: uid=KLogLbsExternalLocateEventType; sl@0: read_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityReadDeviceData; } sl@0: }; sl@0: write_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityWriteDeviceData; } sl@0: }; sl@0: }, sl@0: SECURITY sl@0: { sl@0: uid=KLogLbsTransmitLocationEventType; sl@0: read_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityReadDeviceData; } sl@0: }; sl@0: write_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityWriteDeviceData; } sl@0: }; sl@0: }, sl@0: SECURITY sl@0: { sl@0: uid=KLogLbsNetworkLocateEventType; sl@0: read_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityReadDeviceData; } sl@0: }; sl@0: write_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityWriteDeviceData; } sl@0: }; sl@0: }, sl@0: SECURITY sl@0: { sl@0: uid=KLogLbsAssistanceDataEventType; sl@0: read_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityReadDeviceData; } sl@0: }; sl@0: write_caps= sl@0: { sl@0: CAPABILITY { cap=ECapabilityWriteDeviceData; } sl@0: }; sl@0: } sl@0: }; sl@0: } sl@0: sl@0: sl@0: // Index entries sl@0: RESOURCE ARRAY r_log_indexes sl@0: { sl@0: items = sl@0: { sl@0: INDEX sl@0: { sl@0: name = "Index1"; // do not translate sl@0: table = "Event"; // do not translate sl@0: keys = sl@0: { sl@0: KEY { col = "Id"; } // do not translate sl@0: }; sl@0: }, sl@0: INDEX sl@0: { sl@0: name = "Index2"; // do not translate sl@0: table = "Event"; // do not translate sl@0: keys = sl@0: { sl@0: KEY { col = "ETime"; } // do not translate sl@0: }; sl@0: }, sl@0: INDEX sl@0: { sl@0: name = "Index3"; // do not translate sl@0: table = "String"; // do not translate sl@0: keys = sl@0: { sl@0: KEY { col = "Id"; } // do not translate sl@0: }; sl@0: } sl@0: }; sl@0: } sl@0: sl@0: // Recent list setup sl@0: RESOURCE ARRAY r_log_recent sl@0: { sl@0: items = sl@0: { sl@0: RECENT sl@0: { sl@0: id = KLogRecentIncomingCalls; sl@0: duplicate = ELogRemotePartyField|ELogContactField|ELogNumberField; sl@0: conditions = sl@0: { sl@0: MATCH { field = ELogEventTypeField; value = KLogCallEventType; }, sl@0: MATCH { field = ELogDirectionField; string = LOG_DIR_IN; }, sl@0: MATCH { field = ELogDirectionField; string = LOG_DIR_IN_ALT; } sl@0: }; sl@0: }, sl@0: RECENT sl@0: { sl@0: id = KLogRecentOutgoingCalls; sl@0: duplicate = ELogRemotePartyField|ELogContactField|ELogNumberField; sl@0: conditions = sl@0: { sl@0: MATCH { field = ELogEventTypeField; value = KLogCallEventType; }, sl@0: MATCH { field = ELogDirectionField; string = LOG_DIR_OUT; }, sl@0: MATCH { field = ELogDirectionField; string = LOG_DIR_OUT_ALT; } sl@0: }; sl@0: }, sl@0: RECENT sl@0: { sl@0: id = KLogRecentMissedCalls; sl@0: duplicate = ELogRemotePartyField|ELogContactField|ELogNumberField; sl@0: conditions = sl@0: { sl@0: MATCH { field = ELogEventTypeField; value = KLogCallEventType; }, sl@0: MATCH { field = ELogDirectionField; string = LOG_DIR_MISSED; }, sl@0: MATCH { field = ELogDirectionField; string = LOG_DIR_MISSED_ALT; } sl@0: }; sl@0: } sl@0: }; sl@0: } sl@0: sl@0: sl@0: // Direction sl@0: RESOURCE LBUF r_log_dir_in { txt = LOG_DIR_IN; } sl@0: RESOURCE LBUF r_log_dir_out { txt = LOG_DIR_OUT; } sl@0: RESOURCE LBUF r_log_dir_in_alt { txt = LOG_DIR_IN_ALT; } sl@0: RESOURCE LBUF r_log_dir_out_alt { txt = LOG_DIR_OUT_ALT; } sl@0: RESOURCE LBUF r_log_dir_fetched { txt = LOG_DIR_FETCHED; } sl@0: RESOURCE LBUF r_log_dir_missed { txt = LOG_DIR_MISSED; } sl@0: RESOURCE LBUF r_log_dir_missed_alt { txt = LOG_DIR_MISSED_ALT; } sl@0: sl@0: sl@0: // Delivery sl@0: RESOURCE LBUF r_log_del_pending { txt = LOG_DEL_PENDING; } sl@0: RESOURCE LBUF r_log_del_sent { txt = LOG_DEL_SENT; } sl@0: RESOURCE LBUF r_log_del_failed { txt = LOG_DEL_FAILED; } sl@0: RESOURCE LBUF r_log_del_none { txt = LOG_DEL_NONE; } sl@0: RESOURCE LBUF r_log_del_done { txt = LOG_DEL_DONE; } sl@0: RESOURCE LBUF r_log_del_not_sent { txt = LOG_DEL_NOT_SENT; } sl@0: RESOURCE LBUF r_log_del_scheduled { txt = LOG_DEL_SCHEDULED; } sl@0: sl@0: // Other sl@0: RESOURCE LBUF r_log_remote_unknown { txt = LOG_REMOTE_UNKNOWN; } sl@0: RESOURCE LBUF r_log_remote_multiple { txt = LOG_REMOTE_MULTIPLE; } sl@0: RESOURCE LBUF r_log_subject_none { txt = LOG_SUBJECT_NONE; } sl@0: RESOURCE LBUF r_log_subject_data_message { txt = LOG_SUBJECT_DATA_MESSAGE; } sl@0: sl@0: // Connection sl@0: RESOURCE LBUF r_log_con_connected { txt = LOG_CON_CONNECTED; } sl@0: RESOURCE LBUF r_log_con_connecting { txt = LOG_CON_CONNECTING; } sl@0: RESOURCE LBUF r_log_con_disconnecting { txt = LOG_CON_DISCONNECTING; } sl@0: RESOURCE LBUF r_log_con_disconnected{ txt = LOG_CON_DISCONNECTED; } sl@0: RESOURCE LBUF r_log_con_suspended{ txt = LOG_CON_SUSPENDED; } sl@0: sl@0: // Delivery sl@0: RESOURCE LBUF r_log_del_notified { txt = LOG_DEL_NOTIFIED; } sl@0: RESOURCE LBUF r_log_del_expired { txt = LOG_DEL_EXPIRED; }