epoc32/include/mw/aiwcommon.hrh
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
williamr@2
     1
/*
williamr@2
     2
* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     3
* All rights reserved.
williamr@2
     4
* This component and the accompanying materials are made available
williamr@4
     5
* under the terms of "Eclipse Public License v1.0"
williamr@2
     6
* which accompanies this distribution, and is available
williamr@4
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
williamr@2
     8
*
williamr@2
     9
* Initial Contributors:
williamr@2
    10
* Nokia Corporation - initial contribution.
williamr@2
    11
*
williamr@2
    12
* Contributors:
williamr@2
    13
*
williamr@2
    14
* Description:     Declares common constants to be used in both resources and
williamr@2
    15
*                C++ code of consumers and providers.
williamr@2
    16
*
williamr@2
    17
*/
williamr@2
    18
williamr@2
    19
williamr@2
    20
williamr@2
    21
williamr@2
    22
williamr@2
    23
#ifndef AIW_COMMON_HRH
williamr@2
    24
#define AIW_COMMON_HRH
williamr@2
    25
williamr@2
    26
// DATA TYPES
williamr@2
    27
williamr@2
    28
// CONSTANTS
williamr@2
    29
williamr@2
    30
/**
williamr@2
    31
* Predefined service commands (UIDs).
williamr@2
    32
*/
williamr@2
    33
