williamr@2: /* williamr@2: * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@2: * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: * which accompanies this distribution, and is available williamr@2: * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: Definition of Constants. This is part of remotemgmt_plat williamr@2: * williamr@2: */ williamr@2: /////////////////////////////////////////////////////////////////////////////// williamr@2: // SyncMLDef.h williamr@2: // williamr@2: // v09 williamr@2: // williamr@2: /////////////////////////////////////////////////////////////////////////////// williamr@2: #ifndef __SYNCMLDEF_H__ williamr@2: #define __SYNCMLDEF_H__ williamr@2: williamr@2: #include williamr@2: williamr@2: /** williamr@2: Maximum length of a transport property name. williamr@2: */ williamr@2: const TInt KSmlMaxTransportPropertyNameLen = 32; williamr@2: williamr@2: /** Profile ID typedef. */ williamr@2: typedef TInt TSmlProfileId; williamr@2: /** Task ID typedef. */ williamr@2: typedef TInt TSmlTaskId; williamr@2: /** Transport ID typedef. */ williamr@2: typedef TInt TSmlTransportId; williamr@2: /** Connection ID typedef. */ williamr@2: typedef TInt TSmlConnectionId; williamr@2: /** Data provider ID typedef. */ williamr@2: typedef TInt TSmlDataProviderId; williamr@2: /** Profile creator ID typedef. */ williamr@2: typedef TInt TSmlCreatorId; williamr@2: /** Job ID typedef. */ williamr@2: typedef TInt TSmlJobId; williamr@2: williamr@2: /** williamr@2: Invalid (null) identifier. williamr@2: */ williamr@2: const TInt KSmlNullId = 0; williamr@2: williamr@2: /** williamr@2: Unused parameter from a session event williamr@2: */ williamr@2: const TInt32 KUnusedAdditionalData = -1; williamr@2: williamr@2: /** williamr@2: Setting for action to take as a result of a SyncML push message, (e.g. a server-alerted synchronisation request). williamr@2: Note that certain types of push message, (e.g. DevMan Bootstrap), will override this setting. williamr@2: */ williamr@2: enum TSmlServerAlertedAction williamr@2: { williamr@2: /** Allow the push message parser plugin to specify user interaction type. */ williamr@2: ESmlUseSANRequestedSetting, williamr@2: /** Automatically run the synchronisation without user intervention. */ williamr@2: ESmlEnableSync, williamr@2: /** Prevent the synchronisation. */ williamr@2: ESmlDisableSync, williamr@2: /** Inform the user of the synchronisation. */ williamr@2: ESmlInformSync, williamr@2: /** Get confirmation of the synchronisation from the user. */ williamr@2: ESmlConfirmSync, williamr@2: /** Use the global user interaction type (only allowed for the profile setting) */ williamr@2: ESmlUseGlobalSetting, williamr@2: }; williamr@2: williamr@2: /** williamr@2: Flags for synchronisation types. williamr@2: */ williamr@2: enum TSmlSyncType williamr@2: { williamr@2: /** Two-way sync. williamr@2: williamr@2: A normal sync type in which the client and the server exchange information about modified data in these devices. williamr@2: The client sends the modifications first. williamr@2: */ williamr@2: ESmlTwoWay, williamr@2: /** One-way sync from server. williamr@2: williamr@2: A sync type in which the client gets all modifications from the server, but the client does not send williamr@2: its modifications to the server. */ williamr@2: ESmlOneWayFromServer, williamr@2: /** One-way sync from client. williamr@2: williamr@2: A sync type in which the client sends its modifications to the server, but the server does not send williamr@2: its modifications back to the client. */ williamr@2: ESmlOneWayFromClient, williamr@2: /** Slow sync. williamr@2: williamr@2: A form of two-way sync in which the client sends all its data to the server, and the server does williamr@2: the sync analysis for this data and the data in the server. The server may undertake a field by field analysis. */ williamr@2: ESmlSlowSync, williamr@2: /** Refresh sync from server. williamr@2: williamr@2: A sync type in which the client exports all its data to the server. The server replaces all data in williamr@2: the target database with the data sent by the client. */ williamr@2: ESmlRefreshFromServer, williamr@2: /** Refresh sync from client. williamr@2: williamr@2: A sync type in which the client exports all its data to the server. The server replaces all data in williamr@2: the target database with the data sent by the client.*/ williamr@2: ESmlRefreshFromClient, williamr@2: }; williamr@2: williamr@2: /** williamr@2: Protocol types. williamr@2: */ williamr@2: enum TSmlUsageType williamr@2: { williamr@2: /** Data synchronisation. */ williamr@2: ESmlDataSync, williamr@2: /** Device management. */ williamr@2: ESmlDevMan, williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: Protocol versions. williamr@2: */ williamr@2: enum TSmlProtocolVersion williamr@2: { williamr@2: /** Version 1.1.2 */ williamr@2: ESmlVersion1_1_2, williamr@2: /** Version 1.2 */ williamr@2: ESmlVersion1_2, williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: Transport capabilities. williamr@2: */ williamr@2: enum TSmlTransportCap williamr@2: { williamr@2: /** Transport can listen for incoming connections. */ williamr@2: ESmlCapCanListen, williamr@2: /** Transport can make outgoing connections. */ williamr@2: ESmlCapCanConnect, williamr@2: }; williamr@2: williamr@2: /** williamr@2: Flags specifying how background synchronisation results are displayed to the user. williamr@2: */ williamr@2: enum TSmlDisplayResult williamr@2: { williamr@2: /** Do not display results. */ williamr@2: ESmlDisplayNoResults, williamr@2: /** Display all results. */ williamr@2: ESmlDisplayAllResults, williamr@2: /** Display errors only. */ williamr@2: ESmlDisplayErrorsOnly, williamr@2: }; williamr@2: williamr@2: /** williamr@2: Flags specifying how background synchronisation progress is displayed to the user. williamr@2: */ williamr@2: enum TSmlDisplayProgress williamr@2: { williamr@2: /** Never display the progress notifier. */ williamr@2: ESmlDisplayNoProgress, williamr@2: /** Display progress notifier if a job is in progress, but only if no clients are observing the progress. */ williamr@2: ESmlDisplayUnObservedProgress, williamr@2: /** Always display the progress notifier when a job is in progress. */ williamr@2: ESmlDisplayAllProgress, williamr@2: }; williamr@2: williamr@2: /** williamr@2: Global settings supported by the RSyncMLSettings class. williamr@2: @see RSyncMLSettings williamr@2: */ williamr@2: enum TSmlGlobalSetting williamr@2: { williamr@2: /** williamr@2: Specifies how users are notified of synchronisations completing. williamr@2: Value is one of TSmlDisplayResult. williamr@2: */ williamr@2: ESmlSettingDisplayBgResult, williamr@2: /** williamr@2: Specifies whether progress should be displayed in a notifier. williamr@2: Value is one of TSmlDisplayProgress. williamr@2: */ williamr@2: ESmlSettingDisplayBgProgress, williamr@2: /** williamr@2: Specifies the default action to take in response to a server alert. williamr@2: Value is one of TSmlServerAlertedAction. williamr@2: */ williamr@2: ESmlSettingDefaultSAAction, williamr@2: }; williamr@2: williamr@2: #endif // __SYNCMLDEF_H__