epoc32/include/SyncMLDef.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     1 /*
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
     3 * All rights reserved.
     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".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description: Definition of Constants. This is part of remotemgmt_plat
    15 *
    16 */
    17 ///////////////////////////////////////////////////////////////////////////////
    18 // SyncMLDef.h
    19 //
    20 // v09
    21 //
    22 ///////////////////////////////////////////////////////////////////////////////
    23 #ifndef __SYNCMLDEF_H__
    24 #define __SYNCMLDEF_H__
    25 
    26 #include <e32std.h>
    27 
    28 /**
    29 	Maximum length of a transport property name.
    30 */
    31 const TInt KSmlMaxTransportPropertyNameLen = 32;
    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;
    47 
    48 /**
    49 	Invalid (null) identifier.
    50 */
    51 const TInt KSmlNullId = 0;
    52 
    53 /**
    54 	Unused parameter from a session event
    55 */
    56 const TInt32 KUnusedAdditionalData = -1;
    57 
    58 /**
    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.
    61 */
    62 enum TSmlServerAlertedAction
    63 	{
    64 	/** Allow the push message parser plugin to specify user interaction type. */
    65 	ESmlUseSANRequestedSetting,
    66 	/** Automatically run the synchronisation without user intervention. */
    67 	ESmlEnableSync,
    68 	/** Prevent the synchronisation. */
    69 	ESmlDisableSync,
    70 	/** Inform the user of the synchronisation. */
    71 	ESmlInformSync,
    72 	/** Get confirmation of the synchronisation from the user. */
    73 	ESmlConfirmSync,
    74 	/** Use the global user interaction type (only allowed for the profile setting) */
    75 	ESmlUseGlobalSetting,
    76 	};
    77 
    78 /**
    79 	Flags for synchronisation types.
    80 */
    81 enum TSmlSyncType
    82 	{
    83 	/** Two-way sync.
    84 	
    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.
    87 	*/
    88 	ESmlTwoWay,
    89 	/** One-way sync from server.
    90 	
    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. */
    93 	ESmlOneWayFromServer,
    94 	/** One-way sync from client.
    95 	
    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. */
    98 	ESmlOneWayFromClient,
    99 	/** Slow sync.
   100 	
   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. */
   103 	ESmlSlowSync,
   104 	/** Refresh sync from server.
   105 	
   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.
   110 	
   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,
   114 	};
   115 
   116 /**
   117 	Protocol types.
   118 */
   119 enum TSmlUsageType
   120 	{
   121 	/** Data synchronisation. */
   122 	ESmlDataSync,
   123 	/** Device management. */
   124 	ESmlDevMan,
   125 	};
   126 
   127 
   128 /**
   129 	Protocol versions.
   130 */
   131 enum TSmlProtocolVersion
   132 	{
   133 	/** Version 1.1.2 */
   134 	ESmlVersion1_1_2,
   135 	/** Version 1.2 */
   136 	ESmlVersion1_2,
   137 	};
   138 
   139 
   140 /**
   141 	Transport capabilities.
   142 */
   143 enum TSmlTransportCap
   144 	{
   145 	/** Transport can listen for incoming connections. */
   146 	ESmlCapCanListen,
   147 	/** Transport can make outgoing connections. */
   148 	ESmlCapCanConnect,
   149 	};
   150 
   151 /**
   152 	Flags specifying how background synchronisation results are displayed to the user.
   153 */
   154 enum TSmlDisplayResult
   155 	{
   156 	/** Do not display results. */
   157 	ESmlDisplayNoResults,
   158 	/** Display all results. */
   159 	ESmlDisplayAllResults,
   160 	/** Display errors only. */
   161 	ESmlDisplayErrorsOnly,
   162 	};
   163 
   164 /**
   165 	Flags specifying how background synchronisation progress is displayed to the user.
   166 */
   167 enum TSmlDisplayProgress
   168 	{
   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,
   175 	};
   176 
   177 /**
   178 	Global settings supported by the RSyncMLSettings class.
   179 	@see RSyncMLSettings
   180 */
   181 enum TSmlGlobalSetting
   182 	{
   183 	/**
   184 		Specifies how users are notified of synchronisations completing.
   185 		Value is one of TSmlDisplayResult.
   186 	*/
   187 	ESmlSettingDisplayBgResult,
   188 	/**
   189 		Specifies whether progress should be displayed in a notifier.
   190 		Value is one of TSmlDisplayProgress.
   191 	*/
   192 	ESmlSettingDisplayBgProgress,
   193 	/**
   194 		Specifies the default action to take in response to a server alert.
   195 		Value is one of TSmlServerAlertedAction.
   196 	*/
   197 	ESmlSettingDefaultSAAction,
   198 	};
   199 
   200 #endif // __SYNCMLDEF_H__