enum TAiwServiceCommands
williamr@2
    34
    {
williamr@2
    35
    /** Null value. */
williamr@2
    36
    KAiwCmdNone = 0,
williamr@2
    37
williamr@2
    38
    /** Create new content. */
williamr@2
    39
    KAiwCmdNew = 0x101F864C,
williamr@2
    40
        
williamr@2
    41
    /** Edit existing content. */
williamr@2
    42
    KAiwCmdEdit = 0x101F864D,
williamr@2
    43
        
williamr@2
    44
    /** Select content. */
williamr@2
    45
    KAiwCmdSelect = 0x101F864E,
williamr@2
    46
    
williamr@2
    47
    /** View content. */
williamr@2
    48
    KAiwCmdView = 0x101F864F,
williamr@2
    49
williamr@2
    50
    /** Create call. */
williamr@2
    51
    KAiwCmdCall = 0x101F86B0,
williamr@2
    52
williamr@2
    53
    /** Send content. */
williamr@2
    54
    KAiwCmdSend = 0x101F86B3,
williamr@2
    55
williamr@2
    56
    /** Print content. */
williamr@2
    57
    KAiwCmdPrint = 0x101F8666,
williamr@2
    58
williamr@2
    59
    /** Assign content. */
williamr@2
    60
    KAiwCmdAssign = 0x101F8716,
williamr@2
    61
williamr@2
    62
    /** Share content. */
williamr@2
    63
    KAiwCmdShare = 0x101F871E,
williamr@2
    64
williamr@2
    65
    /** Synchronize content. */
williamr@2
    66
    KAiwCmdSynchronize = 0x101F8724,
williamr@2
    67
williamr@2
    68
    /** Synchronize selected. */
williamr@2
    69
    KAiwCmdSynchronizeSelected = 0x1020720C,
williamr@2
    70
williamr@2
    71
    /** Search content. */
williamr@2
    72
    KAiwCmdSearch = 0x101F87DF,
williamr@2
    73
williamr@2
    74
    /** Copy content. */
williamr@2
    75
    KAiwCmdCopy = 0x101F87DE,
williamr@2
    76
williamr@2
    77
    /** Show print preview. */
williamr@2
    78
    KAiwCmdPrintPreview = 0x101FD656,
williamr@2
    79
    
williamr@2
    80
    /** Push to talk. */
williamr@2
    81
    KAiwCmdPoC = 0x101FD657,
williamr@2
    82
    
williamr@2
    83
    /** View content in online store. */
williamr@2
    84
    KAiwCmdViewOnline = 0x102072EA,
williamr@2
    85
    
williamr@2
    86
    /** Upload content. */
williamr@2
    87
    KAiwCmdUpload = 0x102072EB,
williamr@2
    88
    
williamr@2
    89
    /** Transfer a range of media files to a remote storage device. */
williamr@2
    90
    KAiwCmdXpressTransfer = 0x10207430,
williamr@2
    91
    
williamr@2
    92
    /** UPnP copy content. */
williamr@2
    93
    KAiwCmdUPnPCopy = 0x10207431,
williamr@2
    94
           
williamr@2
    95
    /** UPnP move content. */          
williamr@2
    96
    KAiwCmdUPnPMove = 0x10207432,
williamr@2
    97
williamr@2
    98
    /** UPnP play content. */
williamr@2
    99
    KAiwCmdUPnPPlay = 0x10207433,
williamr@2
   100
williamr@2
   101
    /** UPnP open content. */
williamr@2
   102
    KAiwCmdUPnPOpen = 0x10207434,
williamr@2
   103
    
williamr@2
   104
    /** UPnP enable external. */
williamr@2
   105
    KAiwCmdUPnPEnableExternal = 0x10207435,
williamr@2
   106
    
williamr@2
   107
    /** Show help content. */
williamr@2
   108
    KAiwCmdHelp = 0x10275075,
williamr@2
   109
    
williamr@2
   110
    /** Add or remove items from intent. (Should be used as a menu service command). */
williamr@2
   111
    KAiwCmdIntent = 0x10275114,
williamr@2
   112
    
williamr@2
   113
    /** Add items to intent. (Should be used as a base service command). */
williamr@2
   114
    KAiwCmdAddToIntent = 0x10275115,
williamr@2
   115
    
williamr@2
   116
    /** Remove items from intent. (Should be used as a base service command). */
williamr@2
   117
    KAiwCmdRemoveFromIntent = 0x10275116,
williamr@2
   118
    
williamr@2
   119
    /** Client can request that map should be displayed on screen. */ 
williamr@2
   120
    KAiwCmdMnShowMap = 0x10206904,
williamr@2
   121
    
williamr@2
   122
    /** Allows to start navigation to desired destination. */
williamr@2
   123
    KAiwCmdMnNavigateTo = 0x10206905,
williamr@2
   124
    
williamr@2
   125
    /** Starts reverse geocoding request: finding address for given coordinate. */
williamr@2
   126
    KAiwCmdMnAddrByCoord = 0x10206906,
williamr@2
   127
    
williamr@2
   128
    /** Starts geocoding request: finding coordinate by given address. */
williamr@2
   129
    KAiwCmdMnCoordByAddr = 0x10206907,    
williamr@2
   130
    
williamr@2
   131
    /** Allows client to request that user shall select a location from map. */
williamr@2
   132
    KAiwCmdMnSelectFromMap = 0x10206908,
williamr@2
   133
    
williamr@2
   134
    /** Send via Bluetooth. */
williamr@2
   135
    KAiwCmdSendViaBT = 0x10281894,   
williamr@2
   136
	
williamr@2
   137
    /** Send via Irda. */
williamr@2
   138
    KAiwCmdSendViaIR = 0x10281895,
williamr@2
   139
    
williamr@2
   140
    /** Enterprise telephony. */
williamr@2
   141
    KAiwCmdEnterpriseTel = 0x20001FC6,  
williamr@2
   142
williamr@2
   143
    /** Rotate image etc. */
williamr@2
   144
    KAiwCmdRotate = 0x10281F96,
williamr@2
   145
    
williamr@2
   146
    /** Rotate device screen. */
williamr@2
   147
    KAiwCmdRotateScreen = 0x10281F97,
williamr@2
   148
    
williamr@2
   149
    /** Set call image. */
williamr@2
   150
    KAiwCmdCallImage = 0x1028245E,
williamr@2
   151
    
williamr@2
   152
    /** Give different objects to another device using Near Field Communications. */
williamr@2
   153
    KAiwCmdNFCGive = 0x1028245F,
williamr@2
   154
    
williamr@2
   155
    /** Start listening secondary bearer (e.g. Bluetooth) setup events via Near Field Communication. */
williamr@2
   156
    KAiwCmdNFCEasySetup = 0x2001FE32,
williamr@2
   157
    
williamr@2
   158
    /** SettingWizard Email view activation. */
williamr@2
   159
    KAiwCmdSettingWizardEmailView = 0x10281C95,
williamr@2
   160
    
williamr@2
   161
    /** In-device search. */
williamr@2
   162
    KAiwCmdContentSearch = 0x10282844,
williamr@2
   163
    
williamr@2
   164
	/** A special service command enabling consumer to attach for all relevant 
williamr@2
   165
	AIW services for a certain object. */
williamr@2
   166
	KAiwCmdAnyCmdForObject = 0x102823F1,
williamr@2
   167
	
williamr@2
   168
	/** To support VoIP settings provisioning with plugins **/
williamr@2
   169
	KAiwCmdEasyVoIPProvisioning = 0x10283099,
williamr@2
   170
	
williamr@2
   171
	/** Assign Screensaver*/
williamr@2
   172
    KAiwCmdAssignScreenSaver = 0x1028309A,      
williamr@2
   173
	
williamr@2
   174
	/*Location Trail*/ 
williamr@2
   175
	KAiwCmdLocationTrail=0x10282845
williamr@2
   176
/*<branchInfo originator="gronoff" since="08-04-18" category="new_feature" error=”none”>
williamr@2
   177
<pf_5250_OFF_CYCLE_SW_INT>
williamr@2
   178
</branchInfo>*/
williamr@2
   179
// BRANCH 08-04-18 : gronoff
williamr@2
   180
        ,
williamr@2
   181
	/** Converged service plugin and UI extension plugin*/
williamr@2
   182
	KAiwCmdCSCServicePlugins = 0x1020E56F,
williamr@4
   183
	KAiwCmdCSCUiExtensionPlugins = 0x10282EF7,
williamr@4
   184
	KAiwCmdSaveToCalendar = 0x2002A507
williamr@2
   185
// BRANCH_END 08-04-18 : gronoff
williamr@2
   186
    };
