2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
 
     4 * This component and the accompanying materials are made available
 
     5 * 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
 
     6 * which accompanies this distribution, and is available
 
     7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
 
     9 * Initial Contributors:
 
    10 * Nokia Corporation - initial contribution.
 
    14 * Description: Definition of Constants. This is part of remotemgmt_plat
 
    17 ///////////////////////////////////////////////////////////////////////////////
 
    22 ///////////////////////////////////////////////////////////////////////////////
 
    23 #ifndef __SYNCMLDEF_H__
 
    24 #define __SYNCMLDEF_H__
 
    29 	Maximum length of a transport property name.
 
    31 const TInt KSmlMaxTransportPropertyNameLen = 32;
 
    33 /** Profile ID typedef. */
 
    34 typedef TInt TSmlProfileId;
 
    35 /** Task ID typedef. */
 
    36 typedef TInt TSmlTaskId;
 
    37 /** Transport ID typedef. */
 
    38 typedef TInt TSmlTransportId;
 
    39 /** Connection ID typedef. */
 
    40 typedef TInt TSmlConnectionId;
 
    41 /** Data provider ID typedef. */
 
    42 typedef TInt TSmlDataProviderId;
 
    43 /** Profile creator ID typedef. */
 
    44 typedef TInt TSmlCreatorId;
 
    45 /** Job ID typedef. */
 
    46 typedef TInt TSmlJobId;
 
    49 	Invalid (null) identifier.
 
    51 const TInt KSmlNullId = 0;
 
    54 	Unused parameter from a session event
 
    56 const TInt32 KUnusedAdditionalData = -1;
 
    59 	Setting for action to take as a result of a SyncML push message, (e.g. a server-alerted synchronisation request).
 
    60 	Note that certain types of push message, (e.g. DevMan Bootstrap), will override this setting.
 
    62 enum TSmlServerAlertedAction
 
    64 	/** Allow the push message parser plugin to specify user interaction type. */
 
    65 	ESmlUseSANRequestedSetting,
 
    66 	/** Automatically run the synchronisation without user intervention. */
 
    68 	/** Prevent the synchronisation. */
 
    70 	/** Inform the user of the synchronisation. */
 
    72 	/** Get confirmation of the synchronisation from the user. */
 
    74 	/** Use the global user interaction type (only allowed for the profile setting) */
 
    79 	Flags for synchronisation types.
 
    85 	A normal sync type in which the client and the server exchange information about modified data in these devices. 
 
    86 	The client sends the modifications first.
 
    89 	/** One-way sync from server.
 
    91 	A sync type in which the client gets all modifications from the server, but the client does not send 
 
    92 	its modifications to the server. */
 
    94 	/** One-way sync from client.
 
    96 	A sync type in which the client sends its modifications to the server, but the server does not send 
 
    97 	its modifications back to the client. */
 
   101 	A form of two-way sync in which the client sends all its data to the server, and the server does 
 
   102 	the sync analysis for this data and the data in the server. The server may undertake a field by field analysis. */
 
   104 	/** Refresh sync from server.
 
   106 	A sync type in which the client exports all its data to the server. The server replaces all data in 
 
   107 	the target database with the data sent by the client. */
 
   108 	ESmlRefreshFromServer,
 
   109 	/** Refresh sync from client.
 
   111 	A sync type in which the client exports all its data to the server. The server replaces all data in 
 
   112 	the target database with the data sent by the client.*/
 
   113 	ESmlRefreshFromClient,
 
   121 	/** Data synchronisation. */
 
   123 	/** Device management. */
 
   131 enum TSmlProtocolVersion
 
   141 	Transport capabilities.
 
   143 enum TSmlTransportCap
 
   145 	/** Transport can listen for incoming connections. */
 
   147 	/** Transport can make outgoing connections. */
 
   152 	Flags specifying how background synchronisation results are displayed to the user.
 
   154 enum TSmlDisplayResult
 
   156 	/** Do not display results. */
 
   157 	ESmlDisplayNoResults,
 
   158 	/** Display all results. */
 
   159 	ESmlDisplayAllResults,
 
   160 	/** Display errors only. */
 
   161 	ESmlDisplayErrorsOnly,
 
   165 	Flags specifying how background synchronisation progress is displayed to the user.
 
   167 enum TSmlDisplayProgress
 
   169 	/** Never display the progress notifier. */
 
   170 	ESmlDisplayNoProgress,
 
   171 	/** Display progress notifier if a job is in progress, but only if no clients are observing the progress. */
 
   172 	ESmlDisplayUnObservedProgress,
 
   173 	/** Always display the progress notifier when a job is in progress. */
 
   174 	ESmlDisplayAllProgress,
 
   178 	Global settings supported by the RSyncMLSettings class.
 
   181 enum TSmlGlobalSetting
 
   184 		Specifies how users are notified of synchronisations completing.
 
   185 		Value is one of TSmlDisplayResult.
 
   187 	ESmlSettingDisplayBgResult,
 
   189 		Specifies whether progress should be displayed in a notifier.
 
   190 		Value is one of TSmlDisplayProgress.
 
   192 	ESmlSettingDisplayBgProgress,
 
   194 		Specifies the default action to take in response to a server alert.
 
   195 		Value is one of TSmlServerAlertedAction.
 
   197 	ESmlSettingDefaultSAAction,
 
   200 #endif // __SYNCMLDEF_H__