williamr@2
   187
williamr@2
   188
williamr@2
   189
// Service command strings. These strings are used in service provider's
williamr@2
   190
// opaque data field to specify what service command(s) the provider implements.
williamr@2
   191
williamr@2
   192
#define KAiwCmdNoneStr                    "00000000"
williamr@2
   193
#define KAiwCmdNewStr                     "101F864C"
williamr@2
   194
#define KAiwCmdEditStr                    "101F864D"
williamr@2
   195
#define KAiwCmdSelectStr                  "101F864E"
williamr@2
   196
#define KAiwCmdViewStr                    "101F864F"
williamr@2
   197
#define KAiwCmdPrintStr                   "101F8666"
williamr@2
   198
#define KAiwCmdCallStr                    "101F86B0"
williamr@2
   199
#define KAiwCmdSendStr                    "101F86B3"
williamr@2
   200
#define KAiwCmdAssignStr                  "101F8716"
williamr@2
   201
#define KAiwCmdShareStr                   "101F871E"
williamr@2
   202
#define KAiwCmdSynchronizeStr             "101F8724"
williamr@2
   203
#define KAiwCmdSearchStr                  "101F87DF"
williamr@2
   204
#define KAiwCmdCopy                       "101F87DE"
williamr@2
   205
#define KAiwCmdPrintPreviewStr            "101FD656"
williamr@2
   206
#define KAiwCmdPoCStr                     "101FD657" 
williamr@2
   207
#define KAiwCmdSynchronizeSelectedStr     "1020720C"
williamr@2
   208
#define KAiwCmdViewOnlineStr              "102072EA" 
williamr@2
   209
#define KAiwCmdUploadStr                  "102072EB"
williamr@2
   210
#define KAiwCmdXpressTransferStr          "10207430"
williamr@2
   211
#define KAiwCmdUPnPCopyStr                "10207431"
williamr@2
   212
#define KAiwCmdUPnPMoveStr                "10207432"
williamr@2
   213
#define KAiwCmdUPnPPlayStr                "10207433"
williamr@2
   214
#define KAiwCmdUPnPOpenStr                "10207434"
williamr@2
   215
#define KAiwCmdUPnPEnableExternalStr      "10207435"
williamr@2
   216
#define KAiwCmdHelpStr                    "10275075"
williamr@2
   217
#define KAiwCmdIntentStr                  "10275114"
williamr@2
   218
#define KAiwCmdAddToIntentStr             "10275115"
williamr@2
   219
#define KAiwCmdRemoveFromIntentStr        "10275116"
williamr@2
   220
#define KAiwCmdMnShowMapStr               "10206904"
williamr@2
   221
#define KAiwCmdMnNavigateToStr            "10206905"
williamr@2
   222
#define KAiwCmdMnAddrByCoordStr           "10206906"
williamr@2
   223
#define KAiwCmdMnCoordByAddrStr           "10206907"
williamr@2
   224
#define KAiwCmdMnSelectFromMapStr         "10206908"
williamr@2
   225
#define KAiwCmdSendViaBTStr               "10281894"
williamr@2
   226
#define KAiwCmdSendViaIRStr               "10281895"
williamr@2
   227
#define KAiwCmdEnterpriseTelStr           "20001FC6"
williamr@2
   228
#define KAiwCmdRotateStr                  "10281F96"
williamr@2
   229
#define KAiwCmdRotateScreenStr            "10281F97"
williamr@2
   230
#define KAiwCmdCallImageStr               "1028245E"
williamr@2
   231
#define KAiwCmdNFCGiveStr                 "1028245F"
williamr@2
   232
#define KAiwCmdNFCEasySetupStr            "2001FE32"
williamr@2
   233
#define KAiwCmdSettingWizardEmailViewStr  "10281C95"
williamr@2
   234
#define KAiwCmdContentSearchStr           "10282844"
williamr@2
   235
#define KAiwCmdAnyCmdForObjectStr         "102823F1"
williamr@2
   236
#define KAiwCmdEasyVoIPProvisioningStr    "10283099"
williamr@2
   237
#define KAiwCmdAssignScreenSaverStr       "1028309A"
williamr@2
   238
#define KAiwCmdLocationTrail              "10282845"
williamr@2
   239
/*<branchInfo originator="gronoff" since="08-04-18" category="new_feature" error=”none”>
williamr@2
   240
<pf_5250_OFF_CYCLE_SW_INT>
williamr@2
   241
</branchInfo>*/
williamr@2
   242
// BRANCH 08-04-18 : gronoff
williamr@2
   243
#define	KAiwCmdCSCServicePluginsStr  	  "1020E56F"
williamr@4
   244
#define	KAiwCmdCSCUiExtensionPluginsStr   "10282EF7"
williamr@4
   245
#define KAiwCmdSaveToCalendarStr          "2002A507"
williamr@2
   246
// BRANCH_END 08-04-18 : gronoff
williamr@2
   247
williamr@2
   248
/**
williamr@2
   249
* Service command options (bits) to alter command handling behaviour.
williamr@2
   250
*/
williamr@2
   251
enum TAiwServiceCmdOptions
williamr@2
   252
    {
williamr@2
   253
    /**
williamr@2
   254
    * Consumer wants asynchronous command handling.
williamr@2
   255
    * The default is synchronous command handling.
williamr@2
   256
    * In asynchronous case consumer needs to pass a callback to provider.
williamr@2
   257
    */
williamr@2
   258
    KAiwOptASyncronous = 0x0001,
williamr@2
   259
williamr@2
   260
    /**
williamr@2
   261
    * Consumer wants provider to make a callback to check coming output
williamr@2
   262
    * parameters prior returning from service command handling.
williamr@2
   263
    * Consumer needs to pass a callback to provider.
williamr@2
   264
    */
williamr@2
   265
    KAiwOptOutParamCheck = 0x0002,
williamr@2
   266
williamr@2
   267
    /**
williamr@2
   268
    * Consumer tells provider that it is prepared to handle
williamr@2
   269
    * callback events for possibly incomplete/wrong parameter list. 
williamr@2
   270
    */
williamr@2
   271
    KAiwOptInParamCheck = 0x0004,
williamr@2
   272
    
williamr@2
   273
    /**
williamr@2
   274
    * Consumer wants to cancel an asynchronous AIW service. 
williamr@2
   275
    * When a consumer wants to cancel the asynchronous service that a provider
williamr@2
   276
    * is executing, it should call ExecuteMenuCmdL() or ExecuteServiceCmdL() 
williamr@2
   277
    * with the same parameters as when requesting the service, but set this 
williamr@2
   278
    * cancel bit on. The cancel operation itself is synchronous, i.e. the 
williamr@2
   279
    * provider must call the consumer's callback with KAiwEventCanceled before 
williamr@2
   280
    * the Execute*CmdL() returns.
williamr@2
   281
    */
williamr@2
   282
    KAiwOptCancel = 0x0008
williamr@2
   283
    };
williamr@2
   284
williamr@2
   285
williamr@2
   286
/**
williamr@2
   287
* Service classes (UID). Technically these are same as service interface UIDs.
williamr@2
   288
*/
williamr@2
   289
enum TAiwServiceClass
williamr@2
   290
    {
williamr@2
   291
    /** 
williamr@2
   292
    * None. 
williamr@2
   293
    */
williamr@2
   294
    KAiwClassNone = 0x0,
williamr@2
   295
williamr@2
   296
    /**
williamr@2
   297
    * Base service (no UI expected). 
williamr@2
   298
    * Every other class must implement this always!
williamr@2
   299
    */
williamr@2
   300
    KAiwClassBase = 0x101F8650,
williamr@2
   301
williamr@2
   302
    /** 
williamr@2
   303
    * Filter service class. 
williamr@2
   304
    */
williamr@2
   305
    KAiwClassFilter = 0x101F8651,
williamr@2
   306
williamr@2
   307
    /** 
williamr@2
   308
    * Menu service class (offers menu based services).
williamr@2
   309
    */
williamr@2
   310
    KAiwClassMenu = 0x101F8652,
williamr@2
   311
williamr@2
   312
    /** 
williamr@2
   313
    * Stub service class.
williamr@2
   314
    */
williamr@2
   315
    KAiwClassStub = 0x101F8653,
williamr@2
   316
       
williamr@2
   317
    /** 
williamr@2
   318
    * View service class (offers view based services).
williamr@2
   319
    */
williamr@2
   320
    KAiwClassView = 0x101F8654,
williamr@2
   321
williamr@2
   322
    /** 
williamr@2
   323
    * This class is for R&D purposes.  
williamr@2
   324
    */
williamr@2
   325
    KAiwClassDebug = 0x101F866B
williamr@2
   326
    };
williamr@2
   327
williamr@2
   328
williamr@2
   329
/**
williamr@2
   330
* Event codes. To be used with HandleNotifyL method.
williamr@2
   331
*/
williamr@2
   332
enum
williamr@2
   333
    {
williamr@2
   334
    /**
williamr@2
   335
    * Asynchronous service informs consumer to prepare itself for 
williamr@2
   336
    * action. 
williamr@2
   337
    */
williamr@2
   338
    KAiwEventStarted = 1,
williamr@2
   339
williamr@2
   340
    /**
williamr@2
   341
    * Asynchronous service request completed.
williamr@2
   342
    */
williamr@2
   343
    KAiwEventCompleted = 2,
williamr@2
   344
williamr@2
   345
    /**
williamr@2
   346
    * Asynchronous service request canceled.
williamr@2
   347
    */
williamr@2
   348
    KAiwEventCanceled = 3,
williamr@2
   349
    
williamr@2
   350
    /**
williamr@2
   351
    * Error during asynchronous service request.
williamr@2
   352
    */
williamr@2
   353
    KAiwEventError = 4,
williamr@2
   354
    
williamr@2
   355
    /**
williamr@2
   356
    * Relates to KAiwOptOutParamCheck.
williamr@2
   357
    */
williamr@2
   358
    KAiwEventOutParamCheck = 5,
williamr@2
   359
    
williamr@2
   360
    /**
williamr@2
   361
    * Relates to KAiwOptInParamCheck.
williamr@2
   362
    */
williamr@2
   363
    KAiwEventInParamCheck = 6,
williamr@2
   364
    
williamr@2
   365
    /**
williamr@2
   366
    * Provider informs consumer that service is no longer available or 
williamr@2
   367
    * has stopped.
williamr@2
   368
    */
williamr@2
   369
    KAiwEventStopped = 7,
williamr@2
   370
    
williamr@2
   371
    /**
williamr@2
   372
    * Provider asks consumer whether Exit can be done (needed at least in 
williamr@2
   373
    * embedded use cases where server application offers Exit possibility 
williamr@2
   374
    * to end user, but consumer can not allow Exit due to fact that for
williamr@2
   375
    * example network connections owned by consumer are open and they need 
williamr@2
   376
    * to be kept alive).    
williamr@2
   377
    */
williamr@2
   378
    KAiwEventQueryExit = 8
williamr@2
   379
    };
williamr@2
   380
    
williamr@2
   381
// ============================================================================
williamr@2
   382
// Menu item flags for AIW consumers.   
williamr@2
   383
// ============================================================================ 
williamr@2
   384
/** 
williamr@2
   385
 * Always keep the provider menu items in a submenu. 
williamr@2
   386
 */
williamr@2
   387
#define AIW_CASCADE_ID               0x01010001
williamr@2
   388
williamr@2
   389
/** 
williamr@2
   390
 * Menu item is placed intelligently either to the main level or a submenu. 
williamr@2
   391
 */
williamr@2
   392
#define AIW_INTELLIGENT_CASCADE_ID   0x01010010
williamr@2
   393
williamr@2
   394
/** 
williamr@2
   395
 * Consumer defines the menu title. 
williamr@2
   396
 */
williamr@2
   397
#define AIW_LOCK_SUBMENU_TITLE       0x00000020
williamr@2
   398
williamr@2
   399
// ============================================================================
williamr@2
   400
// Criteria item flags for AIW consumers.    
williamr@2
   401
// ============================================================================
williamr@2
   402
/** 
williamr@2
   403
 * Criteria item loadOptions bit, only providers in ROM are accepted. 
williamr@2
   404
 */
williamr@2
   405
#define AIW_OPTIONS_ROM_ONLY         0x01
williamr@2
   406
williamr@2
   407
// ============================================================================
williamr@2
   408
// Menu item flags for AIW providers.
williamr@2
   409
// ============================================================================
williamr@2
   410
/** 
williamr@2
   411
 * For providers only: Provider suggests the submenu title. 
williamr@2
   412
 */
williamr@2
   413
#define AIW_SUBMENU_TITLE            0x0ff11012
williamr@2
   414
williamr@2
   415
#endif // AIW_COMMON_HRH
williamr@2
   416
williamr@2
   417
// End of file
williamr@2
   418
williamr@2
   419